[cloud on air] #02 gcp のアプリランタイムについて学ぼう
TRANSCRIPT
Cloud OnAir
Cloud OnAir
アプリランタイム について学ぼう第 2 回放送 - 10 月 19 日
Agenda
Cloud OnAir
1
3
2
4
Google のサービスを支えるインフラ
Google App Engine
Google Container Engine
Google Compute Engine
1 2
2
Cloud OnAir
Cloud OnAir
Google のサービスを支えるインフラ
Cloud OnAir
Google のインフラ
4
Cloud OnAir
Google のインフラ
10億人
を超える
ユーザー
5
Cloud OnAir
Google サービスを支えるためのインフラストラクチャDatacenter as a Computer
6
Cloud OnAir
Google のインフラ
= The Datacenter as a Computer
7
Cloud OnAir
プラネット スケールインフラストラクチャ
IowaFASTER (US, JP, TW) 2016
Unity (US, JP) 2010
SJC (JP, HK, SG) 2013
43
Frankfurt
Singapore
S Carolina
N Virginia
BelgiumLondon
TaiwanMumbai
Sydney
Oregon
São Paulo
Finland
Tokyo
Montreal
California
Netherlands
2
33
3
3
33 3
2
3
33
Edge points of presence (>100)
Leased and owned fiber
#
#
Future regions and number of zones
Current regions and number of zones
3
3
過去 3 年間で $29.4B(約 3 兆 5 千億円)の投資
3
8
9
Cloud OnAir
GCP 上でアプリケーションを動かす選択肢
Compute Engine App EngineContainer Engine
IaaS PaaS仮想マシンを
提供Web アプリ基盤を
提供Kubernetes 環境を
提供
既存のシステムや既存の運用を踏襲
Docker コンテナを本番展開
Web アプリや API向け
CaaS
10
Cloud OnAir
Cloud OnAir
Google Compute Engine (GCE) とは?
Cloud OnAir
● 仮想マシンインスタンスを秒課金で提供
● 2012 年からサービス提供
● OS 以上のレイヤーはお客様管理
● ライブマイグレーションにより
Google のメンテナンスによるダウンタイムなし
● 非計画停止には自動再起動で復旧
● 突発的なスパイクに対応できるロードバランサ
● マルチゾーンでオートスケール可能
Google Compute Engine とは
12
Cloud OnAir
テキスト
□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
Title□■□■□■□■□
Live Migration = No Downtime
13
VM Networking
16Gbps with 8 core VM
14
Cloud OnAir
デフォルトでグローバルなプライベートネットワーク
Virtual Private Cloud
asia-northeast1
App ServerCompute Engine
us-east1
App ServerCompute Engine
europe-west1
App ServerCompute Engine
us-east1
App ServerCompute Engine
15
Cloud OnAir
1 つの IP で世界中のどこへでも分散できるロードバランサ
16
Cloud OnAir
より手軽に始められる Cloud Launcher
● 予め用意されたアプリケーションを展開
● 2017/10/13 時点 281 種類提供
● 数クリックで自動展開
● 展開後は通常通り管理可能
17
Cloud OnAir
Cloud OnAir
Google Container Engine (GKE) とは?
画像を配置後左側の図形とフッターロゴを
被せて下さいhttps://goo.gl/uHwh8Y
Cloud OnAirCloud OnAir
Title□■□■□■□■□コンテナとは?
● コンテナはコードと依存性を
ひと固まりにまとめる
● メリット
○ デプロイ単位の単純化
○ アプリケーションと
インフラの疎結合化
○ 起動が速い
コンテナ イメージ
依存性
アプリケーション コード
Cloud OnAir
Docker をいざ実践投入しようとすると・・・
Node Node
Cluster
Node
???
複数のノードにどうやってデプロイする? ノードがダウンしたらどうする? コンテナで障害が発生したらどうする? アプリケーションの更新はどうする? コンテナ間の通信はどうする?
20
Cloud OnAir
Kubernetes とは
● “コンテナオーケストレーション”
○ コンテナ中心のインフラ
● Google の内部システムとコンテナの運用経験に
インスパイアされている
● Runs Anywhere
● 2014 年にオープンソース化
● Kubernetes やクラウドネイティブ
エコシステムを管理する CNCF に寄贈
21
Cloud OnAir
Google Container Engine
● Kubernetes のマネージドサービス
● Docker コンテナを持ち込みさえすれば OK
● Kubernetes のリリース後、数日でサービスにも反映
● ロードバランサ / 監視 / ログ管理 / ディスクの
GCP との連携
● Alpha の機能も気楽に試せる
22
Cloud OnAir
Cloud OnAir
Google App Engine (GAE) とは?
Google では 10 年間に渡り、すべてのサービスをコンテナで動かしてきた毎週 20 億以上のコンテナを立ち上げている
Images by Connie Zhou24
Cloud OnAir
● Platform-as-a-service ユーザはアプリケーションを書いてデプロイするだけ
● 2008 年からサービス提供
● アプリを動かすための全てのことを Google に任せられる
○ インスタンス数の管理、ロードバランサ、etc
● Web アプリケーション専用で最適化されている
● 最短 数十 ms - 数百 ms で自動的にスケールアウト
Google App Engine
25
Cloud OnAir
Google App Engine でのデプロイ
$ gcloud app deploy
server.js
package.json
26
Cloud OnAir
Google App Engine でのデプロイ
$ gcloud app deploy
server.js
package.json
アプリケーションApp Engine
可用性ゾーン
ゾーン #2可用性ゾーン
ゾーン #3
自動スケーラ
Upload files
ソースコードCloud Storage
可用性ゾーン
ゾーン #1
自動スケーラ 自動スケーラ
ロードバランサ
GCLBトラフィックの分散
27
Cloud OnAir
コードをデプロイする際に、その裏では様々なセット アップも行っている
Google App Engine でのデプロイ
ロギング
監視
負荷分散自動スケーリング
ヘルスチェック SSL とドメイン
28
Cloud OnAir
Google App Engine で実現できる柔軟なデプロイ手法
v1 v2 v1 v2 A B
example.com example.com example.com
一気に切り替え 最初は少数だけ 並行稼働
ブルーグリーンデプロイメント
カナリアリリース
A / B テスト
29
Cloud OnAir
Cloud OnAir
まとめ
Cloud OnAir
GCP 上でアプリケーションを動かす選択肢
Compute Engine App EngineContainer Engine
IaaS PaaS仮想マシンを
提供Web アプリ基盤を
提供Kubernetes 環境を
提供
既存のシステムや既存の運用を踏襲
Docker コンテナを本番展開
WebアプリやAPI向け
CaaS
31
Cloud OnAir
Datacenter as a Computer のパワーをあなたにお届け
32