想定の50倍ものトラフィックが発生したPokémon Go。基盤となったのはGoogle CloudのCloud DatastoreとGoogle Container Engine

2016年10月3日

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)でした。

fig

当初の想定よりも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 Kubernetes クラウド Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本