Successfully reported this slideshow.
Your SlideShare is downloading. ×

[GCC18] 世界中のプレイヤーを3つの「S」で支える Google Cloud Platform (GCP) 〜スピード・スケール・スタビリティ〜

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 57 Ad

[GCC18] 世界中のプレイヤーを3つの「S」で支える Google Cloud Platform (GCP) 〜スピード・スケール・スタビリティ〜

Download to read offline

Game Creators Conference'18 でのプレゼン資料です。
http://www.gc-conf.com/

Game Creators Conference'18 でのプレゼン資料です。
http://www.gc-conf.com/

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to [GCC18] 世界中のプレイヤーを3つの「S」で支える Google Cloud Platform (GCP) 〜スピード・スケール・スタビリティ〜 (20)

Advertisement

Recently uploaded (20)

[GCC18] 世界中のプレイヤーを3つの「S」で支える Google Cloud Platform (GCP) 〜スピード・スケール・スタビリティ〜

  1. 1. 世界中のプレイヤーを3つの「S」で支える Google Cloud Platform (GCP)        〜スピード・スケール・スタビリティ〜 Samir Hammoudi (Twitter: @ksimir) Gaming Technical Specialist, Google Cloud
  2. 2. 皆さまの目標は 最高のゲームを作ること ですよね?
  3. 3. そしてゲームが ヒットすること ですよね?
  4. 4. ヒットの裏での リアクションは?
  5. 5. ゲーム プロデューサー ゲーム サーバエンジニア
  6. 6. GCP を使っている ゲーム会社では
  7. 7. ゲーム プロデューサー ゲーム サーバエンジニア
  8. 8. その理由を 今から説明します!
  9. 9. Planet Scale Cloud
  10. 10. GCP is built on the same infrastructure that powers Google Google confidential | Do not distribute
  11. 11. 1. ネットワークの3つの「S」 2. コンピュートの3つの「S」 3. データストアの3つの「S」 Agenda
  12. 12. よくある ゲームのバックエンド
  13. 13. iOS Android Cloud Load Balancing API Servers API Servers Compute Engine Multiple instances Mgmt Server Compute Engine Single instance Databases MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica Data Analytics Log data Cloud Storage User logs Game logs BigQuery Data analytics Reporting Business Analysis Batch import ETL Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert Game Servers Game Servers Compute Engine Multiple instances In-memory KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... Static content CDN Cloud CDN iOS Android Cloud Load Balancing API サーバ API Servers Compute Engine Multiple instances 管理サーバ Compute Engine Single instance データベース MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica データ分析 ログデータ Cloud Storage User logs ゲームログ BigQuery Data analytics レポーティング Business Analysis Batch import データ処理 Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert ゲームサーバ Game Servers Compute Engine Multiple instances キャッシュ KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... 静的コンテンツ CDN Cloud CDN
  14. 14. 3つの「S」の定義 ゲームにメリットがある以下の3つの「S」を定義します Speed - スピードSp Sc St Stability - スタビリティ(安定性) Scalability - スケール
  15. 15. ネットワークの3つの「S」 Google Global Network + HTTP Load Balancers
  16. 16. Confidential & Proprietary iOS Android Cloud Load Balancing API サーバ API Servers Compute Engine Multiple instances 管理サーバ Compute Engine Single instance データベース MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica データ分析 ログデータ Cloud Storage User logs ゲームログ BigQuery Data analytics レポーティング Business Analysis Batch import データ処理 Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert ゲームサーバ Game Servers Compute Engine Multiple instances キャッシュ KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... 静的コンテンツ CDN Cloud CDN ネットワーク
  17. 17. GCP を利用すると、クライアントは一番近い POP (Point Of Presence) まで通信し、 そこからはグーグルの専用ネットワーク 経由でゲームサーバに接続します。 Google のグローバルネットワーク Google Edge POP Google Backbone
  18. 18. GCP lowers price by delivering your outbound and inbound traffic over transit (ISP) networks instead of Google’s network. スタンダード Tier
  19. 19. Outbound and Inbound traffic delivery over Google’s global network Google Cloud を使うと 自動的にプレミアネットワークが利用可能に
  20. 20. ゲームでの Google Global Network のメリット Google Network・100+ POP・15 リージョン・44 ゾーン プレイヤーとサーバ間のレイテンシを削減 = ユーザー経験の向上!Sp Sp Sc 大陸間の対戦を可能とするグローバルゲームをリリース可能 GCP の15リージョンでプレイヤーにより近くサーバを配置 2019年に大阪リージョンが開きます!
  21. 21. GDC 2018 でアナウンスされた新タイトル
  22. 22. グローバル リアルタイム PvP
  23. 23. 8,270.09 km 大陸間のリアルタイムバトルが可能 Google Developer Day のセッション動画:https://youtu.be/5wtlj_q3DjE?t=5h41m24s
  24. 24. Confidential & Proprietary iOS Android Cloud Load Balancing API サーバ API Servers Compute Engine Multiple instances 管理サーバ Compute Engine Single instance データベース MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica データ分析 ログデータ Cloud Storage User logs ゲームログ BigQuery Data analytics レポーティング Business Analysis Batch import データ処理 Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert ゲームサーバ Game Servers Compute Engine Multiple instances キャッシュ KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... 静的コンテンツ CDN Cloud CDN LB
  25. 25. ロードバランサー 100万QPSでも 1秒以内で ● google.com と同じインフラを活用 ● Anycast:一つのグローバル IP でバランシング ● L7 と L3/L4 ロードバランサー ● SaaS でありサイジングやメンテナンスも不要
  26. 26. ゲームでの HTTP(S) LB のメリット Google マネージド・ウォームアップ不要・グローバル・ロードバランサー ウォームアップが不要、スケールに関する心配もなしSp Sp St Anycast で1つのリージョンが落ちても、リクエストを次に近い リージョンへ自動的にルートする 100万 QPS を1秒で捌ける
  27. 27. コンピュートの3つ「S」 How Google Cloud improves compute solutions for games
  28. 28. Confidential & Proprietary iOS Android Cloud Load Balancing API サーバ API Servers Compute Engine Multiple instances 管理サーバ Compute Engine Single instance データベース MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica データ分析 ログデータ Cloud Storage User logs ゲームログ BigQuery Data analytics レポーティング Business Analysis Batch import データ処理 Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert ゲームサーバ Game Servers Compute Engine Multiple instances キャッシュ KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... 静的コンテンツ CDN Cloud CDN Compute
  29. 29. ゲームサーバはクライアントが通信するサーバのこと ● API Servers ○ ゲームに必要なサービスを提供する API。 ○ マイクロサービス化 ○ REST API、HTTP リクエスト ○ 例:認証サービス、プレイヤーサービス、マッチング サービス、ガチャ、課金サービスなどなど ● Dedicated Game Servers ○ オンラインでマルチプレイする際にクライアントと通 信するサーバ。 ○ 常時接続。TCP, UDP, Websockets ○ 例:PvP, MMORPG ゲーム & API サーバ
  30. 30. Compute ● Common:VMware, KVM, OpenShift, 他社クラウドなど ● GCP:Google Compute Engine, Google Kubernetes Engine, Google App Engine ユースケース ● ゲームサーバ ● API サーバ VM の制約 ● OS のリソースオーバーヘッド ● 起動時間 ● メンテナンスの再起動 ● OS の運用(パッチなど) Compute
  31. 31. Virtual machines with industry-leading price/performance Compute Engine Cluster manager and orchestration engine built on Google’s container experience Kubernetes Engine A flexible, zero ops platform for building highly available apps App Engine
  32. 32. ● VM あたり20~40秒程度で 起動 ● クラスタサイズを増やしても 変わらない ● マネージドインスタンスグ ループは、負荷に応じてオー トスケールアウトします ブートしてSSH可能になるまでの時間 クラスタサイズ VMあたりの起動時間(秒) GCE - 高速なインスタンス起動
  33. 33. ゲームでの GCE のメリット Google の IaaS 高速起動でクラスタのスケールがリクエストをこぼそないSp Sc St ライブマイグレーション = 計画停止なし マネージド インスタンス グループのオートスケール機能
  34. 34. Publisher: Bandai Namco Entertainment Title: Dragon Ball Xenoverse 2 Platform: PlayStation 4, Nintendo Switch, Xbox One, PC GCP products used: ● Google Compute Engine ● Cloud Storage ● Cloud Load Balancing GCE のゲーム事例 © バードスタジオ/集英社・フジテレビ・東映アニメーション © BANDAI NAMCO Entertainment Inc.
  35. 35. GKE - コンテナの世界 ● Docker コンテナはデファクトスタンダード ○ リソースの効率性:OS のオーバーヘッドなし ○ オープン:どこでも動く ○ スピード:起動が VM より早い ● コンテナオーケストレーションをする Kubernetes もデファクトスタンダードへ Google Trends
  36. 36. ゲームでの GKE のメリット Google のマネージド・Kubernetes・サービス 新しい API やゲームサーバを高速で起動可能Sp Sc St ノードやポッドの自動修復 Cluster Autoscaler と Horizontal Pod Autoscaler (HPA) 参考:https://www.slideshare.net/HammoudiSamir/google-container-engine-gke-kubernetes St マスターは Google の SRE が管理
  37. 37. Publisher: Niantic Title: Pokemon Go Platform: Android & iOS GCP products used: ● Google Kubernetes Engine ● Cloud Datastore ● Cloud Storage ● Cloud Load Balancing GKE のゲーム事例
  38. 38. 手間いらずの維持管理 Managed services, such as Task Queues, Memcache and the Users API, let you build any application. 容易にスケール You can scale up to 7 billion requests per day and automatically scale down when traffic subsides. コードを書くだけ Let Google worry about database administration, server configuration, sharding & load balancing. さまざまな言語 & フレームワーク Write applications in some of the most popular programming languages, use existing frameworks and integrate with other familiar technologies. Google App Engine なじみの開発ツール Use the tools you know, including Eclipse, IntellIJ, Maven, Git, Jenkins, PyCharm & more. 拡大するサービス エコシステム Choose from SQL and NoSQL databases, monitoring & diagnostics tools, popular services like Cloud Pub/Sub, and a range of great developer tools on GCP just by API.
  39. 39. ゲームでの GAE のメリット Google の PaaS 最短 数十 ms - 数百 ms で自動的にスケールアウトSp Sc St バージョン管理+トラフィックスプリット API サーバを自動スケール
  40. 40. Publisher: Bandai Namco Entertainment Title: The iDOLM@STER Million Live Theater Days Platform: Android & iOS GCP products used: ● Google App Engine (Go) ● Cloud Datastore ● BigQuery ● Firebase Cloud Messaging GAE のゲーム事例 ©窪岡俊之 ©BANDAI NAMCO Entertainment Inc.
  41. 41. データストアの3つの「S」 How Google Cloud improves datastore solutions for games
  42. 42. Confidential & Proprietary iOS Android Cloud Load Balancing API サーバ API Servers Compute Engine Multiple instances 管理サーバ Compute Engine Single instance データベース MySQL Compute Engine Failover replica MySQL Compute Engine Master MySQL Compute Engine Read replica データ分析 ログデータ Cloud Storage User logs ゲームログ BigQuery Data analytics レポーティング Business Analysis Batch import データ処理 Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert ゲームサーバ Game Servers Compute Engine Multiple instances キャッシュ KVS Cache KVS Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... 静的コンテンツ CDN Cloud CDN データストア
  43. 43. ゲームに関する全てのデータを格納する場所 ● RDB ○ リレーショナル DB ● NoSQL ○ 永続ストレージ用 KVS ○ キャッシュ用 KVS ● DWH ○ 膨大なデータを格納するデータウェアハウス データストア
  44. 44. RDB ● DB:MySQL, PostgreSQL, MS SQL Server, Oracle DB ● GCP:Cloud SQL, Cloud Spanner ユースケース ● マスタデータ ● ユーザデータ RDB の制約 ● スケラビリティ(スケールアップのみかシャード) ○ スケールアウト・インが難しい ● 高可用性でない ○ フェイルオーバー = ダウンタイム RDB
  45. 45. Cloud Spanner: the best of RDB + NoSQL
  46. 46. Cloud Spanner とは? Google のマネージド・スケーラブル・リレーショナルデータベース・サービス 完全マネージドのグローバルスケールで DB サービス1 2 3 4 ゾーン間・リージョン間の自動 synchronous レプリケーション スキーマ、ACID トランザクション、SQL Google内部では、既に5年以上の運用経験 (AdWords, Google Play…)
  47. 47. ゲームでの Cloud Spanner のメリット Google のマネージド・スケーラブル・リレーショナルデータベース・サービス DB のスケールアウトが1クリック・1秒で可能(イベント対応などに)Sc Sc Sp St ノードを追加することだけで、パフォーマンスがニアリニアに上がる プレイヤーが少なくなったら、1クリックでスケールイン 高可用性をネイティブで提供: 99.99% SLA (99.999% マルチリージョン)
  48. 48. Cloud Spanner のゲーム事例
  49. 49. スキーマレスのデータベース ● 永続ストレージ用 KVS ○ OSS:MongoDB, Cassandra, HBase, Couchbase ○ GCP:Cloud Datastore, Cloud Bigtable ○ Firebase: Firebase Realtime DB, Cloud Firestore ● キャッシュ用 インメモリ KVS ○ OSS:Memcached, Redis ユースケース ● ユーザデータ ● ランキング、セッション状態、などなど NoSQL の制約 ● ACID トランザクションや SQL ● 結果整合性 NoSQL
  50. 50. Cloud Datastore とは? Google マネージド・オートスケール・NoSQL データベース・サービス フルマネージド・オートスケーリング データベース サービス1 2 3 4 リージョン間の自動レプリケーション 結果整合性だが、ACID トランザクションを提供 Battle-tested in App Engine for 8 years
  51. 51. ゲームでの Cloud Datastore のメリット Google マネージド・オートスケール・NoSQL データベース・サービス 負荷に応じて、自動的にスケールアウト・インするSc St St スキーマレスはユーザプロファイルの進化や変更をダウンタイムなしで可能 とする 高可用性 99.9% SLA(99.95% マルチリージョン)
  52. 52. Publisher: Nintendo Title: Super Mario Run Platform: Android & iOS GCP products used: ● Google App Engine Standard ● Cloud Datastore ● Cloud PubSub ● Cloud Dataflow ● BigQuery ● Firebase Cloud Messaging Cloud Datastore のゲーム事例(mBaaS) 任天堂株式会社  スーパーマリオ ラン
  53. 53. GCP 上での理想なゲームバックエンド
  54. 54. iOS Android Cloud Load Balancing API Servers Mgmt Servers Compute Engine Single instance Databases Data Analytics Log fa Cloud Storage User logs Game logs BigQuery Data analytics Reporting Business Analysis Batch import ETL Cloud Dataflow Multiple instances PubSub Cloud Pub/Sub Real time logs Streaming insert Game Servers In-Memory KVS Redis Compute Engine Multiple instances Static Assets Cloud Storage Images, Audio... Static assets CDN Cloud CDN User data Cloud Spanner Master data Cloud SQL Memcached Compute Engine Multiple instances API Servers GAE Serverless Game Servers GKE Multiple instances
  55. 55. 超人気ゲーム Publisher: 超すごいゲーム会社 Title: 超おもしろいゲーム Platform: Android & iOS, Console GCP products used: ● Cloud Load Balancing ● Google App Engine ● Google Kubernetes Engine ● Cloud Storage ● Cloud Spanner ● BigQuery 今度はあなたの番です!
  56. 56. Thank you

×