Upload
amazon-web-services
View
1.174
Download
1
Embed Size (px)
Citation preview
© 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
(Where my dogs at?)
We’re quitting!
(No we aren’t, don’t believe him!)
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.
Building Block Service
1. Easy to
integrate
2. Available
everywhere
3. Scaled for
our biggest
customers
Application
“Any collection of content that you want
to distribute to your servers in a single
deployment”
Web Server
Framework
Content
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
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
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
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
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%
• minimal host footprint
• quick to get started
• little to no automated
validation
Development
(Early fit algorithm needs work.)
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)
What’s changing in test?
Auto Scaling supportRequest Routing with ELBValidation and testing
• Over scaled for
production workloads
• Debugging through
logs
• More validation
Production
(Looking Sharp.)
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
Test ProductionDevelopment
(See you at the launch party!)
CloudFormation Support
What else can we do with CodeDeploy?
Reactive DeploymentsCI/CD and Config MGMT PartnersMultiple Platforms
Thank you!
Remember to complete
your evaluations!