このページの本文へ

災害と停電を乗り越えるためのホスティング活用術 第6回

エッジ立ちまくり!ファーストサーバのハイパフォーマンスクラウド

「正直不安だらけ」から始まった?Z Cloud誕生への道

2011年12月08日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp 写真●曽根田元

  • この記事をはてなブックマークに追加
  • 本文印刷

2011年10月にファーストサーバが国内投入した「Z Cloud」は、ノンブロッキングI/Oを前提に性能を最優先させるというかなりエッジの立ったクラウドサービスだ。クラウドエンジンの開発元である米ジョイエントとの関係や侃々諤々だったという仕様策定まで、ファーストサーバの担当者に聞いた。

トップ同士での意気投合がきっかけだったJoyent採用

 Z Cloudは、世界最速を謳う米ジョイエントのクラウドエンジンを採用したIaaS型サービス。SmartDataCenterと呼ばれるこのクラウドエンジンは、SmartOSというOpenSolarisベースのOSをベースに、アプリケーションの性能を最大に引き出し、バースト的な大量アクセスに耐えうるインフラを提供する。サービスプロバイダーやコマース事業者、ゲーム事業者など、ある意味玄人向けのサービスといえる。

 こうしたサービスをファーストサーバが提供するようになった背景として、数年後のWebの世界を考えた社内でのディスカッションがあったという。ファーストサーバ 企画・マーケティング部 部長の村竹昌人氏は、「スマートフォンは今後も爆発的に増えるでしょうし、WebSocketやHTML5が普及すると、セッション数が大幅に増加するので、今までのWebでは課題も多い。今までのホスティングだけではなく、やはりクラウドを提供する必要があると思いました」と話す。

 とはいえ、兄弟会社が提供しているIDCフロンティアの「NOAH」のように、価格とハイパーバイザーの種類で選ぶIaaSとはややイメージが違う。また、同社のオープンソースのエンジニアを活かそうとするなら、Xenを選択することになるが、これで果たして差別化できるのか? という疑問もあった。いっそのこと差別化しにくいIaaSはあきらめて、PaaSの提供や、SaaS市場を作ろうといった構想も持ち上がったという。

 こういった「迷走」の中、ちょうど1年前にファーストサーバ代表取締役の磯部眞人氏が米国のクラウド関連イベントで出会ったのが、Joyentだという。米ジョイエントはAmazon EC2に対抗するクラウドサービスを展開する事業者で、サーバーサイドJavaScriptの有望株Node.jsの開発元でもある。Node.jsは、入出力が完了しないうちに他の処理を開始できるノンブロッキングI/Oを前提にした、高い処理能力を実現する。そして、このNode.jsのようなノンブロッキングI/Oに最適化すべく、インフラレベルで高い処理能力を実現しようというのが、Joyentのクラウドサービスといえる。同社の話を聞いた磯部氏は、Joyentをいたく気に入り、日本での展開を検討することになった。

インフラ構築もオートスケールもこんなにギャップがあった

 磯部氏が持ち帰ってきたJoyentのサービスを社内で議論したところ、先の社内ディスカッションで描いたWebの将来像と見事に合致したという。スマートフォン対応しかり、バーストトラフィック対応しかり、HTML5への対応しかりだ。しかし、商用サービスとして展開しようとなると、海の向こうの製品をいきなり導入するのに大きな抵抗があったという。

 開発・運用部 技術グループの藤原一泰氏は、「きっかけがトップ同士の意気投合だったので、現場のわれわれとしては正直不安だらけでした。実際、Joyentのエンジンと今使っているParalellsなどの製品を比較すると、必ずしもよい結果ではなかったんです」と述べる。村竹氏も、「未来の可能性という点では◎なんですけど、現場からするとJoyentは×なんです。その点、Joyent自体と研究開発で導入しようという部隊、そして現場のオペレーション部隊の間で、大きなギャップがありました」と、その前途多難ぶりを振り返った。

 藤原氏はこうしたギャップの例として、Joyentを動作させるためのインフラを例に挙げる。前述の通り、JoyentはフロントでNode.jsを動作させるノンブロッキングI/Oに最適化されたインフラを提供するため、一般的なVMwareの仮想化インフラとは根本的に違う。「共有ストレージではなく、サーバー直結型の構成にしろと言われるし、ファイルシステムはZFSを使って、キャッシュを最大限に活用することを要求されます。ネットワーク機器に関しても、内部遅延が違うからアリスタネットワークスのスイッチを使えと名指しされました」(藤原氏)といった具合だ。

 また、オートスケールの考え方も大きく違った。Z Cloudは、トラフィックが増大すると、短時間にCPUリソースを割り当てる「CPUバースト」という機能を持っているが、一般的なクラウドは仮想マシンを逐一足していくのがオートスケールだ。「彼らはCPUバーストのように、処理を止めないスケールアップをオートスケールと呼ぶんです。これじゃないとクラウドじゃないくらい言います。ただ、これだと物理マシンの限界が来ますので、弊社が独自に仮想マシンを追加するスケールアウト型のオートスケールも用意することにしました」(村竹氏)という。

 さらに、監視やモニタリングという点も大きなギャップがあった。Joyentにおいて1秒以下の精度で、かつリアルタイムで遅延を測定できる内部監視システム「DTrace」を用意している。藤原氏は、「彼らにとって見れば、CPUやメモリの使用量を見るのはナンセンスで、あくまでレスポンスだけが指標なんです。だからすべてをタイムで測れと言われました」とジョイエントの思想を説明した。ファーストサーバ側もこれを受け入れ、外部監視システム「Giraffi」を独自開発したという。

 一連のJoyentのインプリメンテーションは、従来のIaaSと大きく異なるため、とまどうことばかり。ここまで聞くともはや笑ってまうが、「最初は違和感だらけだったけど、アプリケーションを高速化するノンブロッキングの世界を実現するためのインフラとしては、きちんと一貫性があるなとも感じました」(藤原氏)という確信の元、ジョイエントの思想やガイドラインをきちんと解釈した上でサービス作りを進めていったという。そして、2011年3月末には採用が正式決定し、1時間8.1円~という価格やSmartOSとCentOSという2つのコースなどのサービス仕様を8月に確定。2011年10月にいよいよサービス開始という運びに至ったわけだ。

Node.jsのコミュニティから火をつける

 Z Cloudサービス開始からほぼ1ヶ月だったが、アーリーアダプターやギークな開発者を中心に、「意外と売れている」(村竹氏)とのこと。加入者が殺到という状態ではないが、価格勝負のコモディティ化されたサービスと差別化した点は功を奏したようだ。ただ、「Node.jsのコミュニティ界隈では、パフォーマンス最優先のZ Cloudは受けがいいんです。ですけど、一般企業の管理者に話すと、それってAmazonとどこが違うのと聞かれてしまうんです」(村竹氏)とのことで、汎用のIaaSとの差別化ポイントはなかなか訴求しにくいというのも事実だという。

 とはいえ、「ヤフーに登録されるとアクセス負荷が急激に大きくなり、コストも跳ね上がって困ったという新聞社さんに、Z Cloudを勧めたところ、とても気に入っていただきました」(ファーストサーバ 開発・運用部 技術グループ 奥田泰弘氏)というニーズもあり、一般企業でもアクセス負荷の急増に頭を悩ませているユーザーは対象になるという。たとえば、コマースのタイムセールやフラッシュマーケティング、ゲームなどのアクセス急増対策としてサイト内で入れ子で使うのが典型的になりそうだという。

 今後の予定としては、対応OSの拡大を進める。現状、Z CloudはSmartOS上の独自仮想マシンのほか、SmartOS上で動作するLinux on KVMをサポートしているが、今後はWindows Serverも対応する。また、年内には仮想アプライアンスのロードバランサーを追加するほか、来春には前述したオートスケールを提供し、ますます高いバーストトラフィック対応を実現するという。また、姉妹サービスとしてNode.jsの環境をPaaSとして提供する「Node Ninja」の準備も着々と進んでおり、来春の正式βサービスに向けて、準備を進めているとのこと。

 「当たり前に作っていたLAMP環境を捨て、ノンストップI/Oの世界に乗り出すと、明らかに違う世界が見えてきます」(藤原氏)とのことで、パフォーマンスや膨大なセッションに立ち向かうユーザーを支援したいというのがファーストサーバの要望。コモディティ化の進む、パブリッククラウドの市場で、どこまで存在感を示せるか、注目度の高いサービスといえるだろう。

■関連サイト

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード