ソーシャルアプリ開発の苦労
ここで砂金氏は、今回のような大規模ソーシャルアプリの開発で味わった苦労話を語った。まず、約1ヶ月という短期開発だったにも関わらず、PCからスマートフォン、フィーチャーフォンといったマルチデバイスに対応するのは大変な作業だったこと、そしてmixiにて「10秒以内にクライアントにイベントを返さなくてはならない」というルールが存在したことだ。
この10秒ルールに対し、クラウドならではの解決方法としてインスタンスを増やそうとした。ところがこの方法、技術的には問題がないものの、使えるインスタンスの数が契約ごとに決められていたため、簡単には解決しなかった。
また、10秒の直前で処理を切断する仕組みを入れようとしたが、Azureの直下にアプリケーションサーバーを置いたため、その仕組みは困難だった。アプリケーションのロジックとして10秒で切断することも、裏で動いていたASP.NETの仕組み上9秒で切断するという制御が難しい。砂金氏は、「一階層のシステムではなく、Azureとアプリケーションサーバーの間にリバースプロキシのようなものを入れれば10秒ルールに対応する設計もより簡単にできただろう」と振り返る。
HadoopをAzure上で動かす最新デモなども披露
講演の後半は、佐藤氏がデモを披露した。佐藤氏が行ったのは、Node.jsを使い、コマンドベースで開発したアプリケーションをAzure上で動かすデモや、GUIの開発環境Cloud9 IDEで同様のアプリケーションをブラウザ上にて開発、Azureでデプロイするデモ、さらにはビッグデータを処理するHadoopをAzure上で動かすデモなどだ。現在AzureのHadoop対応はプレビュー版として提供されているのみだが、今後正式版も提供予定だという。