Upload
google-cloud-platform-japan
View
347
Download
3
Embed Size (px)
Citation preview
© 2015 Google
コンテナ技術とGoogle Compute Engineで実現するクラウド時代のアプリ実行環境〜 サーバサイドはこれで決まり!
Google Cloud Platform セールスエンジニア福田 潔
#gcpライブ
IaaSにするかPaaSにするか
ハイパーバイザー
ゲスト環境
app コード
app 実行環境
ゲストOS
ライブラリ
Googleが管理Googleが管理
ユーザ管理
ユーザ管理
HW
Compute Engine
IaaSInfrastructure-as-a-Service
Compute EngineApp Engine
PaaSPlatform-as-a-Service
Google Cloud Platform
App Engine の特徴
● Platform-as-a-service
● ユーザはアプリケーションを書いてデプロイするだ
け。残りはGoogle が管理
● 負荷に応じて自動的にスケールアウト
● Python, Java, PHP, Go言語をネイティブサポート
● Cloud Endpoint を利用すると容易にAPI化可能
高速なインスタンス起動低コスト
● VMあたり20秒から40秒程度で起動
● クラスタサイズを増や
しても変わらない
ブートしてSSH可能になるまでの時間
クラスタサイズ
VMあたりの起動時間
(秒
)
低コストGoogleスケール
Googleクオリティ
VMにアタッチすることのでき
るコスト効果の高いストレー
ジ
適用領域プロダクトの初期段階ブートIOストリーミング IO
高性能ディスクの選択肢
高I/Oを要求するアプリケー
ションに適した高性能なSSD
適用領域本番環境のDB
VMが動作するホストサーバ
にアタッチする、最も高い性
能を発揮するローカルフラッ
シュストレージ
最大680,000 READ IOPS
適用領域Hadoop, Cassandra クラスタ
標準永続ディスク SSD 永続ディスク ローカル SSD
低コストGoogleクオリティ
Googleスケール
Volume Size (GB)
標準永続ディスク
SSD 永続ディスク
ボリュームサイズ (GB)
ボリュームサイズ (GB)
ランダム
RE
AD
IOP
S
ランダム
WR
ITE
IOP
S
ディスクサイズに応じてIOPSがスケールする低コスト
Googleクオリティ
Googleスケール
Google Compute Engineの最も優れている特徴の一つは、その性能が非常に信頼できるということだ。
– Joe Masters EmisonFounder & VP of Research
and Development, BuildFax
source: Google
低コストGoogleクオリティ
Googleスケール
一貫した性能
優れたネットワーク性能
1 Stream 200 Streams
Gbi
ts /
sec
0
2
4
6
8
Baseline
Andromeda 1.0 (Mar 2014)
Andromeda 1.5 (Oct 2014)
TCP Throughput
低コストGoogleクオリティ
Googleスケール
● ロードバランサーは
“google.com”と同じインフ
ラを使用
● 準備時間の必要なく100万 QPSのリクエストに対応可
能
100万 QPS トータルコスト10 USD
4秒で起動
120秒以内に安定
source: Google
低コストGoogleスケール
Googleクオリティ
高性能なロードバランサー
“ログおよびDBのデータを見てみたが、通常と異る
ところは何もなかった。もし、 Googleが我々のイ
ンスタンスが移動したことを教えてくれなかった
ら、全く気づかなかったでしょう。 ”
“このテストはGCEのライブマイグレーションが
我々の期待どおり動作することを確信させてくれ
た”
ライブマイグレーション
HTTP および JSON API による容易なアクセス
$ gcloud auth login
$ gcloud compute instances create my-instance --zone us-
central1-a
$ gcloud compute instances list
低コストGoogleクオリティ
Googleスケール
一分の単位の課金のメリット
Atomic Fictionの例
Type of Frame Hourly Per-Minute Savings
Short (12-25 mins) $26.40 $16.28 38%
Medium (49-72 mins) $39.60 $26.44 33%
Very Long (6-7 hours) $147.84 $132.18 10%
• 使えば使うほど、単価が安くなる
• 自動的に適用される
• 事前に支払う必要なし
• ロックインされることもない
• 複雑な計画も必要ない
低コストGoogleクオリティ
Googleスケール
使いつづけると自動的に割引が適用
Kubernetes κυβερνήτης: Greek for “pilot” or “helmsman of a ship”
the open source cluster manager from Google
KubernetesMaster/Scheduler
クラスタ
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
MINIONS
Log Roller
Web Server
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
KubernetesMaster/Scheduler
ポッド
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BEBE
BE
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
多数のポッドを識別するには?
labels: role: frontend
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BEBE
BE
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
ラベル
labels: role: frontend stage: production
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
FE
FE
FE
FE
FE
FE
BE
BE
BE BEBE
BE
BEBE
BE
ラベル
FE FE FE FE
replicas: 4template: ...labels: role: frontend stage: production
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
レプリケーションコントローラ
FE
replicas: 1template: ...labels: role: frontend stage: production
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
レプリケーションコントローラ
FE FE FE
replicas: 3template: ...labels: role: frontend stage: production
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
Kubernetes - Master/Scheduler
レプリケーションコントローラ
id: backend-serviceport: 9000labels: role: backend stage: production
Backend Service
BE BE BE BE
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
ContainerAgent
サービス
FE
port: 9000
Load-Balancing
ポッドは自動配置される!
でも、FEはどうやってBEにアクセスするの?
KubernetesMaster/Scheduler
クラスタを作成
MachineHost
MachineHost
MachineHost
ContainerAgent
ContainerAgent
ContainerAgent
MINIONS MachineHost
Redis Master
Master Service
Redis Slave
Redis Slave
Slave Service
PHPFrontend
PHPFrontend PHP
Frontend
Frontend Service Public IP
さあ、始めてみましょう!$300、60日間無料でお試しいただけます
https://cloud.google.com/free-trial/
無料セミナー開催中
goo.gl/YRyMiv
申し込みフォーム
● 2/26 16:00-18:00 Google Compute Engine● 3/12 16:00-18:00 BigQuery