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.

Continuous Delivery on AWS with Zero Downtime

3 views

Published on

AWS Summit 2019 - Continuous Delivery on AWS with Zero Downtime

Published in: Software
  • Be the first to comment

  • Be the first to like this

Continuous Delivery on AWS with Zero Downtime

  1. 1. SUMMIT SANTA CLARA
  2. 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Continuous Delivery on AWS with Zero Downtime Casey Lee AWS Container Hero DEV10
  3. 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Casey Lee AWS Container Hero Director of Engineering
  4. 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Agenda ● Principles of Continuous Delivery ● Tools of Continuous Delivery ● Demo
  5. 5. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Principles of Continuous Delivery
  6. 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT https://www.slideshare.net/AmazonWebServices/devops-at-amazon-a-look-at-our-tools-and-processes-50364582 ReleaseTestBuild Plan Monitor Delivery Pipeline Feedback Loop Software Development Lifecycle CustomersDevelopers
  7. 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Continuous Every change triggers the feedback process “If it hurts, do it more often!” - Martin Fowler
  8. 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Automation Releasing software should be repeatable and reliable “Deployments ought to be a boring, push-button experience” - Jez Humble
  9. 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Quality Build it into the product “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place” -W. Edwards Deming
  10. 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT ● Continuous - Every change triggers the feedback process ● Automation - Releasing software should be repeatable and reliable ● Quality- Build it into the product Principles of Continuous Delivery
  11. 11. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Tools of Continuous Delivery
  12. 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Overview ● CodePipeline - orchestrate all the automation ● CodeBuild - create deployable artifact from source ● CodeDeploy - deploy and release artifact
  13. 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodePipeline ● Revision - a change made to the source for the pipeline ● Stage - group of actions run for a single revision at a time ● Action - task to be performed for a stage
  14. 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT RegionCodePipeline AWS CodePipeline Source Build Deploy AWS CodeBuild AWS CodeDeploy
  15. 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT RegionCodeBuild AWS CodePipeline Source Build Deploy AWS CodeBuild AWS CodeDeploy Amazon EC2 Container Registry
  16. 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT RegionCodeDeploy AWS CodePipeline Source Build Deploy AWS CodeBuild AWS CodeDeploy Amazon EC2 Container Registry Amazon Elastic Container Service Application Load Balancer Amazon CloudWatch AWS Lambda
  17. 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Steady State AWS CodeDeploy Target group 1 Amazon Elastic Container Service Blue tasks: v1 codeProduction traffic listener (port 80) Application Load Balancer Target group 2Test traffic listener (port 8080 100% prod traffic https://www.youtube.com/watch?v=5VPIzKDyLvo
  18. 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Green Task Deployment AWS CodeDeploy Target group 1 Amazon Elastic Container Service Blue tasks: v1 codeProduction traffic listener (port 80) Application Load Balancer Target group 2Test traffic listener (port 8080 100% prod traffic https://www.youtube.com/watch?v=5VPIzKDyLvo Green tasks: v2 code 100% test traffic
  19. 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Smoke Test Green Deployment AWS CodeDeploy Target group 1 Amazon Elastic Container Service Blue tasks: v1 codeProduction traffic listener (port 80) Application Load Balancer Target group 2Test traffic listener (port 8080 100% prod traffic https://www.youtube.com/watch?v=5VPIzKDyLvo Green tasks: v2 code 100% test traffic AWS Lambda
  20. 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Blue/Green Switch AWS CodeDeploy Target group 1 Amazon Elastic Container Service Blue tasks: v1 codeProduction traffic listener (port 80) Application Load Balancer Target group 2Test traffic listener (port 8080 0% prod traffic https://www.youtube.com/watch?v=5VPIzKDyLvo Green tasks: v2 code 100% test traffic
  21. 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Monitor AWS CodeDeploy Target group 1 Amazon Elastic Container Service Production traffic listener (port 80) Blue tasks: v1 code Application Load Balancer Target group 2Test traffic listener (port 8080 0% prod traffic https://www.youtube.com/watch?v=5VPIzKDyLvo Green tasks: v2 code 100% test traffic Amazon CloudWatch
  22. 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodeDeploy - Terminate v1 AWS CodeDeploy Target group 1 Amazon Elastic Container Service Production traffic listener (port 80) Application Load Balancer Target group 2Test traffic listener (port 8080 https://www.youtube.com/watch?v=5VPIzKDyLvo Green tasks: v2 code 100% test traffic
  23. 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT RegionSummary AWS CodePipeline Source Build Deploy AWS CodeBuild AWS CodeDeploy
  24. 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT RegionSummary AWS CodePipeline Source Build Deploy AWS CodeBuild AWS CodeDeploy pre-deploy post-deployQUALITY AUTOMATIONCONTINUOUS
  25. 25. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Demo
  26. 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Demo App bootcamp.liatr.io
  27. 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  28. 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  29. 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  30. 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Architecture bootcamp.liatr.io Availability zone 2Availability zone 1 AWS Region VPC Private subnet ECS Service Auto Scaling Private subnet ECS Container Amazon EC2 Container Registry Application Load Balancer ECS Container AWS Fargate Amazon Elastic Container Service
  31. 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Pipeline bootcamp.liatr.io Region AWS CodePipeline Amazon EC2 Container Registry Amazon Elastic Container Service Source Build Deploy AWS CodeBuild AWS CodeDeploy Application Load Balancer Amazon CloudWatch AWS Lambda
  32. 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  33. 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  34. 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeBuild
  35. 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeBuild
  36. 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  37. 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  38. 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy AWS Lambda +
  39. 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy FAIL Clip 2.2 code deploy traffic shift to wait
  40. 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy + Amazon CloudWatch
  41. 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  42. 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy + Amazon CloudWatch
  43. 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  44. 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  45. 45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  46. 46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  47. 47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy + Amazon CloudWatch
  48. 48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  49. 49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  50. 50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Summary ● Principles of Continuous Delivery ● Tools of Continuous Delivery ● Demo
  51. 51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Thank you! SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Casey Lee nektos
  52. 52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMITSUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey. !
  53. 53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT CodePipeline Action Category Valid Action Providers Source Amazon S3 CodeCommit GitHub Amazon ECR Build CodeBuild CloudBees Jenkins TeamCity Test CodeBuild AWS Device Farm BlazeMeter GhostInspector Jenkins Action Category Valid Action Providers Deploy Amazon S3 AWS CloudFormation CodeDeploy Amazon ECS Elastic Beanstalk AWS OpsWorks AWS Service Catalog Amazon Alexa XebiaLabs Approval Manual Invoke AWS Lambda
  54. 54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  55. 55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  56. 56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodePipeline
  57. 57. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  58. 58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy
  59. 59. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT AWS CodeDeploy

×