サイバーエージェントでは、2013年2月に新たなプライベートクラウドを構築し、サービス提供基盤として活用し始めています。そこで、このプロジェクトに関わったメンバーに、プライベートクラウド環境の具体的な内容についてお話を伺いました。
写真1 ( 左奥から)村越氏、前田氏、劉氏、長谷部氏、( 左手前から)坂本氏、奈良氏
運用の自動化を目指してプライベートクラウドを構築
現在、注目を集めているオープンソースプロダクトの1つとして挙げられるのが「OpenStack」です。いわゆるIaaS(Infrastructure as a Service)環境を構築するためのソフトウェアであり、Rackspace CloudとNASAによって開発が始められ、現在はAMDやIntel、Red Hatなど数多くの企業が開発に参加しています。
サイバーエージェントでは、このOpenStackを利用してプライベートクラウド環境を構築、現在では約230台の物理サーバの上で2,300台超の仮想サーバが本番環境として実行されています。ただ奈良氏は、自分たちのニーズにマッチしない部分が出てきたことから、OpenStackから自社開発へ切り替えたと話します。
「サイバーエージェントでは、この2月に新たなプライベートクラウド環境を構築しました。もともとはOpenStackを使うことを前提に設計していましたが、どうしても自分たちのコンセプトに合わない部分が出てきてしまったわけです。そこで『Clover』というソフトウェアを独自に開発しました。コンセプトというのは“ 運用の自動化” で、たとえば物理や仮想にかかわらず、サーバの構築を自動化するといったことを目的にしていたんです。OpenStackでは、こうしたコンセプトにマッチしない部分がありました。そこで、思い切ってOpenStackを使わないと決断し、それ以前から開発を進めていたCloverに切り替えることにしたという経緯があります(奈良氏) 」
図1 サイバーエージェントの新しいプライベートクラウドに使われている「Clover」
ただ、その決断を下したのは新プライベートクラウドをカットオーバーするわずか半年前でした。しかも、新しく開発するプライベートクラウド環境は、サイバーエージェントのビジネスを支える土台であることを考えると、大きな賭けであったのは間違いないでしょう。Cloverの開発に携わった長谷部氏は、当時を次のように振り返ります。
「Cloverで行けるのか、というのは周りからも心配されましたね。社内の中からも『本当に大丈夫なのか』といったことをかなり言われました。ただ、奈良や坂本が将来的なことを考えてCloverを使っていきたいという話をしてくれて、それで理解が得られた部分が大きいと思います(長谷部氏) 」
ITインフラの課題をソフトウェアで解決
この新しいプライベートクラウド環境では、サーバ構築の申請などを受け付ける「CATOMS(CyberAgent TOtal Management System) 」や、サーバ環境の死活監視やパフォーマンス監視、データセンター内のサーバやネットワーク機器を可視化するためのツールなどを独自に開発し、実際の運用の中で活用しています。
図2 サーバの構築申請などを受け付けるための「CATOMS」 。Cloverと連携し、申請からサーバ構築までの処理を自動化した
当然ですが、独自開発には自社の環境に最適なものを作れるというメリットがある一方、多くの時間や労力、そして高いスキルが必要となります。このため、一般的には既存のツールをカスタマイズしたり、あるいはIT環境そのものをツールに合わせたりしていくことが多いでしょう。それに対してサイバーエージェントでは、既存のツールに満足せず、“ 運用の自動化” という大きな目標に向け、自社のプライベートクラウドに最適なツールを自ら開発しているというわけです。こうした姿勢は、坂本氏の次の言葉にも強く表れていると言えるでしょう。
「このチームは、サービスを提供する環境をソフトウェアで何とかしているようなエンジニアにみんながなれたらいいなと。“ 運用の自動化” を進めるうえでは、物理障害がネックになります。ハードウェアは故障するものですし、その機器の障害を許容したシステムを構築するためにソフトウェアで解決していきたいと考えています(坂本氏) 」
後編では、新しいプライベートクラウドの中核となっているCloverについて詳しくお話を伺っていきたいと思います。
サイバーエージェント公式エンジニアブログ
URL:http://ameblo.jp/principia-ca
エンジニアの生の声を週替わりでお届け中!