マイクロソフトのクラウドOS「Windows Azure」。認知度は高まっているとはいえ、まだまだ実際にそれを使っている開発者は多くない。「Windows Azure」はどのような特徴を持ち、どんな場面に使うとメリットが出るのか。Web系で良く使われるオープンソースへの対応はどうなっているのか。Windows Azureエバンジェリストの砂金信一郎氏と佐藤直生氏は実際にデモを交えて紹介するとともに、マイクロソフトのオープン戦略について語った。
Windows Azureは従来のマイクロソフト製品とは違う
「今日のセッションを聞いてマイクロソフトはオープンソースと仲良くしていることと、Node.jsに本気らしい、という2点を持ち帰って貰えたらうれしい」
マイクロソフトのクラウド・プラットフォーム「Windows Azure」の啓蒙活動を行っている砂金信一郎氏と佐藤直生氏のセッションは、こんな印象的な言葉とともに始まった。砂金氏は3年、佐藤氏は1年半とともにマイクロソフトでの勤務歴は短く、共にオラクルからの転身組だ。そんな「マイクロソフトらしくない2人がマイクロソフトらしくない」(砂金氏)という「Windows Azure」。その理由は冒頭の言葉にあることに加え、同技術を分かりやすく解説するため公開しているWebコミックも関係する。その主人公にはクラウディア窓辺という萌え系キャラを用いているのだ。実は砂金氏はこの取り組みのプロデューサーも務めているのだ。
そういった分かりやすい取り組みの成果か、「Windows Azure」の認知度は高い。しかし「実際にアカウントを取得して使っている人」とセッション参加者に尋ねたところ、手を上げた人はそれほど多くはなかった。
まず「Windows Azure」とは何か。砂金氏は「マイクロソフトが非常に大きな投資をして展開しているグローバル・クラウドだ」と説明する。その勢いはAmazon Web Services(AWS)やGoogle App Engineなどにも劣らない。毎月10万台のペースでインフラを増強。全世界で6か所以上の場所にデータセンターを構えている。もちろんISO27001やSAS70は取得。エンタープライズの顧客が多いため、「1時間あたり約10円で使えるサービスになっている。一定負荷で継続的に利用するサービスより、一時的に負荷がかかるキャンペーン・サイトや、短期的に使うシステムにはクラウド・サービスは価値があるので、適材適所を考えて使ってほしい」と砂金氏は語る。
パブリック・クラウドサービスの雄、Amazon Web Services(AWS)との最大の違いは、「PaaSという一言に尽きる」と砂金氏。つまりOSや仮想化技術を自社で持つことから、運用の管理レベルがAWSとは大きく異なるという。Windows Azureの場合、開発者はインフラを何ら気にすることなく、プログラムづくりに集中できる。「そこが大きな違いだ」(砂金氏)
すでに様々なサービスでWindows Azureが使われているという。まず砂金氏が紹介したのは、「sociobridge」。これは電通との協業で展開するFacebook向けのCMS(コンテンツ管理システム)である。Facebookへの投稿の監視やページ作成などを簡単かつ効率的にする機能を提供する。低コストでの運用を実現するため、マルチテナント・アーキテクチャを採用しているという。
次に砂金氏が紹介したのは日本のネット業界最大のクリスマスイベント「mixi Xmas 2011」である。これは毎日、マイミクのベルを鳴らすとポイントがもらえてプレゼントがゲットできるというもの。登録ユーザー数は約250万人で、デイリーのアクティブ・ユーザー数は約110万人。鳴らされたベルの回数は1.8億回にも上ったという。
「イベントは大成功を収めた。今回の実装技術、ASP.NET MVC3は開発生産性も高く、運用上も何も問題がなかったことから、大規模ソーシャル・アプリの開発にも使えるという収穫も得られた。しかしその裏側にはマルチ・デバイス対応や10秒ルールとの戦いなど大変なことが一杯あった」と砂金氏は明かす。
まずはマルチ・デバイス対応である。同イベントの登録ユーザーの端末はPC、フィーチャーフォン、スマートフォンの3種類。それらのユーザーが満足できるサービスを、約1か月という短期間で作らねばならず、ある程度の共通化を前提としていた当初想定より大きくふくれた。開発スケジュールが遅れたこともあって、サービス開始当初はパフォーマンス・チューニングがうまくいなかったという。
2点目はmixiが設定している10秒ルールをどう解決するか。クラウドならではのインスタンス数を数百台規模で増やすという解決法を用いた。技術的にはほぼ無制限にサーバー数を増やせるが、ある程度以上の規模では与信審査が必要となるので事前に申請が必要となる。局所的に応答時間が長くなるセッションを強引にエラーで返すために「リバース・プロキシ的なものを入れておくべきだった」と砂金氏は振り返る。
3番目の採用例はスクウェア・エニックスが展開するFinal Fantasy XIII-2のキャンペーン・サイト「モーグリのツイートキャッチ」。「PHP on AzureとCDNをうまく使った例だ」と砂金氏。FIXER社による性能検証をみると、香港にデータを配置し東京のCDNを経由したWindows Azureの応答時間が競合サービスより速いことが分かる。コスト・パフォーマンスのよいCDNとしての活用も期待できる。
「このようなWindows Azureの事例では、マイクロソフト・プラットフォームのみで開発することは少なく、オープンソースを使うことも多い」と砂金氏はいう。そしてマイクロソフトとしても、オープンソースへの取り組みを強化しているというのだ。その一つの表れがアパッチ・ソフトウェア財団のバイス・プレジデントであったギアヌゴ・ラベリノ氏が同社に入社したことである。