Julien Simon, Principal Technical Evangelist julsimon@amazon.fr @julsimon AWS Code{Commit,Deploy,Pipeline}
What to expect from the session A few slides of AWS Developer tools Demo of CI/CD pipeline with a web application This isn’t an introduction to DevOps J I’m also assuming you’re pretty familiar with EC2, ELB, ASG, IAM, CloudWatch etc.
DevOps development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
= 50 million deployments a year (1.5 deployment every second) Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
Setting up a delivery pipeline Testing Staging Production deploy deploy deploy Source Build release AWS CodeDeploy AWS CodePipeline AWS CodeCommit
AWS CodeCommit Use standard Git tools Scalability, availability, and durability of Amazon S3 Encryption at rest with customer-specific keys git	pull/push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
AWS CodeDeploy Easy and reliable deployments (zero downtime) Scale with ease Deploy to any server Test CodeDeployv1, v2, v3 Production Dev
AWS CodeDeploy and EC2 Instances •  CodeDeploy requires an agent, available for Linux and Windows (aws / aws-codedeploy-agent) •  CodeDeploy can deploy to: •  On-premise instances (configuration required) •  Existing EC2 instances (configuration required) •  New EC2 instances pre-configured for CodeDeploy thanks to a CloudFormation template (no configuration required) •  AutoScaling groups
Enabling CodeDeploy with User Data #!/bin/bash -ex yum install -y aws-cli cd /home/ec2-user/ wget https://aws-codedeploy-us- east-1.s3.amazonaws.com/latest/codedeploy- agent.noarch.rpm yum -y install codedeploy-agent.noarch.rpm service codedeploy-agent start
AWS CodeDeploy Key Components
AWS CodePipeline Connect to best-of-breed tools Accelerate your release process Consistently verify each release Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Perf test Gamma 1) Deploy canary 2) Deploy region 1 3) Deploy region 2 1) Pull
AWS CodePipeline Key Components
AWS Code partners
Hands on with the AWS Code services CodeCommit source control CodePipeline continuous delivery CodeDeploy automated deployment https://blogs.aws.amazon.com/application-management/post/Tx2CIB02ZO05ZII/ Explore-Continuous-Delivery-in-AWS-with-the-Pipeline-Starter-Kit
Next steps DEEP DIVE ON CODE DEPLOY @ AWS re:Invent 2015 AWS CodeDeploy: Automating Your Software Deployments (DVO306) LEARN MORE aws.amazon.com/awscode AWS CodeDeploy & CodePipeline User Guides GET STARTED console.aws.amazon.com J
julsimon@amazon.fr @julsimon

AWS Code{Commit,Deploy,Pipeline} (June 2016)

  • 1.
    Julien Simon, PrincipalTechnical Evangelist julsimon@amazon.fr @julsimon AWS Code{Commit,Deploy,Pipeline}
  • 2.
    What to expectfrom the session A few slides of AWS Developer tools Demo of CI/CD pipeline with a web application This isn’t an introduction to DevOps J I’m also assuming you’re pretty familiar with EC2, ELB, ASG, IAM, CloudWatch etc.
  • 3.
    DevOps development lifecycle developersdelivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 4.
    = 50 milliondeployments a year (1.5 deployment every second) Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
  • 5.
    Setting up adelivery pipeline Testing Staging Production deploy deploy deploy Source Build release AWS CodeDeploy AWS CodePipeline AWS CodeCommit
  • 6.
    AWS CodeCommit Use standardGit tools Scalability, availability, and durability of Amazon S3 Encryption at rest with customer-specific keys git pull/push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
  • 7.
    AWS CodeDeploy Easy andreliable deployments (zero downtime) Scale with ease Deploy to any server Test CodeDeployv1, v2, v3 Production Dev
  • 8.
    AWS CodeDeploy andEC2 Instances •  CodeDeploy requires an agent, available for Linux and Windows (aws / aws-codedeploy-agent) •  CodeDeploy can deploy to: •  On-premise instances (configuration required) •  Existing EC2 instances (configuration required) •  New EC2 instances pre-configured for CodeDeploy thanks to a CloudFormation template (no configuration required) •  AutoScaling groups
  • 9.
    Enabling CodeDeploy withUser Data #!/bin/bash -ex yum install -y aws-cli cd /home/ec2-user/ wget https://aws-codedeploy-us- east-1.s3.amazonaws.com/latest/codedeploy- agent.noarch.rpm yum -y install codedeploy-agent.noarch.rpm service codedeploy-agent start
  • 10.
  • 11.
    AWS CodePipeline Connect tobest-of-breed tools Accelerate your release process Consistently verify each release Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Perf test Gamma 1) Deploy canary 2) Deploy region 1 3) Deploy region 2 1) Pull
  • 12.
  • 13.
  • 14.
    Hands on withthe AWS Code services CodeCommit source control CodePipeline continuous delivery CodeDeploy automated deployment https://blogs.aws.amazon.com/application-management/post/Tx2CIB02ZO05ZII/ Explore-Continuous-Delivery-in-AWS-with-the-Pipeline-Starter-Kit
  • 15.
    Next steps DEEP DIVEON CODE DEPLOY @ AWS re:Invent 2015 AWS CodeDeploy: Automating Your Software Deployments (DVO306) LEARN MORE aws.amazon.com/awscode AWS CodeDeploy & CodePipeline User Guides GET STARTED console.aws.amazon.com J
  • 17.