DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

17
Julien Simon, Principal Technical Evangelist [email protected] @julsimon AWS Code{Commit,Deploy,Pipeline}

Transcript of DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

Page 1: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

Julien Simon, Principal Technical Evangelist [email protected]

@julsimon

AWS Code{Commit,Deploy,Pipeline}

Page 2: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

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.

Page 3: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

DevOps development lifecycle

developers delivery pipelines services

release test build

release test build

release test build

release test build

release test build

release test build

Page 4: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

= 50 million deployments a year (1.5 deployment every second)

Thousands of teams × Microservice architecture

× Continuous delivery × Multiple environments

Page 5: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

Setting up a delivery pipeline

Testing Staging Production

deploy

deploy

deploy Source Build

release

AWS CodeDeploy

AWS CodePipeline

AWS CodeCommit

Page 6: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

AWS CodeCommit

Use standard Git tools Scalability, availability, and durability of Amazon S3 Encryption at rest with customer-specific keys

gitpull/push CodeCommit

Git objects in Amazon S3

Git index in Amazon DynamoDB

Encryption key in AWS KMS

SSH or HTTPS

Page 7: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

AWS CodeDeploy

Easy and reliable deployments (zero downtime) Scale with ease Deploy to any server

Test CodeDeploy v1, v2, v3

Production

Dev

Page 8: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

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

Page 9: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

Enabling CodeDeploy with User Data

#!/bin/bash -exyum install -y aws-clicd /home/ec2-user/wget https://aws-codedeploy-us-east-1.s3.amazonaws.com/latest/codedeploy-agent.noarch.rpmyum -y install codedeploy-agent.noarch.rpmservice codedeploy-agent start

Page 10: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

AWS CodeDeploy Key Components

Page 11: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

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

Page 12: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

AWS CodePipeline Key Components

Page 13: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

AWS Code partners

Page 14: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

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

Page 15: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

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

Page 16: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
Page 17: DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools

[email protected]

@julsimon