Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

(DVO306) AWS CodeDeploy: Automating Your Software Deployments

2,597 views

Published on

So you’ve written some code. Now what? How do you make it available to your customers in an efficient and reliable manner? Learn how you can use AWS CodeDeploy to easily and quickly push your application updates. This talk will introduce you to the basics of CodeDeploy: key concepts, how it works, where it fits in your release process, and some deployment strategies to get you started on the right foot. We’ll walk through several demos, going from a basic sample deployment to a live update of a large multi-instance fleet, giving you a sense for how CodeDeploy can grow with your needs.

Published in: Technology

(DVO306) AWS CodeDeploy: Automating Your Software Deployments

  1. 1. © 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
  2. 2. (Where my dogs at?)
  3. 3. We’re quitting! (No we aren’t, don’t believe him!)
  4. 4. 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.
  5. 5. Building Block Service 1. Easy to integrate 2. Available everywhere 3. Scaled for our biggest customers
  6. 6. Application “Any collection of content that you want to distribute to your servers in a single deployment” Web Server Framework Content
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. Deployment Config v2 v2 v2 v2 v2 v2 v2 v2All-at-once Min. healthy hosts = 0 v2 v2 v2 v2 v1 v1 v1 v1Half-at-a-time Min. 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-time Min. healthy hosts = 99%
  12. 12. • minimal host footprint • quick to get started • little to no automated validation Development (Early fit algorithm needs work.)
  13. 13. 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)
  14. 14. What’s changing in test? Auto Scaling supportRequest Routing with ELBValidation and testing
  15. 15. • Over scaled for production workloads • Debugging through logs • More validation Production (Looking Sharp.)
  16. 16. 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
  17. 17. Test ProductionDevelopment (See you at the launch party!)
  18. 18. CloudFormation Support What else can we do with CodeDeploy? Reactive DeploymentsCI/CD and Config MGMT PartnersMultiple Platforms
  19. 19. Thank you!
  20. 20. Remember to complete your evaluations!

×