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.

Improve Productivity with Continuous Integration & Delivery

610 views

Published on

Improve Productivity with Continuous Integration & Delivery

  • Be the first to comment

Improve Productivity with Continuous Integration & Delivery

  1. 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Clare Liguori Principal Software Engineer, AWS Developer Tools Jamie van Brunschot Senior Cloud Engineer, Coolblue Improve Productivity with Continuous Integration & Delivery
  2. 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Agenda • What is CI/CD? • CI/CD in Practice: Amazon • Using CI/CD on AWS • CI/CD in Practice: Coolblue • Demo
  3. 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. What is CI/CD?
  4. 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Five Major Phases of Releasing Software Source Build Test Deploy Monitor
  5. 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Five Major Phases of Releasing Software Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code
  6. 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Five Major Phases of Releasing Software Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images
  7. 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. • Integration tests with other systems • Load testing • UI tests • Penetration testing Five Major Phases of Releasing Software Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images
  8. 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. • Integration tests with other systems • Load testing • UI tests • Penetration testing Five Major Phases of Releasing Software Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments
  9. 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. • Integration tests with other systems • Load testing • UI tests • Penetration testing Five Major Phases of Releasing Software Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments • Monitor code in production to quickly detect unusual activity or errors
  10. 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Release Process Levels Source Build Test Deploy
  11. 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Release Process Levels Source Build Test Deploy Continuous integration
  12. 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Release Process Levels Source Build Test Deploy Continuous integration Continuous delivery
  13. 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Release Process Levels Source Build Test Deploy Continuous integration Continuous delivery Continuous deployment
  14. 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? 440xFaster from commit to deploy Source: Puppet 2017 State of DevOps Report
  15. 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? Source Build Test Deploy Continuous integration Continuous delivery Continuous deployment
  16. 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? 440xFaster from commit to deploy 46xMore frequent deployments Source: Puppet 2017 State of DevOps Report
  17. 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? Source Build Test Deploy Continuous integration Continuous delivery Continuous deployment
  18. 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? 5xLower change failure rate 440xFaster from commit to deploy 46xMore frequent deployments Source: Puppet 2017 State of DevOps Report
  19. 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? Source Build Test Deploy Continuous integration Continuous delivery Continuous deployment
  20. 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why does CI/CD matter? 5xLower change failure rate 440xFaster from commit to deploy 46xMore frequent deployments 44%More time spent on new features and code Source: Puppet 2017 State of DevOps Report
  21. 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD in Practice: Amazon
  22. 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Our story: We realized we were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod
  23. 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Our story: We realized we were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins
  24. 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Our story: We realized we were just waiting. Automate Write Code Automate Build Code Automate Deploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins
  25. 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Our story: We realized we were just waiting. Automate Write Code Automate Build Code Automate Deploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins Hours
  26. 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Results By 2014 • Thousands of teams across Amazon practicing continuous delivery • Many environments (staging, beta, production) for many microservices 50 million deployments per year
  27. 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD Best Practices of Amazon Developers 1. CI/CD is a MUST!
  28. 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD Best Practices of Amazon Developers 1. CI/CD is a MUST! 2. Everything is code and everything goes into a repository
  29. 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD Best Practices of Amazon Developers 1. CI/CD is a MUST! 2. Everything is code and everything goes into a repository 3. Start with continuous delivery (“gated” promotion) and build up to continuous deployment
  30. 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD Best Practices of Amazon Developers 1. CI/CD is a MUST! 2. Everything is code and everything goes into a repository 3. Start with continuous delivery (“gated” promotion) and build up to continuous deployment 4. Deploy small at first, then more broadly
  31. 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Using CI/CD on AWS
  32. 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services Edit Source Build Test Deploy
  33. 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services Edit Source Build Test Deploy AWS Cloud9 Cloud-based IDE: lets you write, run, and debug your code with just a browser
  34. 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeCommit Edit Source Build Test Deploy AWS Cloud9 Secure, scalable, and managed Git repositories
  35. 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeCommit AWS CodeBuild Edit Source Build Test Deploy AWS Cloud9 Fully managed build service: scales continuously and pay for the minutes you use AWS CodeBuild
  36. 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeCommit AWS CodeBuild AWS CodeDeploy Edit Source Build Test Deploy AWS Cloud9 Automates code deployments to any EC2 instance or Lambda function AWS CodeBuild
  37. 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline Edit Source Build Test Deploy AWS Cloud9 Model your release process, automatically starts a release when code is pushed AWS CodeBuild
  38. 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline AWS CodeStar Edit Source Build Test Deploy AWS Cloud9 AWS CodeBuild Start developing on AWS in minutes
  39. 39. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Continuous Deployment for Containers AWS CodeCommit AWS CodeBuild AWS CodePipeline Edit Source Build Test Deploy AWS CloudFormation Amazon ECSAmazon ECR
  40. 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Continuous Deployment for Serverless AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline Edit Source Build Test Deploy AWS Cloud9 AWS Lambda AWS CloudFormation
  41. 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. CI/CD in Practice: Coolblue
  42. 42. Jamie van Brunschot | Senior Cloud Engineer | j.vanbrunschot@coolblue.nl | 31-05-2018
  43. 43. Business plan
  44. 44. From Sunglasses to BBQs
  45. 45. 2017
  46. 46. Scaling issues solved
  47. 47. ● 150+ developers ● 100+ apps running in AWS ● 1000+ deployments per day ● Platform team of 7 and figures Facts
  48. 48. New scaling issues
  49. 49. When bare-metal was awesome History ● Packaging ● Unreliable ● Flaky deployments ● Generating errors ● Snowflake pipelines
  50. 50. A better tool for deployments ● CodeDeploy ● Rolling Updates ● Zero Downtime
  51. 51. Snowflakes ● Unique pipelines ● No auditability ● Not able to scale ● Time consuming
  52. 52. The contract ● Standard pipeline ● Implementation of Best Practices ● Automated ● Entrypoints ● Customizable
  53. 53. The contract
  54. 54. ● From idea to production ● Reliable deployments ● Focus on what matters Takeaway Automate your CI/CD pipelines
  55. 55. Jamie van Brunschot | Senior Cloud Engineer | j.vanbrunschot@coolblue.nl | @JvanBrunschot | jamievanbrunschot
  56. 56. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Demo CI/CD with AWS
  57. 57. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Thank you! Get started with CI/CD in under 5 minutes https://aws.amazon.com/codestar/

×