Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pokémon GOとGCP

17,540 views

Published on

Pokémon GOにどのようなGCPプロダクトが使われていて、リリース後にGoogle CloudのCustomer Reliability Engineerがどのようなことを実施したか説明したプレゼンテーションです。
酒とゲームとインフラとGCP 第4回 〜いい夫婦の日は家庭を鑑みながら酒を飲めるぞ〜 <https: /> で発表した資料です。

Published in: Technology
  • Be the first to comment

Pokémon GOとGCP

  1. 1. Confidential & ProprietaryGoogle Cloud Platform 1 酒とゲームとインフラとGCP 第4回 〜いい夫婦の日は家庭を鑑みながら酒を飲めるぞ〜 Google Cloud Platform, Sales Engineer Masanori Satoh / 佐藤 聖規 Pokémon GOとGCP 2016/11/22
  2. 2. Confidential & ProprietaryGoogle Cloud Platform 2 2週間前にGoogle本社に行ってきました
  3. 3. Confidential & ProprietaryGoogle Cloud Platform 3 Googleには捕まえきれないほどのポケモン レアなやつも!
  4. 4. Confidential & ProprietaryGoogle Cloud Platform 4 2016/11/08 東京 GCP リージョンスタート! ● 台湾とのレイテンシーの比較で、日本各地か らの平均で 50-85% 速い数値を記録 ● 3 つのゾーン
  5. 5. Confidential & ProprietaryGoogle Cloud Platform 5 Pokémon GO 爆発的なヒット!
  6. 6. Confidential & ProprietaryGoogle Cloud Platform 6 NianticとPokémon GOと Google Customer Reliablity Engineering ● CRE ( 顧客信頼性エンジニアリング ) とは、 Google の技術スタッフがお客様の チームと連携して、お客様の重要なクラウドアプリケーションの信頼性と成功に 関する責任を共有する新しいモデル。 ● Niantic は Google CRE が適用された最初のお客様であり、最初のプロジェクト が Pokémon Go。 ● Pokémon Go がオーストラリアとニュージーランドでリリースされるとトラフィック が急増し、15分も立たないうちに Niantic の予想を遥かに上回った。 ● 翌日に控えていたアメリカでのリリースを見越して、Google CREと連携を開始
  7. 7. Confidential & ProprietaryGoogle Cloud Platform 7 Google Cloud Datastore がプライマリデータベース ● Cloud Datastore のトラフィックは当初目標の50倍。 ● CRE チームはトラフィックの記録的な急増に備えて、追加キャパシティをシーム レスにプロビジョニング ● 合わせて、安定性に問題が生じた場合は、 Niantic とともに順序立てて一つ一 つ問題に対処し、ソリューションを編み出して展開 ● Google CRE チームは Niantic のチームと協力し、 Google Cloud の中核エンジ ニアやプロダクト マネージャーの専門ノウハウを借りながら、アーキテクチャの すべての要素をレビュー
  8. 8. Confidential & ProprietaryGoogle Cloud Platform 8 What is Cloud Datastore "モバイルアプリやWebアプリのための、スケーラブルでフルマネージドなNoSQL Database" ドキュメント志向 Database 耐久性の高いキーバリューストア マルチリージョン フルマネージド Databaseサービス 使った分だけの課金 Cloud Datastore
  9. 9. Confidential & ProprietaryGoogle Cloud Platform 9 アプリケーションロジックはコンテナベースでGKE ● Niantic が GKE を採用したのは、コンテナクラスタを世界規模でオーケストレー ションできるため ● コンテナを使うとプレーヤーのための面白い変更をデプロイしやすくなる ● Niantic は GKE を利用して、 Pokémon Go を開発、運用し、継続的に調整や改 良を施した ● 大胆な技術的な試みの一つが、コンテナクラスタのノード数を1,000以上(最大 2,000)に増やせるGKEの新バージョンへのアップグレード ● 大きな期待が寄せられていた日本での Pokémon Go のリリースに備えたもの ● 数百万人のプレイヤーが新規登録してくる中、既存プレイヤーにもそのままゲー ムを続けてもらいながら GKE をアップグレードするのは、飛行機のエンジンを飛 行中に交換するようなもの。
  10. 10. Confidential & ProprietaryGoogle Cloud Platform 10 What is Google Container Engine Kubernetes のマネージドサービス 1クリックでクラスタの作成が可能 ギリシャ語で “操舵手”; “Governor”のルーツ • コンテナオーケストレーター • マルチクラウドとベアメタルをサポート • Googleのコンテナの運用の経験と社内システムにインスパイア • Go言語で書かれた、オープンソース マシンではなく、アプリケーションを管理 What is Kubernetes Google Container Engine Kubernetes
  11. 11. Confidential & ProprietaryGoogle Cloud Platform 11 Kubernetes Cluster Federation Cluster 1
  12. 12. Confidential & ProprietaryGoogle Cloud Platform 12 Kubernetes Cluster Federation Cluster 1 Cluster 3 Cluster 3
  13. 13. Confidential & ProprietaryGoogle Cloud Platform 13 ユースケース例 地域分散 • ネットワークレイテンシーが重要 • Webユーザ • お客様事例 : ( ブラジル最大手小売業 ) • 顧客へのレイテンシを最小化するために K8S を ブ ラジルのAWSにデプロイ。U.S. の GKEを2つ目のプ ロバイダーに。 GKEがブラジルで動くとよりよい。 Traffic Director Web users GKE in the U.S. GKE in Europe GKE in Asia Tokyo
  14. 14. Confidential & ProprietaryGoogle Cloud Platform 14 ロードバランサーを HTTP/S ロードバランサーに 従来型ロードバランサー region 2 region 3region 1 VMs VMs VMs ... ... ...LB(s) DNS LB Google Cloud Platform のロードバランサー region 2 region 3region 1 VMs VMs VMs :::::::::::::::::::::::::::::::::::::::::::::::HTTP LB DNS :) 従来型ロードバランサー: 静的IP無し、遅いスケール、DNSに依存 (TTLの影響を受 けるなど)、障害検知も遅い Google HTTP (S) Load Balancer: 1つの Global IP アドレス、最短のホップ、 ウォーミングなし で拡張可能、DNS依存なし、障害検知 X X X X X X X X X X 1つのglobal IP: 11.22.33.44 Google Cloud Load Balancing
  15. 15. Confidential & ProprietaryGoogle Cloud Platform 15 秒間100万のリクエストに対応 Compute Engine Load Balancing hits 1 million requests per second! 64インスタンスで 負荷を生成 200インスタンスで Webサーバを提供 ロードバランサーの IP アドレスは一つだけ
  16. 16. Confidential & ProprietaryGoogle Cloud Platform 16 HTTPロードバランサーの使用例 リージョン跨ぎの負荷分散 コンテンツベースルーティング
  17. 17. Confidential & ProprietaryGoogle Cloud Platform 17 アメリカのリリースから2週間後、 日本でのリリース ● 米国でのリリースから2週間後、日本でのリリース。米国でのリリースに比べて3 倍のユーザが新規登録したが、問題は発生しなかった。 ● 実施した対策 ○ 充分なキャパシティプロビジョニング ○ GKE のアップグレード ○ HTTP/S Load Balancer へのアップグレード
  18. 18. Confidential & ProprietaryGoogle Cloud Platform 18 まとめ ● Pokémon GO のゲームの世界は、Google Cloud の10 数種類のサービスを利 用して実現 ● Pokémon GO は、GKE での K8S の過去最大のデプロイ例 ● Pokémon GO の膨大なプレーヤーをサポートする目的で、Google は Niantic の Container Engine クラスタのために数万ものコアをプロビジョニング ● Google のグローバル ネットワークは、共有されたゲームの世界の Pokémon ト レーナーに影響を及ぼす全体的なレイテンシを低減することに貢献 ○ ゲーム トラフィックの大半は Google のプライベート ファイバー ネットワーク を通過し、信頼性の高い低レイテンシのエクスペリエンスを世界中のプレー ヤーに提供。また、海底でも Google ネットワークを通過
  19. 19. Confidential & ProprietaryGoogle Cloud Platform 19 まとめ ● Pokémon GOのリリースでは、 Google Cloud にとって総力を上げて対応したプ ロジェクトで、半ダース以上のチームが迅速な判断を実施 ● Nianticの側も、 Google Could プロダクトの設計担当エンジニアリング チーム から、アーキテクチャや運用に関するベスト プラクティスについて直接アドバイス を受ける必要があった Google CRE を利用できることはGoogle Cloud を使う上で大きなメリット
  20. 20. Confidential & ProprietaryGoogle Cloud Platform 20 See also Pokémon GO の爆発的ヒットを支える Google Cloud
  21. 21. Thank you

×