32
Cloud OnAir Cloud OnAir アプリランタイム について学ぼう 2 回放送 - 10 19

[Cloud on air] #02 GCP のアプリランタイムについて学ぼう

Embed Size (px)

Citation preview

Page 1: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

アプリランタイム について学ぼう第 2 回放送 - 10 月 19 日

Page 2: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Agenda

Cloud OnAir

1

3

2

4

Google のサービスを支えるインフラ

Google App Engine

Google Container Engine

Google Compute Engine

1 2

2

Page 3: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

Google のサービスを支えるインフラ

Page 4: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google のインフラ

4

Page 5: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google のインフラ

10億人

を超える

ユーザー

5

Page 6: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google サービスを支えるためのインフラストラクチャDatacenter as a Computer

6

Page 7: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google のインフラ

= The Datacenter as a Computer

7

Page 8: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

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

Page 9: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

9

Page 10: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

GCP 上でアプリケーションを動かす選択肢

Compute Engine App EngineContainer Engine

IaaS PaaS仮想マシンを

提供Web アプリ基盤を

提供Kubernetes 環境を

提供

既存のシステムや既存の運用を踏襲

Docker コンテナを本番展開

Web アプリや API向け

CaaS

10

Page 11: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

Google Compute Engine (GCE) とは?

Page 12: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

● 仮想マシンインスタンスを秒課金で提供

● 2012 年からサービス提供

● OS 以上のレイヤーはお客様管理

● ライブマイグレーションにより

Google のメンテナンスによるダウンタイムなし

● 非計画停止には自動再起動で復旧

● 突発的なスパイクに対応できるロードバランサ

● マルチゾーンでオートスケール可能

Google Compute Engine とは

12

Page 13: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

テキスト

□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■

Title□■□■□■□■□

Live Migration = No Downtime

13

Page 14: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

VM Networking

16Gbps with 8 core VM

14

Page 15: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

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

Page 16: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

1 つの IP で世界中のどこへでも分散できるロードバランサ

16

Page 17: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

より手軽に始められる Cloud Launcher

● 予め用意されたアプリケーションを展開

● 2017/10/13 時点 281 種類提供

● 数クリックで自動展開

● 展開後は通常通り管理可能

17

Page 18: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

Google Container Engine (GKE) とは?

Page 19: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

画像を配置後左側の図形とフッターロゴを

被せて下さいhttps://goo.gl/uHwh8Y

Cloud OnAirCloud OnAir

Title□■□■□■□■□コンテナとは?

● コンテナはコードと依存性を

ひと固まりにまとめる

● メリット

○ デプロイ単位の単純化

○ アプリケーションと

インフラの疎結合化

○ 起動が速い

コンテナ イメージ

依存性

アプリケーション コード

Page 20: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Docker をいざ実践投入しようとすると・・・

Node Node

Cluster

Node

???

複数のノードにどうやってデプロイする? ノードがダウンしたらどうする? コンテナで障害が発生したらどうする? アプリケーションの更新はどうする? コンテナ間の通信はどうする?

20

Page 21: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Kubernetes とは

● “コンテナオーケストレーション”

○ コンテナ中心のインフラ

● Google の内部システムとコンテナの運用経験に

インスパイアされている

● Runs Anywhere

● 2014 年にオープンソース化

● Kubernetes やクラウドネイティブ

エコシステムを管理する CNCF に寄贈

21

Page 22: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google Container Engine

● Kubernetes のマネージドサービス

● Docker コンテナを持ち込みさえすれば OK

● Kubernetes のリリース後、数日でサービスにも反映

● ロードバランサ / 監視 / ログ管理 / ディスクの

GCP との連携

● Alpha の機能も気楽に試せる

22

Page 23: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

Google App Engine (GAE) とは?

Page 24: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Google では 10 年間に渡り、すべてのサービスをコンテナで動かしてきた毎週 20 億以上のコンテナを立ち上げている

Images by Connie Zhou24

Page 25: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

● Platform-as-a-service ユーザはアプリケーションを書いてデプロイするだけ

● 2008 年からサービス提供

● アプリを動かすための全てのことを Google に任せられる

○ インスタンス数の管理、ロードバランサ、etc

● Web アプリケーション専用で最適化されている

● 最短 数十 ms - 数百 ms で自動的にスケールアウト

Google App Engine

25

Page 26: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google App Engine でのデプロイ

$ gcloud app deploy

server.js

package.json

26

Page 27: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google App Engine でのデプロイ

$ gcloud app deploy

server.js

package.json

アプリケーションApp Engine

可用性ゾーン

ゾーン #2可用性ゾーン

ゾーン #3

自動スケーラ

Upload files

ソースコードCloud Storage

可用性ゾーン

ゾーン #1

自動スケーラ 自動スケーラ

ロードバランサ

GCLBトラフィックの分散

27

Page 28: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

コードをデプロイする際に、その裏では様々なセット アップも行っている

Google App Engine でのデプロイ

ロギング

監視

負荷分散自動スケーリング

ヘルスチェック SSL とドメイン

28

Page 29: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Google App Engine で実現できる柔軟なデプロイ手法

v1 v2 v1 v2 A B

example.com example.com example.com

一気に切り替え 最初は少数だけ 並行稼働

ブルーグリーンデプロイメント

カナリアリリース

A / B テスト

29

Page 30: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Cloud OnAir

まとめ

Page 31: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

GCP 上でアプリケーションを動かす選択肢

Compute Engine App EngineContainer Engine

IaaS PaaS仮想マシンを

提供Web アプリ基盤を

提供Kubernetes 環境を

提供

既存のシステムや既存の運用を踏襲

Docker コンテナを本番展開

WebアプリやAPI向け

CaaS

31

Page 32: [Cloud on air] #02  GCP のアプリランタイムについて学ぼう

Cloud OnAir

Datacenter as a Computer のパワーをあなたにお届け

32