Gigya は Google App Engine を使って、何百万人ものユーザーに話題を提供

もし、ネットでどんな事が話題になっているか知りたければ Gigya にアクセスしてみてください。同社のソフトウェア・アズ・ア・サービス (SaaS) 技術は Facebook や Twitter、 LinkedIn® その他のソーシャルネットワークの機能を、人気のオンラインサービスに統合します。NASCAR® から Academy Awards® まで、 Gigya のアプリケーションは毎月 50 万を超えるウェブサイトで 2 億 8 千万人のユーザーをサポートしています。

Gigya のチームはチャットアプリケーションの容量とスケーリングの問題を解決する為に Google App Engine に移行しました。 Google App Engine は、ログオンするユーザーの数がどれだけ増えても Gigya のチャットサービスの実行を継続することができます。

課題

Gigya は、ソーシャルログインやゲーミフィケーションの様なホステッドソリューションやサービスを通じて、ソーシャルメディアを顧客のウェブサイトアプリケーションへ統合することを可能にします。Gigya の最も人気のあるアプリの一つは、授賞式や業界のコンベンションといった顧客のライブイベントを、オンラインのリアルタイムソーシャルチャットツールを使って盛り上げています。トラフィックは、ライブイベントの最中には数秒で 10 人から 10 万人に急増する可能性があり、このため Gigya はライブチャットの顧客向けに、このようなトラフィックの予測できない突然の増加に対応できるホスティングプラットフォームを必要としていました。

Gigya のチームは、自社のプラットフォームホスティングソリューションは理想的ではないことに直ぐに気が付きました。「私たちはプロセスを自分たちで管理していました」と説明するのは Gigya の研究開発部長である Raviv Pavel 氏です。「容量を増やすためには手作業でマシンを増設しなくてはいけませんでしたが、これには時間が掛かります。しかも、そうすると、使ってもいない容量にまでお金を払わなくてはなりません。」

Gigya は、もっと柔軟でスケーラブルなホスティングソリューションを探し始めました。

ソリューション

慎重な検討と多くの負荷試験の後、 Gigya はソーシャルチャットサービスを Google App Engine へ移行しました。

Google App Engine は理論上無限にスケーリングが可能だということと、使用している容量の分だけ料金を支払えば良いというのは大変魅力的でした。」と Pavel 氏は述べています。

“ Google App Engine は、これまでのホスティングプラットフォームでは実現不可能だった巨大プロジェクトの処理の一助となります。”

Raviv Pavelvice president of research and development, Gigya

これまでのチャットプラットフォームから Google への移行は Gigya のチームにとって(当初は時間が掛かる)学習曲線に沿ったようなものとなりましたが、 Pavel 氏はこの経験は意味のあるものだったと語っています。「自社システムの設計方法の変更も必要でした。」と彼は続けます。「しかし、それは悪いことではありません。というのも、このことで新しいシステムの開発手法が良い方向に変わったからです。」 Gigya の開発者たちは、チャットアプリを Java と Google App Engine の Eclipse plug-in を使って構築しました。これにより、単一のユーザーインターフェースで、アプリの構築、試験、デプロイが可能になりました。開発者たちは、 MemCache API や管理ダッシュボードといった Google App Engine のリッチなキャッシング機能も大いに利用しました。ダッシュボードは特に有用で、 1 秒間に処理されたリクエストの数からレイテンシまで全ての計測が可能になります。

Google App Engine のサービスレベルアグリーメント (SLA) も Gigya にとって大変重要です。サービスプロバイダーである Gigya は、顧客との間の SLA によりアップタイムを保証する必要があります。「私たちの顧客はサービスにお金を払っているのです。彼らはシステムが 100% フレキシブルで使用可能であることを期待しています。」と Pavel 氏は述べています。「Google が私たちに SLA を提供してくれなければ、私たちも顧客に SLA を提供できません。」

有名なアプリとして Gigya のソーシャルチャットサービスは常に注目されています。Gigya は世界最大の企業を何社か顧客として持っており、運用にはプレッシャーがあります。自分たちより、はるかに大きな会社をサポートするというのはチャレンジです。

Pavel 氏は次のように説明します。「Google App Engine は、これまでのホスティングプラットフォームでは実現不可能だった巨大プロジェクトの処理の手助けとなります。マシンを買いたいのではなく、コードを書くことに集中して他のことは心配したくないというのであれば Google App Engine はうってつけのサービスです。」

成果

Gigya のソーシャルチャットソリューションは話題の中心であり続けます。人気のある、ビデオゲームの見本市 E3 Expo 2011 を例にとると、イベントの最中には E3 のオンラインソーシャルチャットアプリケーションは 1 秒間に 3,000 リクエストを処理、 120,000 人のユーザーが同時接続しました。

「イベントが始まったら、何人ぐらいのユーザーがソーシャルチャットアプリケーションを利用するか予測するのは難しいのです。」と Pavel 氏は語ります。「Google App Engine が処理を行ってくれるので、手遅れになって私たちが対応するということはありません。」

Google App Engine は使用量に応じた課金モデルなので、トラフィックが少ない時にも Gigya には魅力です。「リクエストが僅かしかない時でも、顧客はソリューションが稼働していることを期待します。」 Pavel 氏は述べます。「Google App Engine は昼夜を分かたず素晴らしいサービスを提供しながら、料金の点でも競争力があります。」

Google App Engine のアーリーアダプターとして、 Pavel 氏と彼のチームは High Replication Datastore の様な新しい機能の追加の恩恵に浴しています。しかし、彼の最も気に入っている機能が、使いやすいインターフェースであることに変わりはありません。「カフェに座って、持っているラップトップのキーを押した途端、私のアプリケーションが世界で最も強力なインフラストラクチャの一つに即座にデプロイされるのです。これは開発者には大変、魅力的です。」