SlideShare a Scribd company logo
1 of 47
Download to read offline
Google Cloud でアプリケーションを動かす
頼兼 孝幸
Google Cloud Japan
Application Modernization Specialist
自己紹介
Google Cloud
アプリケーション モダナイゼーション スペシャリスト
担当プロダクト エリア:
● Anthos
● GKE
● サーバーレス(App Engine、Cloud Run、Cloud Functions など)
● CI / CD
生まれも育ちも広島ですが、広島を出て 20 年以上になります…
頼兼 孝幸
Compute プロダクト
DB プロダクト
運用していく上での考慮点
まとめ
01
02
03
04
アジェンダ
Compute
プロダクト
01
Compute プロダクト一覧
● Google Cloud では計 5 つの Compute プロダクトを用意している
Compute Engine
Google
Kubernetes Engine
Cloud Run App Engine Cloud Functions
仮想マシン
フルマネージド
Kubernetes
サーバーレス
コンテナ実行環境
サーバーレス
アプリケーション
実行環境
サーバーレス
Functions as a Service
Compute プロダクト一覧
● 抽象度と柔軟性のトレードオフ
Compute Engine
Google
Kubernetes Engine
Cloud Run App Engine Cloud Functions
抽象度
柔軟性
Compute Engine
仮想マシン
● 柔軟なスペックの選択が可能
○ 高速な vCPU : 〜 112, メモリ: 〜 12 TB
○ ローカル SSD、GPU の利用
● 複数の OS を選択可能
○ 各種 Linux ディストリビューションから Windows Server まで
Compute Engine
特長
● ライブ マイグレーション
● カスタム マシンタイプ
(CPU, メモリの柔軟な選択)
● インスタンス グループ
● 秒単位での課金
インスタンス
グループ
インスタンス
グループ
インスタンス
グループ
CPU
メモリ
Compute Engine
ユースケース
● サードパーティ アプリケーションの実行
(Marketplace からも実行可能)
● 物理マシン、仮想マシン で稼働する
アプリケーションの移行
Google Kubernetes Engine(GKE)
フルマネージドなKubernetes サービス
● ユースケースに合わせた 2 つの運用モード
○ スタンダード:ノード設定の 柔軟性
○ Autopilot:完全マネージドな利用体験
● Kubernetes のエコシステムを活用
Kubernetes とは?
プロダクショングレードの
コンテナ オーケストレーションシステム
● コンテナ オーケストレーション
ツールのデファクト スタンダード
● オープンソース
● スケジューリング、自動ヒーリング、
自動スケーリング
● 高い拡張性
お客様構築、管理
API
Server
kubectl
User
Storage
Scheduler
Resource
Controllers
User Pod
Containers
Nodes
Control plane
Kubernetes Cluster
User Pod
Containers
User Pod
Containers
User Pod
Containers
Google Kubernetes Engine(GKE)
特長
● セキュリティとコンプライアンス
○ HIPAA と PCI DSS に準拠
● 自動でスケーリング、
アップグレード、ノードを修復
● ハイブリッドとマルチクラウド をサポート
kubectl
User
Nodes Google Cloud
サービス
Control plane
GKE cluster
GKE が構築、Google、お客様で管理
Google 管理
Google Cloud サービス
API
Server
Storage
Scheduler
Resource
Controllers
User Pod
Containers
User Pod
Containers
User Pod
Containers
User Pod
Containers
Vi ual
Private Cloud
Persistent
Disk
Cloud Load
Balancing
Operations
GKE - Autopilot モード
特長
● Control plane に加え Node も Google マネージドに
● 本番ワークロードに適した
ベストプラクティスが適用済み
○ セキュリティ
○ ワークロード
○ ネットワーク設定など
● Workload(Pod)ドリブンな世界へ
○ Pod 単位での課金、Pod への SLA
Nodes Google Cloud
サービス
Control plane
Autopilot cluster
Google 管理
Google Cloud サービス
Vi ual
Private Cloud
Persistent
Disk
Cloud Load
Balancing
Operations
kubectl
User
API
Server
Storage
Scheduler
Resource
Controllers
User Pod
Containers
User Pod
Containers
User Pod
Containers
User Pod
Containers
Google Kubernetes Engine(GKE)
スタンダード:おすすめユースケース
● ノードの設定変更が必要なゲームバックエンド
● GPU, TPU を使う ML パイプライン
Autopilot:おすすめユースケース
● スケーラブルな負荷テストツール用環境
● 必要リソースに変動の少ない Static なシステム
GKE のユースケース
● マイクロサービス アーキテクチャにおける 大規模 Web アプリケーション
● データ処理基盤
Cloud Run
コンテナ + サーバーレス
● 100 ミリ秒単位での課金。最大 4 vCPU(Preview で 8 vCPU も可)、
16 GiB RAM(Preview で 32 GiB も可)の利用
● オープンソースの Knative と API 互換になっていることによる移植の容易性
● ユースケースに合わせた 2 つの選択肢
○ Cloud Run:フルマネージド
○ Cloud Run for Anthos:柔軟性、ハイブリッドクラウド
※ ここからの Cloud Run については、フルマネージド版をベースに説明を進めます
Cloud Run(フルマネージド)
特長
● コンテナをデプロイするだけで 外部
から到達可能な URL が発行される
● 0 〜 N へトラフィックに応じて
高速にスケーリング
● イベント駆動で処理を実行
● HTTP/2, WebSocket, gRPC への対応
● 高度なトラフィック管理 が統合
第 2 世代の実行環境Preview
● CPU, ネットワークパフォーマンス向上
● すべてのシステムコールなど Linux との完全互換性
● ネットワーク ファイルシステムのサポート
Cloud Run Jobs Preview
● HTTP リクエストに依らない実行
● 分散タスクの実行で、より長時間の実行が可能
● 明示的な並列処理や、リトライ回数を定義
Cloud Run(フルマネージド)
ユースケース
● ステートレスなバックエンド
● サーバーレスでマイクロサービス の構築
● 軽量なデータ変換処理
● イベント駆動処理 Cloud
Storage
データ変換
Cloud Run
BigQuery
Cloud Storage
トリガ
構造化
データ格納
gRPC API
Cloud Run
DocumentDB
Firestore
API アクセス DB 操作
CSV
ファイル
App Engine
アプリケーション開発に集中するための
マネージドなサーバーレスプラットフォーム
● インフラ管理の必要なし
● 2008 年にプレビュー版がリリースされから
提供を続けてきた信頼性、エコシステムの大きさ
● 用途に合わせた App Engine 環境の提供
2008 2015
2012 2017
2019
App Engine のランタイム
環境
スタンダード
第 1 世代
スタンダード
第 2 世代
フレキシブル
開発言語
Python 2.7
Java 8
PHP 5.5
Go 1.11
Python 3.7,3.8,3.9
Java 11
Node.js 10,12,14,16
PHP 7.2,7.3,7.4
Ruby 2.5,2.6,2.7
Go 1.12+
Node.js, Ruby,
Java, Python,
Go, PHP, .NET
カスタムコンテナ
イメージ
実行環境 サンドボックス
仮想マシン上の
Docker コンテナ
Google Cloud
機能の利用
GAE 専用 の API
Google Cloud の API
Google Cloud の API を利用 ※
サードパーティ
バイナリのインストール
不可 可
※ Python 3, Java 11, Go 1.12+ では第 1 世代からのマイグレーション手段の提供を
目的とし、 一部のGAE 専用の API が利用できるようになっています
App Engine(スタンダード環境 第 2 世代)
特長
● トラフィック分割
● アプリケーション バージョニング
● トラフィックに合わせた
高速なスケーリング
Version 1 Version 2
80 % 20 %
App Engine(スタンダード環境 第 2 世代)
ユースケース
● スパイク特性のある Web アプリケーション
● 静的、動的コンテンツ を利用する
Web アプリケーション
● モバイル バックエンド データ格納
Firestore
API
アクセス
DB
操作
静的コンテンツ +
API
AppEngine
Cloud Load
Balancing
Cloud CDN
Cloud Functions
サーバーレスFunctions as a Service
● 様々な Google Cloud のイベントとの連携
● 100 ミリ秒単位の課金
Cloud Logging
Cloud Storage
Pub/Sub
Firebase
Firestore
HTTP Request
イベント
Cloud Functions
特長
● オープンソースの FaaS フレームワークを
利用し、ロックインを回避
● Cloud Trace、Cloud デバッガといった
Google Cloud の開発ツールと
ネイティブに連携 Functions Framework
ローカル環境
アプリケーション コード
Cloud Functions 第 2 世代
● リクエスト処理時間が最長 60 分に
● 最大 16 GiB メモリ、4 vCPU に
(Preview で 32 GiB メモリ、8 vCPU も可)
● 最小インスタンス設定、トラフィック分割が可能に
Cloud Functions
ユースケース
● サードパーティ サービス、API との統合
● リアルタイム ファイル処理
Cloud
Storage
Cloud
Storage
Vision API 呼び出し
Cloud Functions
不適切画像検出
Vision API
画像ブラー処理
Cloud Functions
トリガー
開始
処理済み
画像を格納
ユースケースの整理
Compute
Engine GKE Cloud Run
App
Engine
Cloud
Functions
サード パーティアプリ ◎ ○ △
物理、仮想マシン移行 ◎ ○ △
Web、モバイル バックエンド
ステートレス △ ○ ◎ ◎ ○
ステートフル ○ ◎ ○
内部 API
ステートレス △ ◎ ◎ ○ △
ステートフル ○ ◎ ○
注:マークが無いところが実現不可能というわけでありません
  運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
ユースケースの整理
● GKE か、サーバーレスプロダクトを選ぶかが大きな分岐点となる
Compute
Engine GKE Cloud Run
App
Engine
Cloud
Functions
バッチ
処理時間長、またはリソースが必要 ◎ ◎ ○ ○
軽い △ ◎ ◎ ○
ワークフロー △ ○ ◎
Google Cloud のイベントをソースに起動 △ ○ ◎
DB プロダクト
02
アプリあるところに DB あり
データベース
データ
クライアント
アプリケーション
システムで使うデータベースは何を使えば
いいのだろうか?
使いたい機能を持ったデータベースを選ぶ?
機能以外ではどんな基準で考えれば
いいのだろうか?
Google Cloud におけるマネージド データベースの選択肢
Cloud Bigtable
Cloud Spanner
PostgreSQL
SQL 方言のみ互換
Cloud SQL
for PostgreSQL
for MySQL
for SQL Server
BigQuery
Firestore
ネイティブモード
Datastore モード
Memorystore
for Redis
for Memcached
OSS 及び商用のマネージド DB クラウド ネイティブ DB
Datastream
Database Migration Service
データベース移行サービス サーバーレスCDC サービス
キャッシュ リレーショナルデータベース(SQL データベース) DWH
NoSQL データベース
KVS / ワイドカラム ドキュメント DB
クラウド環境用に設計された
Google Cloud 独自の DB のこと
ユーザー数や経験者も非常に多い OSS の DB や商用 DB を
マネージド サービス化
DB と一緒に使う周辺サービス
New!
AlloyDB
for PostgreSQL
(完全互換)
Preview
サーバーレス
アプリの裏で利用する Google Cloud のデータベース サービス
Google Cloud では、アプリの要件に合わせて使える
6 種類のマネージドDB を用意。
Cloud Bigtable
Cloud Spanner
Cloud SQL
for MySQL
for PostgreSQL
for SQL Server
Firestore
ネイティブモード
Datastore モード
Memorystore
for Redis
for Memcached
BigQuery は
データ分析系の
サービスなので
別枠です
AlloyDB
for PostgreSQL
(完全互換)
Preview
New!
まずは 2 種類に大分類
Cloud SQL
for MySQL
for PostgreSQL
for SQL Server
AlloyDB
for PostgreSQL
Preview
OSS / 商用のマネージド DB クラウド ネイティブ DB
Memorystore
for Redis
for Memcached
Cloud Bigtable
Cloud Spanner
Firestore
ネイティブモード
Datastore モード
OSS / 商用 DB をマネージド サービスとして提供
ユーザー数や経験者も非常に多い OSS や商用 DB を、
運用が簡単なマネージドサービスとして提供。
Memorystore
インメモリ データストアである Redis と Memcached を
マネージド サービスとして提供。
Cloud SQL
RDBMS である MySQL、PostgreSQL、SQL Server をマネージ
ド サービスとして提供。リードレプリカや HA 構成の構築や自動管
理、ストレージ容量の無停止自動拡張、自動バックアップなど、運
用を容易にする様々な機能を提供。
AlloyDB
RDBMS である PostgreSQL を、ストレージ層などを強化し、マ
ネージド サービスとして提供。Cloud SQL が持つ運用容易性に加
え、書き込み性能向上、低遅延のレプリケーション、可用性の向上
など、様々な強化が行われている。現在
プレビュー版として提供。
Cloud SQL
for MySQL
for PostgreSQL
for SQL Server
Memorystore
for Redis
for Memcached
キャッシュ
リレーショナルDB
AlloyDB
for PostgreSQL
Preview
Preview
リレーショナルDB
OS MySQL
VM
ロギング
監視
その他サービス
Cloud SQL for MySQL のインスタンス
マネージド サービスになってい
るだけで、中身は普通に OS の
上で動く RDBMS が動作してい
る。
クラウド環境に合わせて設計開発されたマネージド DB
クラウド ネイティブ DB は、クラウド上の複数ゾーンやリージョン
を活用した高可用性と、クラウドの柔軟な
リソースを活用したスケーラビリティを備えている。
アップグレードやメンテナンスも完全無停止で行われる。
Cloud Spanner
高可用性、スケーラビリティ、運用容易性、SQL のサポートなどを
備えた、フルマネージド RDBMS 。
Cloud Bigtable
NoSQL の一種であるワイド カラムストアを提供。高スループット
と低レイテンシな読み書きが可能。 Apache HBase との互換性も
あり。
Firestore
(ネイティブモード / Datastore モード)
NoSQL の一種であるドキュメント ストアをサーバーレス DB とし
て提供。Firebase との親和性が高く、モバイルアプリから直接接
続が可能であり、サーバーサイド要らずで開発を高速化。
KVS / ワイドカラム
ドキュメントDB
リレーショナルDB
Cloud
Bigtable
Cloud Spanner Firestore
ネイティブモード
Datastore モード
サーバーレス
AlloyDB は、PostgreSQL をクラウドネイティブDB として
提供した、両方の特性を持つデータベース。
Web / API サービスの開発において、まず検討する DB
Cloud Spanner
Cloud SQL
for PostgreSQL
for MySQL
for SQL Server
Firestore
ネイティブモード
Datastore モード
OSS のマネージド DB クラウド ネイティブ DB
リレーショナルデータベース(SQL データベース) NoSQL
ドキュメント DB
New!
AlloyDB
for PostgreSQL
(完全互換)
Preview
サーバーレス
注意)
AlloyDB は 2022 年 8 月現在はまだプレビュー期間中であり、サポート対象ではないため
AlloyDB GA 後の状況で選ぶ選択肢として今回は紹介。
ユースケースの整理
Cloud SQL AlloyDB Cloud Spanner Firestore
既存アプリケーションの移行( OSS 互換性) ◎ ◎ △
リレーショナル データベースとしての利用 ◎ ◎ ◎
モバイル バックエンド、リアルタイム同期 ◎
書き込みスループットのスケーラビリティが必要 △ ○ ◎ ○
運用負荷の低減 ○ ○ ◎ ◎
注:マークが無いところが実現不可能というわけでありません
  運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
アプリとデータベースの接続方式の違い
Cloud Spanner
Cloud Bigtable
Firestore
ユーザーアプリ
MySQL 用の
ドライバ
MySQL の通信プロトコル( TCP/IP)
Private IP
Public IP
サービスごとに API エンドポイントがあり、アプリからは、Google
Cloud が提供している各プロダクト用のドライバを利用して、共通
の API エンドポイントに接続する。
インスタンスごとに IP アドレスが割り振られており、アプリからは、データ
ベースごとのドライバを利用して IP アドレスとポート指定で接続。OSS とし
て使う MySQL や PostgreSQL と同じ接続方式。
例)spanner.googleapis.com
Cloud Spanner の通信(gRPC ベース)
API の
エンドポイント
例)10.35.32.38 : 3306
ユーザーアプリ
Cloud Spanner 用の
ドライバ
Cloud SQL / Memorystore / AlloyDB
Cloud Spanner / Cloud Bigtable / Firestore
project id / instance id / database name
+ IAM による認証情報 🔑
接続先 IP + DB の認証情報 🔑
Private IP
Private IP
OSS / 商用のマネージド DB
クラウド ネイティブ DB
Cloud SQL
for MySQL
AlloyDB
for PostgreSQL
Memorystore
for Redis
アプリとデータベースの接続俯瞰図
プロジェクト
ユーザーのVPC
Compute
Engine
サーバーレス
VPC アクセス
コネクタ
Cloud Run
Memorystore の VPC AlloyDB の VPC
Cloud SQL の VPC
Memorystore AlloyDB
Cloud SQL
アプリ
アプリ
Private IP
Private IP
Private IP
Public IP
(Auth Proxy 経由)
*) PSC = Private Service Connect
クラウド ネイティブ DB
リージョンやインスタンス問わず、
API エンドポイント
から自動的にルーティングされる。
Cloud Spanner、Firestore、Cloud Bigtable は、共通のAPI エンドポイントに接続するだけなので、ア
プリケーションが稼働するサービスを意識すること無く利用しやすい。一方、既存
DB との互換性を維持
しているCloud SQL、AlloyDB、Memorystore は、IP アドレスに接続に行くため、アプリケーション側
の
ネットワークを意識して接続方式を考える必要がある。
Kubernetes
Engine
アプリ
Cloud Bigtable
Cloud Spanner
Firestore
Public
Cloud APIs の
エンドポイント
Private (PSC*)
運用していく上での
考慮点
03
チーム構成
CCoE のような、サービスを
横断で管理するチームがいる場合
● そのチームに GKE の管理を任せることで
○ マルチテナント構成でリソースの有効利用
○ 知見の集約、他チームへの展開
○ 何より Kubernetes のエコシステムの活用
GKE cluster 1
CCoE
Service A Service B
Service C
GKE cluster 2
Service D
Service E
プロダクトの統一を考える
各ユースケースで最適なプロダクト選択に
固執するのではなく、それぞれのワークロードの
特性をカバーできる1 プロダクトに統一する
● クラウドでは普通にシステムを構築すると
複数のプロダクト(Compute 以外)を組み合わせることとなる
● 複数のプロダクトを利用する = それぞれの Day 2 operations にも責任を持つ
○ それぞれのプロダクトは 独自にアップデートされていく
コストの考え方
● コストは利用料金だけではなく、潜在的なコストも含めて考える
利用料金
● プロダクトごとに異なる、コストが
かかるポイント
● リソースの考え方
● 価格付けから読み取れる適切な使い方
潜在的なコスト
● Day 2 operations で発生するコスト
● プロダクトの学習コスト
● 将来、他のテクノロジーに移行するコスト
● エキスパートを採用するコスト
まとめ
04
再掲:Compute プロダクトのユースケースの整理
Compute
Engine GKE Cloud Run
App
Engine
Cloud
Functions
サード パーティアプリ ◎ ○ △
物理、仮想マシン移行 ◎ ○ △
Web、モバイル バックエンド
ステートレス △ ○ ◎ ◎ ○
ステートフル ○ ◎ ○
内部 API
ステートレス △ ◎ ◎ ○ △
ステートフル ○ ◎ ○
注:マークが無いところが実現不可能というわけでありません
  運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
再掲:Compute プロダクトのユースケース
Compute
Engine GKE Cloud Run
App
Engine
Cloud
Functions
バッチ
処理時間長、またはリソースが必要 ◎ ◎ ○ ○
軽い △ ◎ ○ ○
ワークフロー △ ○ ◎
Google Cloud のイベントをソースに起動 △ ○ ◎
AlloyDB
for PostgreSQL
Preview
4 種の DB から検討し、必要に応じて特化型の DB を利用
Cloud Bigtable
Cloud Spanner
PostgreSQL
SQL 方言のみ互換
Cloud SQL
for PostgreSQL
for MySQL
for SQL Server
BigQuery
Firestore
ネイティブモード
Datastore モード
Memorystore
for Redis
for Memcached
OSS 及び商用のマネージド DB クラウド ネイティブ DB(可用性 99.99% 以上を実現可)
キャッシュ リレーショナルデータベース(SQL データベース) DWH
NoSQL データベース
KVS / ワイドカラム ドキュメント DB
(GA 後に選択肢に)
サーバーレス
特定用途に特化
まずはこれらのDB で要件を満たせるかを検討する。
内製化向き
特定用途に特化
特定用途に特化
内製化向き
Cloud Run + Firestore
(Datastore モード) は、
サーバーレスの恩恵を最
大限活用できる、運用いら
ずの組み合わせ。
分析 DB、分析プラットフォー
ムとして使うなら、間違いなく
これ。
機械学習モデルの学習基盤
などにも最適。
Firebase 連携するなら、
Firestore ネイティブモード
高スループットと
低レイテンシが、同時に
必要な場合の選択肢。
大量の IoT センサーデータ
の処理や、機械学習での
レコメンデーションに利用す
る大量データなどを、
リアルタイムに読み書きする
といったユースケースなどに
適している。
99.95%
別途メンテナンスあり
99.99%
メンテナンス含む SLA
99.99 ~ 99.999%
メンテナンスによる
停止時間などは一切なし
書き込み含めた自在なスケーラビリティが必要なら Cloud Spanner。
提供されているインスタンス サイズで足りる性能でよければ、 Cloud SQL ま
たは AlloyDB (GA 後)を選択するのがよい。
可用性
性能と拡張性
フロントにキャッシュが必要
なときには検討
まとめ
プロダクトの
向き不向き
コ
ス
ト
チ
ー
ム
体
制
● それぞれのプロダクトは実現モデルが
わかりやすく分かれています
● チーム体制もあわせて
どのプロダクトを選ぶか検討しましょう
● 使い分けも大事ですが、 あえて 1 つのプロダクトに
寄せようとしてみるのも良いかもしれません
Thank you.

More Related Content

What's hot

What's hot (20)

入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
ここがつらいよAws batch
ここがつらいよAws batchここがつらいよAws batch
ここがつらいよAws batch
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティス
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
AWS Black Belt Techシリーズ AWS Management Console
AWS Black Belt Techシリーズ AWS Management ConsoleAWS Black Belt Techシリーズ AWS Management Console
AWS Black Belt Techシリーズ AWS Management Console
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 

Similar to Google Cloud でアプリケーションを動かす.pdf

PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
Microsoft
 

Similar to Google Cloud でアプリケーションを動かす.pdf (20)

[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
[Cloud OnAir] Google Cloud Next '20: OnAir 特別編 〜世界で人気のあったセッション特集〜 2020年9月24日 放送
 
[Cloud OnAir] Google Compute Engine に Deep Dive! 基本から運用時のベストプラクティスまで 2018年7月1...
[Cloud OnAir] Google Compute Engine に Deep Dive! 基本から運用時のベストプラクティスまで 2018年7月1...[Cloud OnAir] Google Compute Engine に Deep Dive! 基本から運用時のベストプラクティスまで 2018年7月1...
[Cloud OnAir] Google Compute Engine に Deep Dive! 基本から運用時のベストプラクティスまで 2018年7月1...
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
 
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
[Cloud OnAir] Google Cloud における RDBMS の運用パターン 2020年11月19日 放送
 
What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期What’s new in cloud run 2021 後期
What’s new in cloud run 2021 後期
 
Developer summit 2015 gcp
Developer summit 2015   gcpDeveloper summit 2015   gcp
Developer summit 2015 gcp
 
Developer summit 2015 GCP
Developer summit 2015  GCPDeveloper summit 2015  GCP
Developer summit 2015 GCP
 
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
[Cloud OnAir] Next ’19 サンフランシスコ最新情報 GCP 特集 2019年4月11日 放送
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
Windows Serverを活用する on Windows Azure セミナー
Windows Serverを活用する on Windows Azure セミナーWindows Serverを活用する on Windows Azure セミナー
Windows Serverを活用する on Windows Azure セミナー
 
[Cloud OnAir] Anthos で実現する ハイブリッドクラウド 〜 Cloud Service Mesh 編 〜 2019年9月5日 放送
[Cloud OnAir] Anthos で実現する ハイブリッドクラウド 〜 Cloud Service Mesh 編 〜 2019年9月5日 放送[Cloud OnAir] Anthos で実現する ハイブリッドクラウド 〜 Cloud Service Mesh 編 〜 2019年9月5日 放送
[Cloud OnAir] Anthos で実現する ハイブリッドクラウド 〜 Cloud Service Mesh 編 〜 2019年9月5日 放送
 
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
[Cloud OnAir] 最新アップデート Google Cloud データ関連ソリューション 2020年5月14日 放送
 
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
[Cloud OnAir] Google Cloud Next '18 in Tokyo サーバレス特集 2018年9月27日 放送
[Cloud OnAir] Google Cloud Next '18 in Tokyo サーバレス特集 2018年9月27日 放送[Cloud OnAir] Google Cloud Next '18 in Tokyo サーバレス特集 2018年9月27日 放送
[Cloud OnAir] Google Cloud Next '18 in Tokyo サーバレス特集 2018年9月27日 放送
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
 
[Cloud OnAir] Google Cloud の考える次世代ハイブリッドクラウドとは? 2019年8月22日 放送
[Cloud OnAir] Google Cloud の考える次世代ハイブリッドクラウドとは? 2019年8月22日 放送[Cloud OnAir] Google Cloud の考える次世代ハイブリッドクラウドとは? 2019年8月22日 放送
[Cloud OnAir] Google Cloud の考える次世代ハイブリッドクラウドとは? 2019年8月22日 放送
 
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
[Cloud OnAir] Talks by DevRel Vol. 1 インフラストラクチャ 2020年7月30日 放送
 

More from Google Cloud Platform - Japan

More from Google Cloud Platform - Japan (20)

ServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdfServerlessDays Tokyo 2022 Virtual.pdf
ServerlessDays Tokyo 2022 Virtual.pdf
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
 
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
【Dialogflow cx】はじめてみよう google cloud dialogflow cx 編
 
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ  〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
[Cloud OnAir] 事例紹介 : 株式会社マーケティングアプリケーションズ 〜クラウドへのマイグレーションとその後〜 2020年12月17日 放送
 
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
[Cloud OnAir] 【実演】Google Cloud VMware Engine と VMware ソリューションを組み合わせたハイブリッド環境の...
 
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
[Cloud OnAir] Google Workspace でできる データ分析と業務自動化のご紹介 2020年12月3日 放送
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
 
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
[Cloud OnAir] 事例紹介: 株式会社オープンハウス 〜Google サービスを活用したオープンハウスの AI の取り組み〜 2020年11月1...
 
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
[Cloud OnAir] 【Anthos 演習】 解説を聞きながら Anthos を体験しよう 2020年11月5日 放送
 
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
[Cloud OnAir] 【Google Kubernetes Engine 演習】解説を聞きながら GKE を体験しよう 2020年10月29日 放送
 
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
 
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online明日から役立つ  BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
明日から役立つ BigQuery ML 活用 5 つのヒント | Google Cloud INSIDE Games & Apps: Online
 
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
『MAGELLAN BLOCKS』を使って BigQuery を使い倒す!| Google Cloud INSIDE Games & Apps: Online
 
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
DeNA のデータ活用を支える BigQuery データの民主化とガバナンス強化の軌跡 | Google Cloud INSIDE Games & App...
 
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
[Cloud OnAir] Talks by DevRel Vol.4 データ管理とデータ ベース 2020年8月27日 放送
 
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
[Cloud OnAir] Talks by DevRel Vol.2 セキュリティ 2020年8月6日 放送
 
[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送
[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送
[Cloud OnAir] Cloud Run & Firestore で、実践アジャイル開発 2020年6月25日 放送
 
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
[Cloud OnAir] [Cloud OnAir] 最新版 GCP ではじめる、サーバーレスアプリケーションの開発。 2020年5月28日 放送 20...
 
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
 

Recently uploaded

Recently uploaded (8)

ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 

Google Cloud でアプリケーションを動かす.pdf

  • 1. Google Cloud でアプリケーションを動かす 頼兼 孝幸 Google Cloud Japan Application Modernization Specialist
  • 2. 自己紹介 Google Cloud アプリケーション モダナイゼーション スペシャリスト 担当プロダクト エリア: ● Anthos ● GKE ● サーバーレス(App Engine、Cloud Run、Cloud Functions など) ● CI / CD 生まれも育ちも広島ですが、広島を出て 20 年以上になります… 頼兼 孝幸
  • 5. Compute プロダクト一覧 ● Google Cloud では計 5 つの Compute プロダクトを用意している Compute Engine Google Kubernetes Engine Cloud Run App Engine Cloud Functions 仮想マシン フルマネージド Kubernetes サーバーレス コンテナ実行環境 サーバーレス アプリケーション 実行環境 サーバーレス Functions as a Service
  • 6. Compute プロダクト一覧 ● 抽象度と柔軟性のトレードオフ Compute Engine Google Kubernetes Engine Cloud Run App Engine Cloud Functions 抽象度 柔軟性
  • 7. Compute Engine 仮想マシン ● 柔軟なスペックの選択が可能 ○ 高速な vCPU : 〜 112, メモリ: 〜 12 TB ○ ローカル SSD、GPU の利用 ● 複数の OS を選択可能 ○ 各種 Linux ディストリビューションから Windows Server まで
  • 8. Compute Engine 特長 ● ライブ マイグレーション ● カスタム マシンタイプ (CPU, メモリの柔軟な選択) ● インスタンス グループ ● 秒単位での課金 インスタンス グループ インスタンス グループ インスタンス グループ CPU メモリ
  • 9. Compute Engine ユースケース ● サードパーティ アプリケーションの実行 (Marketplace からも実行可能) ● 物理マシン、仮想マシン で稼働する アプリケーションの移行
  • 10. Google Kubernetes Engine(GKE) フルマネージドなKubernetes サービス ● ユースケースに合わせた 2 つの運用モード ○ スタンダード:ノード設定の 柔軟性 ○ Autopilot:完全マネージドな利用体験 ● Kubernetes のエコシステムを活用
  • 11. Kubernetes とは? プロダクショングレードの コンテナ オーケストレーションシステム ● コンテナ オーケストレーション ツールのデファクト スタンダード ● オープンソース ● スケジューリング、自動ヒーリング、 自動スケーリング ● 高い拡張性 お客様構築、管理 API Server kubectl User Storage Scheduler Resource Controllers User Pod Containers Nodes Control plane Kubernetes Cluster User Pod Containers User Pod Containers User Pod Containers
  • 12. Google Kubernetes Engine(GKE) 特長 ● セキュリティとコンプライアンス ○ HIPAA と PCI DSS に準拠 ● 自動でスケーリング、 アップグレード、ノードを修復 ● ハイブリッドとマルチクラウド をサポート kubectl User Nodes Google Cloud サービス Control plane GKE cluster GKE が構築、Google、お客様で管理 Google 管理 Google Cloud サービス API Server Storage Scheduler Resource Controllers User Pod Containers User Pod Containers User Pod Containers User Pod Containers Vi ual Private Cloud Persistent Disk Cloud Load Balancing Operations
  • 13. GKE - Autopilot モード 特長 ● Control plane に加え Node も Google マネージドに ● 本番ワークロードに適した ベストプラクティスが適用済み ○ セキュリティ ○ ワークロード ○ ネットワーク設定など ● Workload(Pod)ドリブンな世界へ ○ Pod 単位での課金、Pod への SLA Nodes Google Cloud サービス Control plane Autopilot cluster Google 管理 Google Cloud サービス Vi ual Private Cloud Persistent Disk Cloud Load Balancing Operations kubectl User API Server Storage Scheduler Resource Controllers User Pod Containers User Pod Containers User Pod Containers User Pod Containers
  • 14. Google Kubernetes Engine(GKE) スタンダード:おすすめユースケース ● ノードの設定変更が必要なゲームバックエンド ● GPU, TPU を使う ML パイプライン Autopilot:おすすめユースケース ● スケーラブルな負荷テストツール用環境 ● 必要リソースに変動の少ない Static なシステム GKE のユースケース ● マイクロサービス アーキテクチャにおける 大規模 Web アプリケーション ● データ処理基盤
  • 15. Cloud Run コンテナ + サーバーレス ● 100 ミリ秒単位での課金。最大 4 vCPU(Preview で 8 vCPU も可)、 16 GiB RAM(Preview で 32 GiB も可)の利用 ● オープンソースの Knative と API 互換になっていることによる移植の容易性 ● ユースケースに合わせた 2 つの選択肢 ○ Cloud Run:フルマネージド ○ Cloud Run for Anthos:柔軟性、ハイブリッドクラウド ※ ここからの Cloud Run については、フルマネージド版をベースに説明を進めます
  • 16. Cloud Run(フルマネージド) 特長 ● コンテナをデプロイするだけで 外部 から到達可能な URL が発行される ● 0 〜 N へトラフィックに応じて 高速にスケーリング ● イベント駆動で処理を実行 ● HTTP/2, WebSocket, gRPC への対応 ● 高度なトラフィック管理 が統合 第 2 世代の実行環境Preview ● CPU, ネットワークパフォーマンス向上 ● すべてのシステムコールなど Linux との完全互換性 ● ネットワーク ファイルシステムのサポート Cloud Run Jobs Preview ● HTTP リクエストに依らない実行 ● 分散タスクの実行で、より長時間の実行が可能 ● 明示的な並列処理や、リトライ回数を定義
  • 17. Cloud Run(フルマネージド) ユースケース ● ステートレスなバックエンド ● サーバーレスでマイクロサービス の構築 ● 軽量なデータ変換処理 ● イベント駆動処理 Cloud Storage データ変換 Cloud Run BigQuery Cloud Storage トリガ 構造化 データ格納 gRPC API Cloud Run DocumentDB Firestore API アクセス DB 操作 CSV ファイル
  • 18. App Engine アプリケーション開発に集中するための マネージドなサーバーレスプラットフォーム ● インフラ管理の必要なし ● 2008 年にプレビュー版がリリースされから 提供を続けてきた信頼性、エコシステムの大きさ ● 用途に合わせた App Engine 環境の提供 2008 2015 2012 2017 2019
  • 19. App Engine のランタイム 環境 スタンダード 第 1 世代 スタンダード 第 2 世代 フレキシブル 開発言語 Python 2.7 Java 8 PHP 5.5 Go 1.11 Python 3.7,3.8,3.9 Java 11 Node.js 10,12,14,16 PHP 7.2,7.3,7.4 Ruby 2.5,2.6,2.7 Go 1.12+ Node.js, Ruby, Java, Python, Go, PHP, .NET カスタムコンテナ イメージ 実行環境 サンドボックス 仮想マシン上の Docker コンテナ Google Cloud 機能の利用 GAE 専用 の API Google Cloud の API Google Cloud の API を利用 ※ サードパーティ バイナリのインストール 不可 可 ※ Python 3, Java 11, Go 1.12+ では第 1 世代からのマイグレーション手段の提供を 目的とし、 一部のGAE 専用の API が利用できるようになっています
  • 20. App Engine(スタンダード環境 第 2 世代) 特長 ● トラフィック分割 ● アプリケーション バージョニング ● トラフィックに合わせた 高速なスケーリング Version 1 Version 2 80 % 20 %
  • 21. App Engine(スタンダード環境 第 2 世代) ユースケース ● スパイク特性のある Web アプリケーション ● 静的、動的コンテンツ を利用する Web アプリケーション ● モバイル バックエンド データ格納 Firestore API アクセス DB 操作 静的コンテンツ + API AppEngine Cloud Load Balancing Cloud CDN
  • 22. Cloud Functions サーバーレスFunctions as a Service ● 様々な Google Cloud のイベントとの連携 ● 100 ミリ秒単位の課金 Cloud Logging Cloud Storage Pub/Sub Firebase Firestore HTTP Request イベント
  • 23. Cloud Functions 特長 ● オープンソースの FaaS フレームワークを 利用し、ロックインを回避 ● Cloud Trace、Cloud デバッガといった Google Cloud の開発ツールと ネイティブに連携 Functions Framework ローカル環境 アプリケーション コード Cloud Functions 第 2 世代 ● リクエスト処理時間が最長 60 分に ● 最大 16 GiB メモリ、4 vCPU に (Preview で 32 GiB メモリ、8 vCPU も可) ● 最小インスタンス設定、トラフィック分割が可能に
  • 24. Cloud Functions ユースケース ● サードパーティ サービス、API との統合 ● リアルタイム ファイル処理 Cloud Storage Cloud Storage Vision API 呼び出し Cloud Functions 不適切画像検出 Vision API 画像ブラー処理 Cloud Functions トリガー 開始 処理済み 画像を格納
  • 25. ユースケースの整理 Compute Engine GKE Cloud Run App Engine Cloud Functions サード パーティアプリ ◎ ○ △ 物理、仮想マシン移行 ◎ ○ △ Web、モバイル バックエンド ステートレス △ ○ ◎ ◎ ○ ステートフル ○ ◎ ○ 内部 API ステートレス △ ◎ ◎ ○ △ ステートフル ○ ◎ ○ 注:マークが無いところが実現不可能というわけでありません   運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
  • 26. ユースケースの整理 ● GKE か、サーバーレスプロダクトを選ぶかが大きな分岐点となる Compute Engine GKE Cloud Run App Engine Cloud Functions バッチ 処理時間長、またはリソースが必要 ◎ ◎ ○ ○ 軽い △ ◎ ◎ ○ ワークフロー △ ○ ◎ Google Cloud のイベントをソースに起動 △ ○ ◎
  • 29. Google Cloud におけるマネージド データベースの選択肢 Cloud Bigtable Cloud Spanner PostgreSQL SQL 方言のみ互換 Cloud SQL for PostgreSQL for MySQL for SQL Server BigQuery Firestore ネイティブモード Datastore モード Memorystore for Redis for Memcached OSS 及び商用のマネージド DB クラウド ネイティブ DB Datastream Database Migration Service データベース移行サービス サーバーレスCDC サービス キャッシュ リレーショナルデータベース(SQL データベース) DWH NoSQL データベース KVS / ワイドカラム ドキュメント DB クラウド環境用に設計された Google Cloud 独自の DB のこと ユーザー数や経験者も非常に多い OSS の DB や商用 DB を マネージド サービス化 DB と一緒に使う周辺サービス New! AlloyDB for PostgreSQL (完全互換) Preview サーバーレス
  • 30. アプリの裏で利用する Google Cloud のデータベース サービス Google Cloud では、アプリの要件に合わせて使える 6 種類のマネージドDB を用意。 Cloud Bigtable Cloud Spanner Cloud SQL for MySQL for PostgreSQL for SQL Server Firestore ネイティブモード Datastore モード Memorystore for Redis for Memcached BigQuery は データ分析系の サービスなので 別枠です AlloyDB for PostgreSQL (完全互換) Preview New!
  • 31. まずは 2 種類に大分類 Cloud SQL for MySQL for PostgreSQL for SQL Server AlloyDB for PostgreSQL Preview OSS / 商用のマネージド DB クラウド ネイティブ DB Memorystore for Redis for Memcached Cloud Bigtable Cloud Spanner Firestore ネイティブモード Datastore モード
  • 32. OSS / 商用 DB をマネージド サービスとして提供 ユーザー数や経験者も非常に多い OSS や商用 DB を、 運用が簡単なマネージドサービスとして提供。 Memorystore インメモリ データストアである Redis と Memcached を マネージド サービスとして提供。 Cloud SQL RDBMS である MySQL、PostgreSQL、SQL Server をマネージ ド サービスとして提供。リードレプリカや HA 構成の構築や自動管 理、ストレージ容量の無停止自動拡張、自動バックアップなど、運 用を容易にする様々な機能を提供。 AlloyDB RDBMS である PostgreSQL を、ストレージ層などを強化し、マ ネージド サービスとして提供。Cloud SQL が持つ運用容易性に加 え、書き込み性能向上、低遅延のレプリケーション、可用性の向上 など、様々な強化が行われている。現在 プレビュー版として提供。 Cloud SQL for MySQL for PostgreSQL for SQL Server Memorystore for Redis for Memcached キャッシュ リレーショナルDB AlloyDB for PostgreSQL Preview Preview リレーショナルDB OS MySQL VM ロギング 監視 その他サービス Cloud SQL for MySQL のインスタンス マネージド サービスになってい るだけで、中身は普通に OS の 上で動く RDBMS が動作してい る。
  • 33. クラウド環境に合わせて設計開発されたマネージド DB クラウド ネイティブ DB は、クラウド上の複数ゾーンやリージョン を活用した高可用性と、クラウドの柔軟な リソースを活用したスケーラビリティを備えている。 アップグレードやメンテナンスも完全無停止で行われる。 Cloud Spanner 高可用性、スケーラビリティ、運用容易性、SQL のサポートなどを 備えた、フルマネージド RDBMS 。 Cloud Bigtable NoSQL の一種であるワイド カラムストアを提供。高スループット と低レイテンシな読み書きが可能。 Apache HBase との互換性も あり。 Firestore (ネイティブモード / Datastore モード) NoSQL の一種であるドキュメント ストアをサーバーレス DB とし て提供。Firebase との親和性が高く、モバイルアプリから直接接 続が可能であり、サーバーサイド要らずで開発を高速化。 KVS / ワイドカラム ドキュメントDB リレーショナルDB Cloud Bigtable Cloud Spanner Firestore ネイティブモード Datastore モード サーバーレス AlloyDB は、PostgreSQL をクラウドネイティブDB として 提供した、両方の特性を持つデータベース。
  • 34. Web / API サービスの開発において、まず検討する DB Cloud Spanner Cloud SQL for PostgreSQL for MySQL for SQL Server Firestore ネイティブモード Datastore モード OSS のマネージド DB クラウド ネイティブ DB リレーショナルデータベース(SQL データベース) NoSQL ドキュメント DB New! AlloyDB for PostgreSQL (完全互換) Preview サーバーレス 注意) AlloyDB は 2022 年 8 月現在はまだプレビュー期間中であり、サポート対象ではないため AlloyDB GA 後の状況で選ぶ選択肢として今回は紹介。
  • 35. ユースケースの整理 Cloud SQL AlloyDB Cloud Spanner Firestore 既存アプリケーションの移行( OSS 互換性) ◎ ◎ △ リレーショナル データベースとしての利用 ◎ ◎ ◎ モバイル バックエンド、リアルタイム同期 ◎ 書き込みスループットのスケーラビリティが必要 △ ○ ◎ ○ 運用負荷の低減 ○ ○ ◎ ◎ 注:マークが無いところが実現不可能というわけでありません   運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
  • 36. アプリとデータベースの接続方式の違い Cloud Spanner Cloud Bigtable Firestore ユーザーアプリ MySQL 用の ドライバ MySQL の通信プロトコル( TCP/IP) Private IP Public IP サービスごとに API エンドポイントがあり、アプリからは、Google Cloud が提供している各プロダクト用のドライバを利用して、共通 の API エンドポイントに接続する。 インスタンスごとに IP アドレスが割り振られており、アプリからは、データ ベースごとのドライバを利用して IP アドレスとポート指定で接続。OSS とし て使う MySQL や PostgreSQL と同じ接続方式。 例)spanner.googleapis.com Cloud Spanner の通信(gRPC ベース) API の エンドポイント 例)10.35.32.38 : 3306 ユーザーアプリ Cloud Spanner 用の ドライバ Cloud SQL / Memorystore / AlloyDB Cloud Spanner / Cloud Bigtable / Firestore project id / instance id / database name + IAM による認証情報 🔑 接続先 IP + DB の認証情報 🔑 Private IP Private IP OSS / 商用のマネージド DB クラウド ネイティブ DB Cloud SQL for MySQL AlloyDB for PostgreSQL Memorystore for Redis
  • 37. アプリとデータベースの接続俯瞰図 プロジェクト ユーザーのVPC Compute Engine サーバーレス VPC アクセス コネクタ Cloud Run Memorystore の VPC AlloyDB の VPC Cloud SQL の VPC Memorystore AlloyDB Cloud SQL アプリ アプリ Private IP Private IP Private IP Public IP (Auth Proxy 経由) *) PSC = Private Service Connect クラウド ネイティブ DB リージョンやインスタンス問わず、 API エンドポイント から自動的にルーティングされる。 Cloud Spanner、Firestore、Cloud Bigtable は、共通のAPI エンドポイントに接続するだけなので、ア プリケーションが稼働するサービスを意識すること無く利用しやすい。一方、既存 DB との互換性を維持 しているCloud SQL、AlloyDB、Memorystore は、IP アドレスに接続に行くため、アプリケーション側 の ネットワークを意識して接続方式を考える必要がある。 Kubernetes Engine アプリ Cloud Bigtable Cloud Spanner Firestore Public Cloud APIs の エンドポイント Private (PSC*)
  • 39. チーム構成 CCoE のような、サービスを 横断で管理するチームがいる場合 ● そのチームに GKE の管理を任せることで ○ マルチテナント構成でリソースの有効利用 ○ 知見の集約、他チームへの展開 ○ 何より Kubernetes のエコシステムの活用 GKE cluster 1 CCoE Service A Service B Service C GKE cluster 2 Service D Service E
  • 40. プロダクトの統一を考える 各ユースケースで最適なプロダクト選択に 固執するのではなく、それぞれのワークロードの 特性をカバーできる1 プロダクトに統一する ● クラウドでは普通にシステムを構築すると 複数のプロダクト(Compute 以外)を組み合わせることとなる ● 複数のプロダクトを利用する = それぞれの Day 2 operations にも責任を持つ ○ それぞれのプロダクトは 独自にアップデートされていく
  • 41. コストの考え方 ● コストは利用料金だけではなく、潜在的なコストも含めて考える 利用料金 ● プロダクトごとに異なる、コストが かかるポイント ● リソースの考え方 ● 価格付けから読み取れる適切な使い方 潜在的なコスト ● Day 2 operations で発生するコスト ● プロダクトの学習コスト ● 将来、他のテクノロジーに移行するコスト ● エキスパートを採用するコスト
  • 43. 再掲:Compute プロダクトのユースケースの整理 Compute Engine GKE Cloud Run App Engine Cloud Functions サード パーティアプリ ◎ ○ △ 物理、仮想マシン移行 ◎ ○ △ Web、モバイル バックエンド ステートレス △ ○ ◎ ◎ ○ ステートフル ○ ◎ ○ 内部 API ステートレス △ ◎ ◎ ○ △ ステートフル ○ ◎ ○ 注:マークが無いところが実現不可能というわけでありません   運用負荷なども勘案し、あくまで まず◎から検討してみる という基準とお考えください
  • 44. 再掲:Compute プロダクトのユースケース Compute Engine GKE Cloud Run App Engine Cloud Functions バッチ 処理時間長、またはリソースが必要 ◎ ◎ ○ ○ 軽い △ ◎ ○ ○ ワークフロー △ ○ ◎ Google Cloud のイベントをソースに起動 △ ○ ◎
  • 45. AlloyDB for PostgreSQL Preview 4 種の DB から検討し、必要に応じて特化型の DB を利用 Cloud Bigtable Cloud Spanner PostgreSQL SQL 方言のみ互換 Cloud SQL for PostgreSQL for MySQL for SQL Server BigQuery Firestore ネイティブモード Datastore モード Memorystore for Redis for Memcached OSS 及び商用のマネージド DB クラウド ネイティブ DB(可用性 99.99% 以上を実現可) キャッシュ リレーショナルデータベース(SQL データベース) DWH NoSQL データベース KVS / ワイドカラム ドキュメント DB (GA 後に選択肢に) サーバーレス 特定用途に特化 まずはこれらのDB で要件を満たせるかを検討する。 内製化向き 特定用途に特化 特定用途に特化 内製化向き Cloud Run + Firestore (Datastore モード) は、 サーバーレスの恩恵を最 大限活用できる、運用いら ずの組み合わせ。 分析 DB、分析プラットフォー ムとして使うなら、間違いなく これ。 機械学習モデルの学習基盤 などにも最適。 Firebase 連携するなら、 Firestore ネイティブモード 高スループットと 低レイテンシが、同時に 必要な場合の選択肢。 大量の IoT センサーデータ の処理や、機械学習での レコメンデーションに利用す る大量データなどを、 リアルタイムに読み書きする といったユースケースなどに 適している。 99.95% 別途メンテナンスあり 99.99% メンテナンス含む SLA 99.99 ~ 99.999% メンテナンスによる 停止時間などは一切なし 書き込み含めた自在なスケーラビリティが必要なら Cloud Spanner。 提供されているインスタンス サイズで足りる性能でよければ、 Cloud SQL ま たは AlloyDB (GA 後)を選択するのがよい。 可用性 性能と拡張性 フロントにキャッシュが必要 なときには検討