Google Cloud で実現するモダンなアプリケーション開発 1/10
Googleのサービスは100%コンテナで運用されている
コンテナのメリット
- 高速 : VMより早くて数msで起動
- ポータビリティ : 実行環境の統一で、安定性を保つ。依存関係もパッケージされているのでどのサーバーでも動く
- 効率性 : 低オーバーヘッドでリソース制限可能
コンテナだけだと起動はできるが、スケールの制御はできない。
どうするか↓
コンテナオーケストレーション
Kubernetes
コンテナの管理をする。
Googleで使われていたBorgの知見を元にさらに進化させてオープンソース化したもの
どこでも動くようにするのがゴールだった。GCPでもオンプレでもAWSでも。
ベンダーロックインを防止するというのが重要な視点
アプリ単位では管理できないからサービスメッシュを使う。
Istio
サービスの管理をする。サービスの安定を考える
サービス間のセキュリティーポリシーも設定できる
Managed Service が Anthos
Knative
アプリケーションの管理をする
アプリケーションのコードを書いて、それをデプロイすると、自動でスケーリングしてくれたりする
Dockerファイルさえ書けばインフラの管理をしてくれる
Cloud Run がこれに近い。