Upload
google-cloud-platform-japan
View
11.810
Download
0
Embed Size (px)
Citation preview
Confidential & ProprietaryGoogle Cloud Platform 1
酒とゲームとインフラとGCP 第4回〜いい夫婦の日は家庭を鑑みながら酒を飲めるぞ〜
Google Cloud Platform, Sales EngineerMasanori Satoh / 佐藤 聖規
Pokémon GOとGCP
2016/11/22
Confidential & ProprietaryGoogle Cloud Platform 2
2週間前にGoogle本社に行ってきました
Confidential & ProprietaryGoogle Cloud Platform 3
Googleには捕まえきれないほどのポケモンレアなやつも!
Confidential & ProprietaryGoogle Cloud Platform 4
2016/11/08東京 GCP リージョンスタート!
● 台湾とのレイテンシーの比較で、日本各地からの平均で 50-85% 速い数値を記録
● 3 つのゾーン
Confidential & ProprietaryGoogle Cloud Platform 5
Pokémon GO 爆発的なヒット!
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と連携を開始
Confidential & ProprietaryGoogle Cloud Platform 7
Google Cloud Datastore がプライマリデータベース
● Cloud Datastore のトラフィックは当初目標の50倍。● CRE チームはトラフィックの記録的な急増に備えて、追加キャパシティをシーム
レスにプロビジョニング● 合わせて、安定性に問題が生じた場合は、 Niantic とともに順序立てて一つ一
つ問題に対処し、ソリューションを編み出して展開● Google CRE チームは Niantic のチームと協力し、 Google Cloud の中核エンジ
ニアやプロダクト マネージャーの専門ノウハウを借りながら、アーキテクチャのすべての要素をレビュー
Confidential & ProprietaryGoogle Cloud Platform 8
What is Cloud Datastore
"モバイルアプリやWebアプリのための、スケーラブルでフルマネージドな NoSQL Database"
ドキュメント志向 Database
耐久性の高いキーバリューストア
マルチリージョン フルマネージド Databaseサービス
使った分だけの課金
Cloud Datastore
Confidential & ProprietaryGoogle Cloud Platform 9
アプリケーションロジックはコンテナベースでGKE
● Niantic が GKE を採用したのは、コンテナクラスタを世界規模でオーケストレーションできるため
● コンテナを使うとプレーヤーのための面白い変更をデプロイしやすくなる● Niantic は GKE を利用して、 Pokémon Go を開発、運用し、継続的に調整や改
良を施した● 大胆な技術的な試みの一つが、コンテナクラスタのノード数を1,000以上(最大
2,000)に増やせるGKEの新バージョンへのアップグレード● 大きな期待が寄せられていた日本での Pokémon Go のリリースに備えたもの● 数百万人のプレイヤーが新規登録してくる中、既存プレイヤーにもそのままゲー
ムを続けてもらいながら GKE をアップグレードするのは、飛行機のエンジンを飛行中に交換するようなもの。
Confidential & ProprietaryGoogle Cloud Platform 10
What is Google Container Engine
Kubernetes のマネージドサービス1クリックでクラスタの作成が可能
ギリシャ語で “操舵手”; “Governor”のルーツ
• コンテナオーケストレーター • マルチクラウドとベアメタルをサポート
• Googleのコンテナの運用の経験と社内システムにインスパイア
• Go言語で書かれた、オープンソース
マシンではなく、アプリケーションを管理
What is Kubernetes
Google Container Engine
Kubernetes
Confidential & ProprietaryGoogle Cloud Platform 11
Kubernetes Cluster Federation
Cluster 1
Confidential & ProprietaryGoogle Cloud Platform 12
Kubernetes Cluster Federation
Cluster 1 Cluster 3
Cluster 3
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
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
Confidential & ProprietaryGoogle Cloud Platform 15
秒間100万のリクエストに対応
Compute Engine Load Balancing hits 1 million requests per second!
64インスタンスで負荷を生成
200インスタンスでWebサーバを提供
ロードバランサーの IPアドレスは一つだけ
Confidential & ProprietaryGoogle Cloud Platform 16
HTTPロードバランサーの使用例 リージョン跨ぎの負荷分散 コンテンツベースルーティング
Confidential & ProprietaryGoogle Cloud Platform 17
アメリカのリリースから2週間後、
日本でのリリース● 米国でのリリースから2週間後、日本でのリリース。米国でのリリースに比べて3
倍のユーザが新規登録したが、問題は発生しなかった。● 実施した対策
○ 充分なキャパシティプロビジョニング○ GKE のアップグレード○ HTTP/S Load Balancer へのアップグレード
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 ネットワークを通過
Confidential & ProprietaryGoogle Cloud Platform 19
まとめ
● Pokémon GOのリリースでは、 Google Cloud にとって総力を上げて対応したプロジェクトで、半ダース以上のチームが迅速な判断を実施
● Nianticの側も、 Google Could プロダクトの設計担当エンジニアリング チームから、アーキテクチャや運用に関するベスト プラクティスについて直接アドバイスを受ける必要があった
Google CRE を利用できることはGoogle Cloud を使う上で大きなメリット
Confidential & ProprietaryGoogle Cloud Platform 20
See alsoPokémon GO の爆発的ヒットを支える Google Cloud
Thank you