![Page 1: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/1.jpg)
あっという間の
Google Cloud Platform 開発ガイド
![Page 2: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/2.jpg)
GCP Nextデベロッパー トラック: アジェンダ
あっという間の、Google Cloud Platform 開発ガイド
意外と簡単、AI を使ったリアルタイム モバイルゲーム開発
Kubernetes のコンテナ技術ですべてをシンプルに
1
2
3
Google が描く、MapReduce を超えたビッグデータの世界4
![Page 3: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/3.jpg)
Cloud Spin私たちがどのようにしてクラウドで、映画「マトリックス」の世界
を実現したのか
![Page 4: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/4.jpg)
![Page 5: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/5.jpg)
ユーザーがCloud Spinエリアの中央に入り、誰かがタブレットの
スタートボタンを押す。
![Page 6: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/6.jpg)
タブレットがスマホに通知を送りそれぞれがショートビデオの録画を
開始する。
ピクチャーIDはXです。今すぐ録画を開始してください!
![Page 7: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/7.jpg)
ユーザーがジャンプするとオーディオキューを使って
正確なフレームを特定する。
![Page 8: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/8.jpg)
バックエンド アーキテクチャ
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 9: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/9.jpg)
動画アップロードと通知
![Page 10: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/10.jpg)
動画アップロードと通知
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 11: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/11.jpg)
要件
● 大量の非構造化データ用ストレージ
● 即時アクセスと読み込みにおける強い一貫性
● 新たに登場したオブジェクトに対して起動される通知
![Page 12: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/12.jpg)
Google Cloud Storage
オブジェクト ストア
変更通知
オブジェクトごとに最大テラバイト単位までのデータを保存。データは保存済みの状態で暗号化。粒度の細かいアクセス制御
フル バージョニング、変更通知およびリジューマブルアップロードおよびダウンロードが可能
可用率の高いジオ冗長データ レプリケーション システムで99.9%のSLA 。各オブジェクトに対し、
強力なリードアフターライトの一
貫性
信頼性が高く
一貫性がある
![Page 13: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/13.jpg)
Cloud Storageのオプション
標準的なストレージ耐久性が高く、可用性を
抑えたストレージ
速度
可用性
耐久性
コスト
ニアライン
どのようなワークロードにも適した
万能クラウド ストレージ
速度
可用性
耐久性
コスト
速度
可用性
耐久性
コスト
高可用性・高性能を必要としない
使用事例向け
アクセス頻度の低いコンテンツの
長期ストレージ向け
![Page 14: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/14.jpg)
オブジェクト変更通知
クラウド ストレージ バケット[myapp-input-bucket]
$ gsutil notification watchbucket \ https://myapp.appspot.com gs://myapp-input-bucket
通知処理
エンドポイント
https://myapp.appspot.com
![Page 15: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/15.jpg)
オブジェクト変更通知
クラウド ストレージ バケット[myapp-input-bucket]
クライアント
通知処理
エンドポイント
オブジェクトの追加/アップデート/削除
![Page 16: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/16.jpg)
オブジェクト変更通知
クラウド ストレージ バケット[myapp-input-bucket]
通知処理
エンドポイント
オブジェクト変更通知
POST /storage/v1/b/myapp-input-bucket/o/watch?alt=json HTTP/1.1Host: www.googleapis.comContent-Length: 200User-Agent: google-api-python-client/1.0Content-Type: application/jsonAuthorization: Bearer OAuthToken
{ "token": "<ClientToken>", "type": "<web_hook>", "id": "<ChannelId>", "address": "https://myapp.appspot.com"}
![Page 17: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/17.jpg)
エッジ キャッシング
![Page 18: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/18.jpg)
まとめ
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 19: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/19.jpg)
通知処理
![Page 20: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/20.jpg)
通知処理
入力バケット
スティッチングQ
デバイス
エクストラクション Q
通知プロセッサ エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 21: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/21.jpg)
要件
● HTTPS POSTリクエストを処理
● シンプルなAuthN
● リクエストを処理し、タスクをキューへプッシュ
![Page 22: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/22.jpg)
Google App Engine
ランタイムのチョイス
- Java、Python、Go- PHP- カスタム
開発が容易
- ローカルでビルドおよびテスト
- アプリコードに集中
- バージョニング
- トラフィック分割
管理がわずか
- フルマネージド
- パッチ/アップデートなし
- Google SREによる24x7運用
- オートスケール
![Page 23: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/23.jpg)
App Engineホスティング環境
サンドボックス
ウェブサーバー ユーザー コード
サンドボックス ランタイム
VMコンテナ
ウェブサーバー ユーザー コード
オプショナル パッケージ
標準/カスタム ランタイム
インスタンス
App Engineホスティング環境 コンテナ ベースのホスティング環境
![Page 24: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/24.jpg)
まとめ
入力バケット
スティッチングQ
デバイス
エクストラクションQ
Goアプリ Engineアプリ エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
+
![Page 25: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/25.jpg)
メッセージングとパイプライン
![Page 26: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/26.jpg)
パイプラインの構築
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 27: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/27.jpg)
要件
● 非同期メッセージング
● プル サブスクリプション
![Page 28: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/28.jpg)
Cloud Pub/Sub (ベータ)安定かつリアルタイムのメッセージ
ング
高速データ向け設計
アプリケーション間で安定かつリアルタイム、多対多の非同期メッセージングを提供
処理パイプラインにデータを送信したり、その他アプリ、デバイス、 Google Cloud Servicesにバックアウトしたりすることが可能。
グローバルであるように設計され
ており、可用性が高く、最小のレ
イテンシで「ファイア・アンド・
フォーゲット」(撃ちっ放し)するこ
とが可能。冗長の転送経路。
Googleスケール
の設計
![Page 29: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/29.jpg)
Pub/SubトピックB
サブスクリプションXA
サブスクライバーX
パブリッシャーB
トピックA
パブリッシャーA
トピックC
パブリッシャーC
メッセージ1
メッセージ1
メッセージ3メッセージ2
メッセージ2
サブスクライバーY
メッセージ3
サブスクライバーZ
メッセージ3
サブスクリプションXB
サブスクリプションYC
サブスクリプション ZC
パブリッシャーとサブスクライバー
![Page 30: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/30.jpg)
Pub/Subトピック
プル サブスクリプションプッシュ サブスクリプ
ション
Google Cloud Platformアプリサードパーティーのネットワーク アプリ
デスクトップ / コマンドラインアプリモバイル アプリ
Javascript / html5のクライアント
パブリッシャーとサブスクライバーのエンドポイント
![Page 31: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/31.jpg)
メッセージングはショック アブゾーバ
スループット可用性
• 停電中に新たなリクエストをバッファリング
• 停電を引き起こす過負荷を阻止
• 停電からの回復のためにリクエストをリダイレクト
• 新たなリクエスト率の急増を平坦化
• 複数ワーカー間で負荷を分散
• 到着率とサービス率のバランスを取る
![Page 32: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/32.jpg)
使用事例: ワークキュー (スティッチング)
トピックの抽出Pub/Sub
エクストラクター
エクストラクター
エクストラクター
エクストラクター
共有サブスクリプション
App Engine抽出タスク
![Page 33: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/33.jpg)
サブスクライバー サブスクライバー
Pub/Sub Pub/Sub
プッシュ サブスクリプション
プル サブスクリプション
msg ack msg ack
RPC送信
RPCリターン
![Page 34: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/34.jpg)
使用事例: ワークキュー (抽出)
トピックのスティッチング
Pub/Sub
スティッチャー
スティッチング メッセージ
エクストラクター
![Page 35: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/35.jpg)
パイプライン処理
![Page 36: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/36.jpg)
パイプライン処理
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 37: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/37.jpg)
要件
● Queue Depthに基づいたワーカーのオンデマンド スケーリングができるロングランニング サービス
● セキュアなpub/subサブスクライバーとして機能することができる
● 開発、デプロイ、管理が容易
![Page 38: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/38.jpg)
Google Compute Engine
コンピュート リソース
- アメリカ、欧州、アジア地
区
- 高速なSDNベースの仮想
ネットワーキング
常に高速
- 高速の仮想マシン プロビジョ
ニング - 一貫した性能
コスト効率が高い
- Sub-Hour Billing- ブロック ストレージに対
してIOPSの請求なし
- ロードバランシングに仮
想マシンは不要
![Page 39: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/39.jpg)
多様なワークロードに合わせたインスタンス
12
4
8
(共有)
16
32
Compute Engineの仮想マシン :● Debian、CentOS、SUSE、RHEL
Ubuntu、Windows (ベータ)● 共有コアあるいは1~32コア● 最大208 GBのRAM
![Page 40: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/40.jpg)
マネージド インスタンス グループ
マネージド インスタンス グループ
● 同一のVMインスタンスのグループ化
マネージドインスタンスグループ
VMVM仮想マシン
![Page 41: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/41.jpg)
仮想マシンの作成/破壊
インスタンスグループ
マネージャー
マネージドインスタンスグループ
VMVM仮想マシン
インスタンス グループ マネージャー
マネージド インスタンス グループ
● 同一のVMインスタンスのグループ化
● インスタンス グループ マネージャーによ
るプロビジョニングと監視
![Page 42: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/42.jpg)
インスタンス テンプレート
仮想マシンの作成/破壊
インスタンスグループ
マネージャー
Instance Templateインスタンステンプレート
マネージドインスタンスグループ
VMVM仮想マシン
マネージド インスタンス グループ
● 同一のVMインスタンスのグループ化
● インスタンス グループ マネージャーによ
るプロビジョニングと監視
● インスタンス テンプレートがコンフィグ
レーションをプロビジョニングから切り離
す
![Page 43: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/43.jpg)
マネージドインスタンスグループ
インスタンス グループ アップデーター
仮想マシンの作成/破壊
インスタンスグループ
アップデーター
ローリングアップデート
VMVM仮想マシン
新たなテンプレート
マネージド インスタンス グループ
● 同一のVMインスタンスのグループ化
● インスタンス グループ マネージャーによ
るプロビジョニングと監視
● インスタンス テンプレートがコンフィグ
レーションをプロビジョニングから切り離
す
● インスタンス グループ アップデーターが
ローリング アップデートを適用
![Page 44: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/44.jpg)
Compute Engine Autoscaler
マネージドインスタンスグループ
仮想マシンの作成/破壊
インスタンスグループ
マネージャー
アクチュエータ
監視
オートスケーラー
クラウド モニタリング
利用
VMVM仮想マシン
Pub/Subトピック
![Page 45: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/45.jpg)
コンテナリゼーション
エクストラクターワーカー
仮想マシンの作成/破壊
インスタンスグループ
マネージャー
アクチュエータ
監視
オートスケーラー
クラウド モニタリング
利用
VMVMコンテナ
仮想マシン
トピックの抽出
![Page 46: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/46.jpg)
将来: Container Engine
Kubernetesを使用してDockerコンテナをデプロイ、実行、管理
コンテナ専用に作られた仮想マシンのクラスタをスピンアップ
いかなるDockerファイルも1つのコマンドでクラスタにインストール可能
モバイルアプリのインストールと同じくらい容易にコンテナをデプロイ
今日のトークセッション: 望ましい状態: Kubernetes のコンテナ技術ですべてをシンプルに
![Page 47: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/47.jpg)
まとめ
入力バケット
スティッチングQ
デバイス
エクストラクションQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 48: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/48.jpg)
コーディネーション
![Page 49: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/49.jpg)
コーディネーション
入力バケット
スティッチQ
デバイス
エクストラクトQ
通知プロセッサー エクストラク
ター
スティッチャー
動画アップロード
オブジェクト変更通知
出力バケット
コーディネーター
![Page 50: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/50.jpg)
Firebase
次のトークセッションにも是非ご参加ください!
意外と簡単、AI を使ったリアルタイム モバイルゲーム開発
![Page 51: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/51.jpg)
まとめとHex Test
![Page 52: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/52.jpg)
• Bret McGowen• Francesc Campoy• Kathy Kam• Ray Tsang
デモ作成
![Page 53: 6 月 18 日 Next - あっという間の、Google Cloud Platform 開発ガイド](https://reader034.vdocuments.net/reader034/viewer/2022052509/55c401e5bb61eb65078b460f/html5/thumbnails/53.jpg)
ありがとうございました!