IaaS(Infrastructure as a Service)環境を構築するためのソフトウェアの1つとして注目を集めているのが、オープンソースで開発が進められている「OpenStack」です。サイバーエージェントでは、このOpenStackやVMware vSphere ESXiなどを利用してプライベートクラウドを構築/運用しています。
ここでは前編に引き続き、同社におけるプライベートクラウド構築プロジェクトについて、アメーバ事業本部 プラットフォームディヴィジョンの前田拓氏と坂本佳久氏、そして前田耕平氏に伺っていきます。
OpenStackを使ってプライベートクラウドを構築
NASA(米国航空宇宙局)とRackspaceから提供された技術をベースに、IaaS環境構築のためのソフトウェアとしてオープンソースで開発が進められているのが「OpenStack」です。サイバーエージェントでは、このOpenStackを使ったプライベートクラウドの構築プロジェクトを推進中です。
ただ、このプロジェクトに携わる1人である前田拓氏は、現状におけるOpenStackの完成度はけっして高くないと指摘します。
「たとえば、GUIなどはけっして使い勝手が良いとは言えません。また、1台の仮想マシンに複数のNICを接続するマルチNICが現状ではサポートされていないことも難点です。物理サーバを使ってサービスを提供する場合、外部接続用のNICと内部のLANに接続するためのNICを分けて運用することが珍しくありませんが、現状のOpenStackでは同じ環境を構築できないわけです。そのため、ネットワーク側で工夫して既存の環境にすり合わせるなどといったしかけが必要な部分があります」( 前田拓氏)
それでもOpenStackを採用したのは、ロードマップの魅力と開発スピードの速さだと言います。
「CactusからDiabloにバージョンが上がったときに追加でユーザ認証のしくみが組み込まれたり、次のバージョンではバーチャルスイッチが追加されたりと、着実にOpenStackは進歩しています。また、多くの企業がOpenStackに本格的に取り組んでいることもあり、選定したときは『もう、これしかない』という感じでした」( 前田拓氏)
坂本佳久氏、前田拓氏、前田耕平氏
プライベートクラウドの構築でインフラ運用の手間を削減
仮想化技術を使ったプライベートクラウドの構築では、複数のサーバを1台の物理サーバに集約できることがメリットとして挙げられます。この集約率を高められれば、コスト削減という大きなメリットが生まれます。この集約率について伺ったところ、「 1台の物理サーバ上で20台くらい」( 前田耕平氏)の仮想サーバが動作しているとのこと。基本的には搭載しているメモリ容量に依存するとのことですが、開発環境であれば物理メモリ容量以上に仮想サーバにメモリを割り当てても、それほど問題にはならないと言います。
最後に、プライベートクラウドの構築におけるこれからの目標について伺いました。まず、坂本氏はセルフサービス化に向けた取り組みの強化を挙げます。
「我々のチームには、どれだけデータセンターに行かずに必要なサーバを構築できるか、というミッションがあります。今回のプライベートクラウドの構築で仮想環境が整ったので、これを軸に、エンジニアがデータセンターに出向かずに必要なサーバを構築できる環境を整えたいですね」( 坂本氏)
前田拓氏からは、サーバ構築の手間の削減が重要だというお話が出ました。
「サーバの構築からミドルウェアのセットアップまで、できるだけ自動化できるような環境を整えていきたいと考えています。実際、数十台、あるいは数百台のサーバを一気に構築するといったことがあるのですが、そうした作業にかかる労力をできる限り削減することが目標です」( 前田拓氏)
前田耕平氏が挙げたのは、サーバ構成などのドキュメント作成の省力化です。
「サイバーエージェントでは毎月新しい人材が入社していることもあり、プライベートクラウド上のサーバ構成などをドキュメント化していつでも参照できるようにしておく必要があると考えています。ただ、ドキュメントの作成には手間がかかるので、それを省力化する方法を考えていきたいですね」( 前田耕平氏)
インターネット上でサービスを提供するインフラとして、IaaSはもはや欠かせない存在となっています。ただ、パブリッククラウドでは経済性や運用の柔軟性、セキュリティが問題となるケースが少なくありません。その意味で、独自のプライベートクラウドの構築に乗り出したサイバーエージェントの取り組みは注目に値するでしょう。
サイバーエージェント公式エンジニアブログ
URL:http://ameblo.jp/principia-ca
エンジニアの生の声を週替わりでお届け中!