amazon ecsとdevops

23
1 Amazon ECSDevOps Mar 22 @ JAWS Container / CLI Ryosuke Iwanaga Solutions Architect, Amazon Web Services Japan

Upload: amazon-web-services-japan

Post on 19-Feb-2017

2.802 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Amazon ECSとDevOps

1

Amazon ECSとDevOps

Mar 22 @ JAWS Container / CLI

Ryosuke Iwanaga

Solutions Architect, Amazon Web Services Japan

Page 2: Amazon ECSとDevOps

2

Agenda

• DevOpsにおけるDockerの優位性

• Amazon ECS/ECR概要

• デモ

Page 3: Amazon ECSとDevOps

3

DevOpsにおけるDockerの優位性

Page 4: Amazon ECSとDevOps

4

DevOpsとは?

DevOps = ライフサイクルを高速化する効率の良さ

開発者 顧客

releasetestbuild

plan monitor

デリバリのパイプライン

フィードバックループ

ソフトウェア開発のライフサイクル

Page 5: Amazon ECSとDevOps

5

DevOps lifecycle

Build Test ProductionDevelopment

<>

<>

Application

CodeArtifact

Page 6: Amazon ECSとDevOps

6

DevOps lifecycle

Build Test ProductionDevelopment

<>

<>

+AMI Provisioning

Code

Application

CodeArtifact

Provisioning

Code

{}Config

{}Config

{}Config

Page 7: Amazon ECSとDevOps

7

After Docker…

+ <>+

Build Test ProductionDevelopment

<>

<>

+{} {} {}

Page 8: Amazon ECSとDevOps

8

Amazon.comにおけるDevOpsの物語

Page 9: Amazon ECSとDevOps

9

Page 10: Amazon ECSとDevOps

10

モノリシックな開発のライフサイクル

開発者

releasetestbuild

デリバリパイプラインアプリ

Page 11: Amazon ECSとDevOps

11

• Service-Oriented Architecture (SOA)

• 単一の目的

• APIでのみ連携

• “Microservices”

Page 12: Amazon ECSとDevOps

12

• Two-pizza teams

• 全ての主導権

• 全ての責任

• 良くしようとする動機

• “DevOps”

Page 13: Amazon ECSとDevOps

13

Microservicesの開発ライフサイクル

開発者 デリバリパイプラインサービス

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

Page 14: Amazon ECSとDevOps

14

Infrastructure for Docker and MicroservicesBuild Test ProductionDevelopment Registry

Service A

Service B

Service C

Page 15: Amazon ECSとDevOps

15

Infrastructure for Docker and MicroservicesBuild Test ProductionDevelopment Registry

Service A

Service B

Service C

• コンテナが稼働するインフラを管理する方法は?

• どのサーバに、何のコンテナを、いくつ配置する?

• コンテナのデプロイや、自動復旧はどうする?

• イメージのレジストリをどうやって管理する?

Page 16: Amazon ECSとDevOps

16

Amazon ECS

Amazon ECR

Page 17: Amazon ECSとDevOps

17

Amazon ECS/ECR概要

Page 18: Amazon ECSとDevOps

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

Page 19: Amazon ECSとDevOps

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

Page 20: Amazon ECSとDevOps

20

デモ

Page 21: Amazon ECSとDevOps

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

Page 22: Amazon ECSとDevOps

22

お知らせ

• 6/19 – 21 DockerCon US 2016 @ SEA– 参加される人いれば、Seattle案内しますのでぜひ教えて下さい!

(AWSはSeattleです)

• Amazon ECSのステッカーあります– 欲しい方は、ハンズオンの間やイベント終了後にお声がけ下さい

– ECS使って/使おうとしてのフィードバックも頂けると嬉しいです

Page 23: Amazon ECSとDevOps

23