想定の50倍ものトラフィックが発生したPokémon Go。基盤となったのはGoogle CloudのCloud DatastoreとGoogle Container Engine
Googleは9月29日付のブログ「Bringing Pokémon GO to life on Google Cloud」で、Pokémon GoのインフラとしてGoogle Cloudが使われており、サービス開始後に想定の50倍ものトラフィックが押し寄せてきたことを紹介しています。
下記のグラフのオレンジ色の線が当初の想定(Original Launch Target)、赤い線が想定していた最悪のケース(Estimated Worst Case)です。しかし現実にやってきたトラフィックは緑路の線(Actual Traffic)でした。
当初の想定よりも5倍余裕を持って最悪のケースを想定していたところに、実際には50倍ものトラフィックが来てしまったのです。ブログにはこう書かれています。
Within 15 minutes of launching in Australia and New Zealand, player traffic surged well past Niantic’s expectations.
オーストラリアとニュージーランドでサービスを開始して15分もたたないうちに、プレイヤーのトラフィックはNianticの想定を急激に上回った。
NianticのエンジニアはGoogleに電話し、翌日に開始される米国でのサービスインに向けて予想を上回るトラフィックへの対応に追われることになったとのこと。
Googleはクラウド上でのサービスを顧客のエンジニアとともに開発運用していく新しいモデル「Google Customer Reliability Engineering」を立ち上げたばかりで、Nianticがその最初の顧客であり、Pokémon GOがそのモデルの最初の適用例だとしています。
Not everything was smooth sailing at launch! When issues emerged around the game’s stability, Niantic and Google engineers braved each problem in sequence, working quickly to create and deploy solutions.
サービス開始から全部がスムーズにいったわけではない! ゲームの安定性などに問題が発生すると、NianticとGoogleのエンジニアたちが次々に立ち向かっていき、迅速にソリューションを作り上げ、デプロイしていった。
Pokémon GOはCloud DatastoreとContainer Engineで稼働中
また記事では、Pokémon GOの主要なデータベースとしてGoogle CloudのCloud Datastoreが使われているとも書かれています。
Pokémon GO is a mobile application that uses many services across Google Cloud, but Cloud Datastore became a direct proxy for the game’s overall popularity given its role as the game’s primary database for capturing the Pokémon game world.
Pokémon GOはモバイルアプリケーションであり、Google Cloudの多数のサービスを利用しているが、Cloud Datastoreはポケモンの世界全体を抱えるゲームの主要なデータベースの役割を持ち、(そのトラフィックは)ゲームの人気全体を代表的に示すものといえる。
そしてアプリケーションは大量のコンテナ上で実行されており、Kubernetesでオーケストレーションしていると。
The application logic for the game runs on Google Container Engine (GKE) powered by the open source Kubernetes project. Niantic chose GKE for its ability to orchestrate their container cluster at planetary-scale, freeing its team to focus on deploying live changes for their players.
ゲームのアプリケーションロジックはGoogle Container Engine(GKE)上で実行されており、これはオープンソースのKubernetesで支えられている。NianticがGKEを選んだのは、大規模スケールのコンテナクラスターをオーケストレートする能力があり、プレイヤーにとってゲームがライブでも開発チームがデプロイにフォーカスできるためだ。
これまでPokémon GOがGoogle Cloudの上で運用されていることは、断片的な情報として示されてきましたが、ここまでまとめて正式な情報として公開されたのは初めてです。この事例は、Google Cloudにとって、そしてCloud DatastoreやコンテナやKubernetesにとって、そのスケーラビリティと安定性を示すのにこれ以上ないものといえます。
あわせて読みたい
今年開設されるGoogle Cloud東京リージョン、3つのゾーンから構成されることが判明
≪前の記事
Google、主要サービスのブランド名刷新。G Suite=旧Google Apps for Work/Google Cloud=Google Cloud Platform+G Suite+Chrome+Android+etc…