サイバーエージェントを支える技術者たち

第48回 運用の自動化に向けてプライベートクラウドを構築

この記事を読むのに必要な時間:およそ 3 分

“自動化”をキーワードにプライベートクラウドを構築

サーバ運用の手間を軽減できる,必要なときに必要なだけサーバが使える,あるいは数日や数時間だけなど短期間でも利用可能など,パブリッククラウドにはさまざまなメリットがあります。その一方,トラブル対応が後手に回る恐れがある,仮想化のオーバーヘッドのために同じスペックでも物理環境と比べてパフォーマンスが劣るといった課題も無視できないでしょう。そのため,特に大規模なサービスを展開している事業者では,パブリッククラウドを利用せず,自社でサーバを保有し運用しているケースが少なくありません。

しかし,サーバ台数が多ければ必然的に運用の負担も増大するため,少しでもサーバ台数を減らし,運用業務を効率化したいと考えるのは当然でしょう。そこで,パブリッククラウドで培われた技術を応用し,自社独自のクラウド環境,つまりプライベートクラウドの構築にチャレンジする企業が増えつつあります。

アメーバピグなど人気サービスを多数擁するサイバーエージェントも,プライベートクラウドの構築に本格的に乗り出した一社です。同社ではもともと仮想化技術を使わず,物理サーバ上に直接OSをインストールした環境を多数使ってサービスを展開していましたが,並行してOpenStackを利用したプライベートクラウドも活用していました。

そして今回,サイバーエージェントではこれまでの運用上の課題を一掃する,大規模なプライベートクラウド環境を構築しました。そのねらいについて,奈良真治氏は次のように説明します。

写真1 奈良真治氏

写真1 奈良真治氏

「これまでサーバ環境の運用を人手でやってきましたが,もはやそれが回らなくなりつつあったんです。また,設計がそもそもつぎはぎの状態のため,メンテナンスコストも膨れあがっていましたし,障害時の対応といった課題もありました。つまり,運用がとにかく複雑になっていたわけで,それを解決することがプライベートクラウドを構築する目的でした。それで新しく契約したデータセンターにプライベートクラウド環境を構築しています。このプライベートクラウドのキーワードは『自動化』で,システム的な自動化はもちろん,運用面においても自動化を意識した結果,基本的にはデータセンターに行かなくてもサービスを運用できるようなしくみになりました」⁠奈良氏)

前述したように,サイバーエージェントでは開発環境の構築を目的としてすでにプライベートクラウドを構築しています。それとは何が違うのでしょうか。

写真2 坂本佳久氏

写真2 坂本佳久氏

「以前にやっていたのは,OpenStackを使って仮想環境を管理しつつ,物理環境については独自開発のツールを使ってリモートでOSやミドルウェアをインストールするというものでした。ただ今回は,物理環境と仮想環境を区別することなく管理できるしくみを盛り込んでいるのが大きな違いです」⁠坂本佳久氏)

新しいデータセンターでは,やはり運用の自動化が大きなポイントになっていたようです。

写真3 前田耕平氏

写真3 前田耕平氏

「新しいデータセンターでは,物理環境についてもラッキング以外の作業はすべてリモートでできるので,実際に行ったのは見学会のときだけなんです」⁠前田耕平氏)

独自に開発した「Clover」でプライベートクラウドを構築

新プライベートクラウド構築プロジェクトが始まった当初は,もともと使っていたOpenStackを中心としたシステムで検討が進められました。しかし,運用の自動化という大きなコンセプトに対し,OpenStackではマッチしない部分があったと長谷部光治氏は説明します。

写真4 長谷部光治氏

写真4 長谷部光治氏

「OpenStack自体,どちらかというとパブリッククラウドを意識して作られている印象なんですね。今回プライベートクラウドを作っていくという中で,OpenStackではどうしても運用部分などにおいて我々の業務をOpenStackに合わせざるを得ない部分があったり,OpenStackのコードを修正して自分たちの業務に合わせたりする部分があったんです。それであれば,要件に合ったものをしっかり作り込んだほうがいいのではないかという結論に落ち着いたわけです。ただ簡単に決まったわけではなく,OpenStackを使うべきか,独自に開発すべきかでかなり議論が行われたのですが,半年ぐらい前に,独自開発を進めていた『Clover』というソフトウェアを使うという方向に思い切って舵を切ったというわけです」⁠長谷部氏)

Cloverはそれ以前から開発が進められていたため,純粋に半年間で開発されたというわけではありませんが,サイバーエージェントのビジネスの根底を支えるものであることを考えると,大胆な決断だったと言えるのではないでしょうか。ただ,開発期間が短かっただけに,これから改良していくべき部分もあると長谷部氏は話を続けます。

「特にユーザインターフェースの部分ですね。物理的に時間がないという状況だったので,どうしても機能的な部分に注力せざるを得なかったのです。そのため,見た目や使い勝手といったユーザインターフェースの部分が後回しになってしまいました。そこをどんどん改善していくべく,現在は鋭意開発中です」⁠長谷部氏)

なお,サイバーエージェントの新プライベートクラウドでは,このCloverに加えて「CATOMS」CyberAgent TOtal Management Systemと呼ばれるツールも開発しています。これは運用管理におけるポータルとして利用するために開発したとのこと。サーバが必要になったとき,従来はメールやSkypeで個別に申請が行われていました。それを一元管理するために開発されたのがCATOMSであり,これによって申請を一元管理し,さらにAPIでCloverと連携し,ラックに搭載されているサーバの情報の自動更新,閲覧,利用されているIPアドレスの管理の自動化といったことが実現されています。

写真5 劉春来氏

写真5 劉春来氏

さらに,Cloverは監視システムとの連携も図られています。この監視システムを開発したのは劉春来氏で,⁠死活監視と各仮想インスタンスのパフォーマンス監視を,エージェントレスで実現しています」と言います。サーバ仮想化のメリットとして,サーバリソースの有効活用によって物理的なサーバ台数が減り,これによってハードウェアの運用負荷を軽減できることが挙げられます。ただ見方を変えれば,物理サーバが仮想サーバに変わっただけで,管理すべきサーバの数自体は変わりません。そこで運用の効率化,あるいは奈良氏の話す運用の自動化を目指していくうえで,このような監視ツールとの連携は欠かせないということでしょう。

著者プロフィール

川添貴生(かわぞえたかお)

株式会社インサイトイメージ代表取締役。企業サイトの構築及び運用支援のほか、エンタープライズ領域を中心に執筆活動を展開している。

メール:mail@insightimage.jp

コメント

コメントの記入