Top Banner
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andy Troutman, Manager, AWS CodeDeploy April 29, 2015 Getting Started with AWS CodeDeploy
41
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AWS April Webinar Series - Getting Started with AWS CodeDeploy

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

Andy Troutman, Manager, AWS CodeDeploy

April 29, 2015

Getting Started with AWS

CodeDeploy

Page 2: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Software Deployment is Still a Hard Problem:

Cost/Complexity

Size of fleet

small, manual

process good

enough.

Page 3: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Software Deployment is Still a Hard Problem:

Cost/Complexity

Complexity grows

Customers grow

Team size grows

Need to automate

Page 4: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Software Deployment is Still a Hard Problem:

Cost/Complexity

Ugh oh…

Page 5: AWS April Webinar Series - Getting Started with AWS CodeDeploy

What is CodeDeploy?

Application

Deployments for

EC2*

* = And other stuff.

Page 6: AWS April Webinar Series - Getting Started with AWS CodeDeploy

What is CodeDeploy?

A Building Block Service

* = And other stuff.

Page 7: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 8: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 9: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 10: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 11: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 12: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 13: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 14: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 15: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 16: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 17: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 18: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 19: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 20: AWS April Webinar Series - Getting Started with AWS CodeDeploy

AWS CodeDeploy

Amazon EC2Amazon S3

Page 21: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Let’s do it Live!

Page 22: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Application

“Any collection of content that you want to distribute

to your servers in a single deployment”

Page 23: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Application

Web Server

Page 24: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Application

Web Server

Framework

Page 25: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Application

Web Server

Framework

Content

Page 26: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Application

Content

Content

Content

Page 27: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Deployment Group

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

group”

Page 28: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Deployment Group

Dev Test Prod

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

Page 29: AWS April Webinar Series - Getting Started with AWS CodeDeploy

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

Page 30: AWS April Webinar Series - Getting Started with AWS CodeDeploy

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

Page 31: AWS April Webinar Series - Getting Started with AWS CodeDeploy

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

Page 32: AWS April Webinar Series - Getting Started with AWS CodeDeploy

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

Page 33: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Let’s deploy

something!

Page 34: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Auto Scaling support

v2

v1

v1

Page 35: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Auto Scaling support

v2

v1

v1

Page 36: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Auto Scaling support

v2

v1

v1

Page 37: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Windows and Linux

Page 38: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Error Logs and Deployment Data

Page 39: AWS April Webinar Series - Getting Started with AWS CodeDeploy

On Premises Deployments

Page 40: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Product Integrations

Page 41: AWS April Webinar Series - Getting Started with AWS CodeDeploy

Questions?