aws april webinar series - getting started with aws codedeploy

41
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andy Troutman, Manager, AWS CodeDeploy April 29, 2015 Getting Started with AWS CodeDeploy

Upload: amazon-web-services

Post on 18-Jul-2015

544 views

Category:

Technology


1 download

TRANSCRIPT

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Andy Troutman, Manager, AWS CodeDeploy

April 29, 2015

Getting Started with AWS

CodeDeploy

Software Deployment is Still a Hard Problem:

Cost/Complexity

Size of fleet

small, manual

process good

enough.

Software Deployment is Still a Hard Problem:

Cost/Complexity

Complexity grows

Customers grow

Team size grows

Need to automate

Software Deployment is Still a Hard Problem:

Cost/Complexity

Ugh oh…

What is CodeDeploy?

Application

Deployments for

EC2*

* = And other stuff.

What is CodeDeploy?

A Building Block Service

* = And other stuff.

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

AWS CodeDeploy

Amazon EC2Amazon S3

Let’s do it Live!

Application

“Any collection of content that you want to distribute

to your servers in a single deployment”

Application

Web Server

Application

Web Server

Framework

Application

Web Server

Framework

Content

Application

Content

Content

Content

Deployment Group

“A collection of instances you want to deploy to as a

group”

Deployment Group

Dev Test Prod

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

AppSpec file

os: linuxfiles:- source: Config/config.txt

destination: webapps/Config- source: source

destination: /webapps/myApphooks:BeforeInstall:

- location: Scripts/UnzipResourceBundle.sh- location: Scripts/UnzipDataBundle.sh

AfterInstall:- location: Scripts/RunResourceTests.sh

timeout: 180ApplicationStart:

- location: Scripts/RunFunctionalTests.shtimeout: 3600

ValidateService:- location: Scripts/MonitorService.sh

timeout: 3600runas: codedeployuser

AppSpec file

os: linuxfiles:- source: Config/config.txt

destination: webapps/Config- source: source

destination: /webapps/myApphooks:BeforeInstall:

- location: Scripts/UnzipResourceBundle.sh- location: Scripts/UnzipDataBundle.sh

AfterInstall:- location: Scripts/RunResourceTests.sh

timeout: 180ApplicationStart:

- location: Scripts/RunFunctionalTests.shtimeout: 3600

ValidateService:- location: Scripts/MonitorService.sh

timeout: 3600runas: codedeployuser

AppSpec file

os: linuxfiles:- source: Config/config.txt

destination: webapps/Config- source: source

destination: /webapps/myApphooks:BeforeInstall:

- location: Scripts/UnzipResourceBundle.sh- location: Scripts/UnzipDataBundle.sh

AfterInstall:- location: Scripts/RunResourceTests.sh

timeout: 180ApplicationStart:

- location: Scripts/RunFunctionalTests.shtimeout: 3600

ValidateService:- location: Scripts/MonitorService.sh

timeout: 3600runas: codedeployuser

v2 v1 v1 v1 v1 v1 v1 v1

v2 v2 v1 v1 v1 v1 v1 v1

v2 v2 v2 v2 v1 v1 v1 v1

v2 v2 v2 v2 v2 v2 v2 v2

One-at-a-timeMin. healthy hosts = 99%

[Custom]Min. healthy hosts = 75%

Half-at-a-timeMin. healthy hosts = 50%

All-at-onceMin. healthy hosts = 0

Deployment Config

Let’s deploy

something!

Auto Scaling support

v2

v1

v1

Auto Scaling support

v2

v1

v1

Auto Scaling support

v2

v1

v1

Windows and Linux

Error Logs and Deployment Data

On Premises Deployments

Product Integrations

Questions?