amazon ecsとdevops
TRANSCRIPT
1
Amazon ECSとDevOps
Mar 22 @ JAWS Container / CLI
Ryosuke Iwanaga
Solutions Architect, Amazon Web Services Japan
2
Agenda
• DevOpsにおけるDockerの優位性
• Amazon ECS/ECR概要
• デモ
3
DevOpsにおけるDockerの優位性
4
DevOpsとは?
DevOps = ライフサイクルを高速化する効率の良さ
開発者 顧客
releasetestbuild
plan monitor
デリバリのパイプライン
フィードバックループ
ソフトウェア開発のライフサイクル
5
DevOps lifecycle
Build Test ProductionDevelopment
<>
<>
Application
CodeArtifact
6
DevOps lifecycle
Build Test ProductionDevelopment
<>
<>
+AMI Provisioning
Code
Application
CodeArtifact
Provisioning
Code
{}Config
{}Config
{}Config
7
After Docker…
+ <>+
Build Test ProductionDevelopment
<>
<>
+{} {} {}
8
Amazon.comにおけるDevOpsの物語
9
10
モノリシックな開発のライフサイクル
開発者
releasetestbuild
デリバリパイプラインアプリ
11
• Service-Oriented Architecture (SOA)
• 単一の目的
• APIでのみ連携
• “Microservices”
12
• Two-pizza teams
• 全ての主導権
• 全ての責任
• 良くしようとする動機
• “DevOps”
13
Microservicesの開発ライフサイクル
開発者 デリバリパイプラインサービス
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
14
Infrastructure for Docker and MicroservicesBuild Test ProductionDevelopment Registry
Service A
Service B
Service C
15
Infrastructure for Docker and MicroservicesBuild Test ProductionDevelopment Registry
Service A
Service B
Service C
• コンテナが稼働するインフラを管理する方法は?
• どのサーバに、何のコンテナを、いくつ配置する?
• コンテナのデプロイや、自動復旧はどうする?
• イメージのレジストリをどうやって管理する?
16
Amazon ECS
Amazon ECR
17
Amazon ECS/ECR概要
18
Amazon EC2 Container Service (ECS)
• 特徴(https://aws.amazon.com/ecs/)
– 管理ノード不要の、安定かつ高パフォーマンスなクラスタ管理サービス
– Serviceスケジューラで多様なロングランニングプロセスを実行する基盤に• コンテナを必要な台数稼働させる• ELB連携で、デプロイも簡単に
– Run Taskでバッチジョブを実行する基盤に• どこかのEC2でコンテナを起動して処理させる
• 価格体系 (https://aws.amazon.com/ecs/pricing/)
– 無料• 利用するEC2, EBS, ELBなどの料金のみ発生
管理されたEC2クラスタ上に、コンテナを自在に配置できる
Amazon
ECRAmazon ECS
Elastic Load
Balancing
19
Amazon EC2 Container Registry (ECR)
• 特徴(https://aws.amazon.com/ecr/)
– 高可用性、スケーラブル、IAM連携、暗号化
– Dockerコマンドからシームレスに利用可能
– Amazon ECSなども連携済で簡単にデプロイ
– 多くのパートナーが既に連携済のレジストリ
• 価格体系 (https://aws.amazon.com/ecr/pricing/)
– イメージの容量に対して課金 ($0.1/GB/月)
– 転送量課金(他のAWSサービス同様)• 無料: 全てのINと同一リージョンへのOUT
• 他リージョン、オンプレ等へのOUTは転送量に応じて
フルマネージドで使えるDockerレジストリサービス
Amazon ECSAWS
Elastic Beanstalk
20
デモ
21
Demo: Endpoint per App x Branch on Amazon ECS
/app1-master
/app2-master
/app2-topic1
2. Pull, Build, Push
1. Commit, Push
+ <>++ <>+
+ <>+
Dockerfile + App code
3. RunTask
4. Reload
AWS
CodeCommit
AWS Lambda Amazon ECR
Amazon ECS
22
お知らせ
• 6/19 – 21 DockerCon US 2016 @ SEA– 参加される人いれば、Seattle案内しますのでぜひ教えて下さい!
(AWSはSeattleです)
• Amazon ECSのステッカーあります– 欲しい方は、ハンズオンの間やイベント終了後にお声がけ下さい
– ECS使って/使おうとしてのフィードバックも頂けると嬉しいです
23