DevOps for the Enterprise: Automating Deployments

Post on 12-Jan-2015

729 views 1 download

Tags:

description

This session explains the different services and techniques to automate deployments on AWS, using tools such as AWS CloudFormation, OpsWorks, or PowerShell. Who should attend: Developers, DevOps Manager, Configuration Managers, Test Managers and Architects Demos associated with this webinar: • Creating a CloudFormation script that describes the target environment • Deploying the build artifacts onto the target environment View the webinar: http://youtu.be/5WwWylmZE7Y

Transcript of DevOps for the Enterprise: Automating Deployments

DEVOPS WEBINAR SERIES – EPISODE 3 ENABLING BUSINESS AGILITY: AUTOMATING DEPLOYMENTS

ianmas@amazon.com@IanMmmm

BASELINE

BRANCH

BRANCH

BRANCH

ELASPED TIME

INTEGRATION

INTEGRATIO

N

INTEGRATIONOLD WORLD: INFRASTRUCTURE IN

weeks

ENTERPRISES CAN’T AFFORD TO BE SLOW

THE MORE I PRACTICETHE LUCKIER I GET - GARY PLAYER

CLOUDFORMATION TEMPLATE

PREVIOUSLY…

ARTEFACT PRODUCTION

!

!

!

PROD / TEST ENVIRONMENTS

DEPLOY

AUTOMATED DEPLOYMENT

AUTOMATIONDeterministic & reproducible results

Faster reproduction of time-consuming tasks

CASE STUDY

HTTP://SORCERY.SMUGMUG.COM/

1. Produce the artifact from the CI platform

2. Store the artifact in a repository

3. Deploy the artifact from the repository into the target environment

DEMO !

AUTOMATED DEPLOYMENT WITH JENKINS, AWS CLOUDFORMATION,

AMAZON S3 & AMAZON EC2

DEPLOYMENT OPTIONS STATIC vs DYNAMIC

CREATE A MACHINE IMAGE

CONFIGURE AT LAUNCH

STATIC DYNAMIC

Time consuming configuration (startup time) Static configurations (less

change management)

CREATE A MACHINE IMAGE

CONFIGURE AT LAUNCH

STATIC DYNAMIC

Continuous deployment (latest code)

Environment specific (dev-test-prod)

CREATE A MACHINE IMAGE

CONFIGURE AT LAUNCH

STATIC DYNAMIC

Continuous deployment (latest code)

Environment specific (dev-test-prod)

Time consuming configuration (startup time) Static configurations (less

change management)

AWS OPSWORKS INTEGRATED APPLICATION

MANAGEMENT

A stack represents your application. One stack might be used for staging and another for production.

A layer defines how to setup and configure a set of instances and related resources such as volumes and software.

Tell OpsWorks where it can find your code and define any additional deployment tasks. OpsWorks will take care of deploying your app.

Scale your stack based on time or load. Clone your production stack to a different region. Automate workflows for common tasks.

A stack represents your application. One stack might be used for staging and another for production.

A layer defines how to setup and configure a set of instances and related resources such as volumes and software.

Tell OpsWorks where it can find your code and define any additional deployment tasks. OpsWorks will take care of deploying your app.

Scale your stack based on time or load. Clone your production stack to a different region. Automate workflows for common tasks.

A stack represents your application. One stack might be used for staging and another for production.

A layer defines how to setup and configure a set of instances and related resources such as volumes and software.

Tell OpsWorks where it can find your code and define any additional deployment tasks. OpsWorks will take care of deploying your app.

Scale your stack based on time or load. Clone your production stack to a different region. Automate workflows for common tasks.

A stack represents your application. One stack might be used for staging and another for production.

A layer defines how to setup and configure a set of instances and related resources such as volumes and software.

Tell OpsWorks where it can find your code and define any additional deployment tasks. OpsWorks will take care of deploying your app.

Scale your stack based on time or load. Clone your production stack to a different region. Automate workflows for common tasks.

AWS Elastic Beanstalk

AWSOpsWorks

AWSCloudFormation

Amazon EC2

AWS Elastic Beanstalk

AWSOpsWorks

AWSCloudFormation

Amazon EC2

CONVENIENCE CONTROL

AWS Elastic Beanstalk

AWSOpsWorks

AWSCloudFormation

Amazon EC2

CONVENIENCE CONTROL

HIGH-LEVEL DO IT YOURSELF

CHEF & CLOUDFORMATION CloudFormation is for environment initialization

Chef is for deployment & updates

BEST PRACTICES

IF YOU NEED TO SSH INTO YOUR SERVERS FOR DEPLOYMENT,

YOUR DEPLOYMENT PROCESS IS BROKEN

DEPLOYMENTS HAVE TO BE AUTHORIZED

CONTROL WHO CAN DO WHAT IN YOUR AWS ACCOUNT

USE AWS IAM IDENTITY & ACCESS MANAGEMENT

BEST PRACTICE

DEV & TEST ENVIRONMENT

AWS ACCOUNT A

PRODUCTION ENVIRONMENT

AWS ACCOUNT B

BEST PRACTICE

aws.amazon.com/blogs/aws !

aws.amazon.com/new

@AWScloud @AWS_UKI

DEVOPS WEBINAR SERIES – EPISODE 2 ENABLING BUSINESS AGILITY: DEVOPS FOR THE ENTERPRISE

ianmas@amazon.com@IanMmmm