25
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andy Troutman, SDM Deployment Services Josh McFarlane, Senior SDE Deployment Services October 7 2015 AWS CodeDeploy: Automating Your Software Deployments DVO 306

(DVO306) AWS CodeDeploy: Automating Your Software Deployments

Embed Size (px)

Citation preview

Page 1: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

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

Andy Troutman, SDM Deployment Services

Josh McFarlane, Senior SDE Deployment Services

October 7 2015

AWS CodeDeploy:Automating Your Software Deployments

DVO 306

Page 2: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

(Where my dogs at?)

Page 3: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

We’re quitting!

(No we aren’t, don’t believe him!)

Page 4: (DVO306) AWS CodeDeploy: Automating Your Software Deployments
Page 5: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

We got the business plan together…

1. Dog addressable market - 525 million dogs

2. Dogs need suits

3. The existing dog suit market is ready to be disrupted…

the quality of dog fashion lacks our unique perspective.

We’re not selling dog suites, we’re selling a lifestyle.

4. ???

5. Profit.

Page 6: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Building Block Service

1. Easy to

integrate

2. Available

everywhere

3. Scaled for

our biggest

customers

Page 7: (DVO306) AWS CodeDeploy: Automating Your Software Deployments
Page 8: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Application

“Any collection of content that you want

to distribute to your servers in a single

deployment”

Web Server

Framework

Content

Page 9: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Deployment Group

“A collection of instances you want

to deploy to as a group”

Dev Test Prod

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

v2.0 v1.2 v1.1

Page 10: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

AppSpec fileos: linux

files:

- source: Config/config.txt

destination: webapps/Config

- source: Service

destination: /webapps/DogSuit

hooks:

ApplicationStop:

- location: Scripts/Deactivate_Service

BeforeInstall:

- location: Scripts/Flush_Logs.sh

AfterInstall:

- location: Scripts/Decrypt_Secrets.sh

ApplicationStart:

- location: Scripts/Start_Pooch_Style_Service.sh

timeout: 3600

ValidateService:

- location: Scripts/Check_Dogs_Barking.sh

runas: codedeployuser

Page 11: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

AppSpec fileos: linux

files:

- source: Config/config.txt

destination: webapps/Config

- source: Service

destination: /webapps/DogSuit

hooks:

ApplicationStop:

- location: Scripts/Deactivate_Service

BeforeInstall:

- location: Scripts/Flush_Logs.sh

AfterInstall:

- location: Scripts/Decrypt_Secrets.sh

ApplicationStart:

- location: Scripts/Start_Pooch_Style_Service.sh

timeout: 3600

ValidateService:

- location: Scripts/Check_Dogs_Barking.sh

runas: codedeployuser

Page 12: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

AppSpec fileos: linux

files:

- source: Config/config.txt

destination: webapps/Config

- source: Service

destination: /webapps/DogSuit

hooks:

ApplicationStop:

- location: Scripts/Deactivate_Service

BeforeInstall:

- location: Scripts/Flush_Logs.sh

AfterInstall:

- location: Scripts/Decrypt_Secrets.sh

ApplicationStart:

- location: Scripts/Start_Pooch_Service.sh

timeout: 3600

ValidateService:

- location: Scripts/Check_Dogs_Barking.sh

runas: codedeployuser

ApplicationStop

BeforeInstall

AfterInstall

ApplicationStart

ValidateService

DownloadBundle

Install

Start

End

Page 13: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Deployment Config

v2 v2 v2 v2 v2 v2 v2 v2All-at-onceMin. healthy hosts = 0

v2 v2 v2 v2 v1 v1 v1 v1Half-at-a-timeMin. healthy hosts = 50%

v2 v2 v1 v1 v1 v1 v1 v1[Custom]Min. healthy hosts = 75%

v2 v1 v1 v1 v1 v1 v1 v1One-at-a-timeMin. healthy hosts = 99%

Page 14: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

• minimal host footprint

• quick to get started

• little to no automated

validation

Development

(Early fit algorithm needs work.)

Page 15: (DVO306) AWS CodeDeploy: Automating Your Software Deployments
Page 16: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Development

• Minimal host footprint

• quick to get started

• little to no automated

validation

• Host footprint enables

load testing

• Debug messaging

present

• Automated validation

Test

(Dated style, but good fit)

Page 17: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

What’s changing in test?

Auto Scaling supportRequest Routing with ELBValidation and testing

Page 18: (DVO306) AWS CodeDeploy: Automating Your Software Deployments
Page 19: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

• Over scaled for

production workloads

• Debugging through

logs

• More validation

Production

(Looking Sharp.)

Page 20: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

if [ "$DEPLOYMENT_GROUP_NAME" == “Production" ] then

/user/bin/ConfigSalesBanner

fi

How do deployments change to Production?

Large Fleets, with redundancyCustom Deployment Configs

“1/3 at a time”

Environment Variables

Page 21: (DVO306) AWS CodeDeploy: Automating Your Software Deployments
Page 22: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Test ProductionDevelopment

(See you at the launch party!)

Page 23: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

CloudFormation Support

What else can we do with CodeDeploy?

Reactive DeploymentsCI/CD and Config MGMT PartnersMultiple Platforms

Page 24: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Thank you!

Page 25: (DVO306) AWS CodeDeploy: Automating Your Software Deployments

Remember to complete

your evaluations!