GCP で実現する
クラウドネイティブアプリケーション
福田 潔
グーグル・クラウド・ジャパン合同会社
カスタマーエンジニア
クラウド
ネイティブ化
エンタープライズ IT におけるクラウドの現状
移行はわずか 10%
のワークロード
アプリの大半が
未だオンプレミス
40%
がアプリやデータをオンプレミスへ
戻している
中には元に戻るものも
73%
の企業がクラウドを採用
パブリック
クラウドの波
● リフト&シフトが一番多い
(60%+)
● 使いやすさ、可用性、
● コスト削減
● ワークロードをどこに置けば
ビジネスに対して良いのかを
迷う
● セキュリティを重視してオンプ
レミスに戻す
● データ保護 & セキュリティ
● 可視性とコントロール
● ベンダーロックイン
80% の企業がハイブリッドクラウドを採用
CI/CD のローカルでの実施
オンプレミス
環境によって最適なサービス管轄権
source:
https://www.cbronline.com/news/80-enterprises-hybrid-c
loud-plans-place-report
クラウド ソフトウェアの進化
従来型の
データセンター
ハードウェアの
仮想化
サービスとして
のインフラ(IaaS)
クラウド
ネイティブな
サービス (XaaS)
専有、 一枚岩の ア
プリ
サーバの統合、
コストドリブンIT
柔軟なコンピュート
オンデマンド
 ワークロードポータビリティ
動的ユーザー/エッジサービス、SaaS
IT のモダナイゼーション
従来型アプリ & オペレーション クラウドネイティブ アプリ & オペレーション
パブリック
オンプレミス
生産的
ポータビリティ
拡張性
可用性
効率的 & 運用のアジリティ
使った分だけ払う
セキュア
IT における課題
パブリック
オンプレミス
硬直 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
モダナイゼーションへの道
生産的
ポータビリティ
拡張性
可用性
能率的 & 運用のアジリティ
使った分だけ払う
セキュア
硬直 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
パブリック
オンプレミス
Rip & Replace(完全な置き換え)
生産的
ポータビリティ
拡張性
可用性
能率的 & 運用のアジリティ
使った分だけ払う
セキュリティ
厳密 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
パブリック
オンプレミス
リフト & シフト
効率的 & 運用のアジリティ
使った分だけ払う
セキュア
硬直 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
パブリック
オンプレミス
リフト & モダナイゼーション
効率的 & 運用のアジリティ
使った分だけ払う
セキュア
硬直 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
パブリック
オンプレミス
改修 & 移行
生産的
ポータビリティ
拡張性硬直 & 高価
クラウドネイティブ アプリ & オペレーション従来型アプリ & オペレーション
パブリック
オンプレミス
0新たな
プラットフォーム
Trend 1: モノリスからマイクロサービスへ
“120 microservices? That’s a lot to deploy, secure, connect, and manage!”
Trend 2: ハイブリッド/マルチクラウド/パブリック
クラウド
Apps Other public clouds
Google Cloud
On-prem/Private Clouds
管理コスト
+83%
サーバーコスト
-15%
https://cloud.google.com/open-cloud/
Cloud Services Platform (CSP)
ハイブリッド / マルチクラウドプラットフォーム間でのサービスの一貫性
Cloud Services Platform
CI/CD
ロギング &
モニタリング
サービスメッシュ
サーバレス
マーケット
プレイス
オンプレミス
クラウド
ポリシー管理
ソリューション
コア サービス
Cloud Services Platform の原則
中央制御 柔軟性信頼性を伴う
アジリティ
一貫した体験
インフラ
APPS
インフラ
APPS
Enterprise オンプレミス Google Cloud Platform 他のパブリッククラウド
クラスタ管理、 サービス管理、 ポリシーの自動化
● 従来型のインフラ中心の IT モデルから自動サービス指向のプラットフォームへシフト
● 競争力を上げる為アプリケーションの モダナイズと Cloud 移行により、Dev と Ops のアジリティーと効率を
向上
● CSP は多様にコラボーレーションしている クラウド環境間でアジャイル開発、サービス運営 、イベント駆動
への自動化を最適化
Netflix における
サービスメッシュの
例
サービスメッシュ
サービスメッ
シュ
とは?
サービスメッシュは、アプリケーションの
ネットワーク機能を提供する
それはアプリケーションから見て透過的か
つ言語に依存しない方法で提供され、柔
軟に変更できる
Istio とは? サービスメッシュを実現するための基盤。
コンテナおよび VM に跨るサービス間のやり
取りを管理するためのオープンサービスプラッ
トフォーム
Istio
Who’s working on
it?
Product
Overview
Kubernetes
インフラ (コンピュート, ストレージ, ネットワーク)
“kubectl is the new ssh…”
@kelseyhightower, kubecon 2017 keynote
Kubernetes : 新たな共通インフラ
SkaffoldIstio
Kubernetes
Knative
インフラ (コンピュート, ストレージ, ネットワーク)
Prometheus
補完機能はオープンソースとして
Kubernetes 上に構築される
サーバレス サービスメッシュ ビルド/デプロイ 監視
Cloud Build CI/CDIstio for GKE
Google Kubernetes Engine
Serverless
add-on for GKE
GCP インフラ (コンピュート, ストレージ, ネットワーク)
Stackdriver +
Prometheus
GCP はマネージドサービスを提供
サーバレス サービスメッシュ ビルド/デプロイ 監視
Google
Kubernetes
Engine (GKE)
GKE の特徴
● Kubernetes の master と node 両方をフルマネージドで提供
○ Master は課金されない
● node の修復やアップグレード、スケールを自動で実行
● CPU, GPU, TPU をサポート
● Preemptible VM が利用可能
● セキュリティ
○ Container optimized OS を提供
○ Private Cluster
● SLA(regional cluster) Master:99.5 or 99.95 (リージョナル), Worker node:99.99
● GKE や k8s の API リクエストは Stackdriver にログが残る
2006 2009 2012 2015
10 年以上のコンテナへのアプローチ
Work begin to
bring Google’s
internal container
patterns to the
outside world
GKE is generally available
August 2015
The modern concept of a
Linux ‘container’ is open-
sourced by Google
2018
Kubernetes is unveiled and
open-sourced
GKE On-Prem
announced
http://stackalytics.com/cncf?module=kubernetes
Kubernetes is now literally Open
GKE 2018 年の主な追加機能
2018/09
● Network Endpoint
Group
● Multi Cluster Ingress
2018/10
● Private Clusters
● Authorized Networks for
Kubernetes Master
2018/08
● Binary authorization
● Ingress HTTP/2 support
● COS
● VPC native
2018/07
● Cloud TPU
2018/06
● GPU
2018/05
● Custom Boot Disk
● Alias IP
● Shared VPC
Private
clusters Master
Nodes
マスターもノードもパブリック IP
を持たない
マスターは承認済みのネット
ワークを有効にして外部から
操作
よりセキュアかつクローズドな
構成で利用可能
GA
Regional
Clusters
Zone BZone A Zone C
Regional Control Plane
Nodes Nodes Nodes
マスター、ノードを ゾーン 冗長化
マスターメンテナンスやアップグレード
時も、オペレーション可能
GA
Network
Endpoint Groups
Kube-proxy を経由しない、低レイテンシな最適経路通信
ダブルホップ問題に対する解決策
Beta
Region B
Master
Nodes
Region A
Master
Nodes
Multi-cluster
ingress
N クラスターを Ingress で統一
Loadbalancer がユーザに最適な
Region を選択し通信
Beta
FASTER (US, JP, TW)
2016
Unity (US, JP) 2010
SJC (JP, HK, SG)
2013
POP >100
Monet (US, BR)
2017海底ケーブル
PLCN Unity (HK, LA)
2018
Indigo (SG, ID,
AU) 2019
Tannat (BR, UY, AR)
2017
Junior (Rio, Santos)
2017Google グローバルキャッシュ(GCC)
エッジ ノード (>800)
光ファイバーネットワーク
Google のグローバルネットワーク
Stackdriver
Kubernetes
Monitoring
ネームスペース、デプロイメン
ト、ポッドに対するさらなるメト
リクス把握
Beta
デモ
Kubernetes
Engine
Compute
Engine Kubernetes
Cloud Load
Balancing
GKE
On-Prem
Traffic Director を発表
Traffic Director
Alpha
NEW
● コントロールプレーンのマネージド・サービス
● Envoy (Service proxy) の管理
● グローバル・ロードバランサ
● 中央管理のヘルスチェック
● トラフィックベースのオートスケール
[Note: Current config via GCP APIs only, Istio APIs coming soon]
Traffic Director
Traffic Director
Alpha
Traffic Director for our services
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Traffic Director
Open xDSv2 APIs
Traffic Director: Global Load Balancing
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Traffic Director
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Web Front-end
app-cart-asia-southeast1
app-cart-us-central1
app-payment-asia-southeast1
app-payment-us-central1app-web-us-central1
app-web-asia-southeast1
Maya in
California
Shen in
Singapore
Shopping cart Payment
Traffic Director: Cross-region failover and
overflow
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Traffic Director
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Web Front-end
app-cart-asia-southeast1
app-cart-us-central1
app-payment-asia-southeast1
app-payment-us-central1app-web-us-central1
app-web-asia-southeast1
Maya in
California
Shen in
Singapore
Shopping cart Payment
Forward looking and subject to change
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Istio SecurityMixer
Istio
Control
Plane
Future: Traffic Director for Istio + Envoy
Sidecar
proxy in
dataplane
(Envoy)
Traffic Director
HTTP/1.1, HTTP/2,
gRPC, TCP, TLS
HTTP/1.1, HTTP/2,
gRPC, TCP, TLS
Google Cloud
Managed
by GCP
Open xDSv2 API
Proxy
Frontend
Proxy
Shopping
Cart
Proxy
Payments
Istio SecurityMixer
Traffic Director
HTTP/1.1, HTTP/2,
gRPC, TCP, TLS
HTTP/1.1, HTTP/2,
gRPC, TCP, TLS
Google Cloud
Managed
by GCP
Service Y
proxy
Pod
On-prem deployment
Future: Traffic Director for Istio +
Envoy (Multi-cloud)
Forward looking and subject to change
Confidential & Proprietary
Thank you

GCPで実現するクラウドネイティブアプリケーション