【レポート】コンテナ化されたアプリケーションのAWSでの構築・運用指針 #AWSSummit
ご機嫌いかがでしょうか、豊崎です。
本日は2019年6月12日から14日まで開催しているAWS Summit Tokyo 2019参加のため幕張メッセに来ております。
本記事で取りあげるセッションは、「コンテナ化されたアプリケーションのAWSでの構築・運用指針」です。
セッション情報
スピーカー:Amazon Web Services, Inc. General Manager Deepak Singh
セッション名:コンテナ化されたアプリケーションのAWSでの構築・運用指針
アプリケーションのコンテナ化と、それによるシステムの構築・運用がトピックとして大きな盛り上がりを見せています。しかしランタイムパッケージとしてコンテナを使う決断をして、マイクロサービス化などモダンなアプリケーション設計のメリットをフルに享受するためには、いかに正しいツールを選択するかということが重要です。本セッションでは、Compute/Container/Linux サービス開発責任者の Deepak Singh より、モダンなアプリケーションを設計・運用するために AWS が提供するサービス群をご紹介します。
レポート
コンテナ技術を採用するビジネス価値
- イノベーションのサイクル
- コードの配置と運用の自動化
- 頻繁に更新し障害発生率の低下
- 小さく、より多数の独立したチーム
- コンテナインスタンス数の成長
- 過去15ヶ月で300%以上の伸び
- アプリケーションへのフォーカスを実現
- クラウドでできるようになったこと
- EC2などのサーバの仮想化
- しかしOSやインフラ管理の課題が残る
- ビジネス価値の提供をするべきエンジニアリングリソースがインフラの管理に追われてしまう
- アプリケーションの開発にフォーカスできるようになってほしい
- EC2などのサーバの仮想化
- クラウドでできるようになったこと
- コンピュート消費モデルの変化
- AWS Fargate の登場
- インスタンスの管理が不要に
- タスクネイティブなAPI
- 消費リソースに応じた価格体系
- Fargateとは
- コンテナインフラのマネージドサービス
- オンデマンドな課金モデル
- AWS Fargate上で稼働するタスク/weekの数
- 10ミリオン以上のタスクが稼働
- AWS Fargate の登場
サーバレスについて
- サーバレスの特徴
- インフラのプロビジョニング不要、管理不要
- 自動的にスケール
- 価値に対して支払い
- 可用性が高くセキュア
- AWSサーバレス関連サービス
- コンピュート
- Lambda
- Fargate
- データストア
- S3
- Aurora Serverless
- DynamoDB
- インテグレーション
- API Gateway
- SQS
- SNS
- Step Functions
- AppSync
- コンピュート
- サーバレスの技術基盤(AWSサービスの迅速性と効率性を向上)
- 効率的なリソース利用
- セキュリティと分離
- より早い起動時間
- アプリケーションレベルの通信
コンテナについて
- AWSコンテナ関連サービス
- オーケストレーション
- ECS
- EKS
- コンピュートエンジン
- EC2
- Fargate
- イメージレジストリ
- ECR
- オーケストレーション
- 柔軟性とシンプルのバランスはシステム単位で考える
- 柔軟性を大事にする
- Low level of opinion
- 低レベルの抽象化
- インフラと構成にフォーカス
- コンピュート環境のインストール・構成・管理がゴール達成のために重要
- シンプルさを大事にする
- High level of opinion
- 高レベルの抽象化
- アプリケーションと本質にフォーカス
- 標準化され、オンデマンドで使えるコンピュート環境がゴール達成のために重要
- 柔軟性を大事にする
- ECS
- シンプルさ重視
- コンテナレベルのネットワーク
- 高度なタスク管理
- AWSプラットフォームとの深い統合
- ECS CLI
- 世界規模
- 強力なスケジュールエンジン
- オートスケール
- CloudWatchメトリクス
- ロードバランサ
- シンプルさ重視
- EKS
- 柔軟性重視
- コンテナレベルのネットワーク
- マネージドetcdとマスタノード
- AWSプラットフォームとの深い統合
- Kubernetes APIs
- Kubernetesのエコシステム
- タイムリーなアップグレード
- マスタノード
- 柔軟性重視
- App Mesh
- AWS全域にわたるアプリケーションレベルの通信を実現
- インスタンス間通信から、マイクロサービス検出へ
- アプリケーションをもっと前に、インフラをもっと後ろに
- AWS全域にわたるアプリケーションレベルの通信を実現
- 最近ローンチしたサービス
- App Mesh GA
- Fargate/ECS Task Set APIs
- Fargate/ECS Contaner Ordering
- EKS Control Plane Logs
- EKS CSI Drivers(EFS,FSx,EBS)
- EKS Windows Instances(Preview)
- Private Endpoint Support(Fargate,ECS,EKS,ECR)
- EKS ISO/PCI Compliance
- Fargate/ECS Secrets Management
- ECR Console Refresh
- Fargate/ECS CloudMap Integration
- ECS Local Testing Tools
- ECS GPU Scheduling & Pinning
- ECS Task Density improvements
- SLAs
- Fargate Price Drop
- コンテナサービスが選ばれる理由
- 適材適所でツールを選べる
- アプリケーションにフォーカスできる
- セキュリティとコンプライアンス
- AWSはコンテナサービスに関するロードマップを公開している
感想
コンテナを導入することでインフラの管理や、セキュリティに関する負荷を下げることができよりエンジニアがアプリケーションの開発に注力できるという内容をおっしゃっていました。コンテナ関連サービスの特徴について整理ができたと思います。