aws webcast - aws opsworks continuous integration demo

Post on 08-May-2015

3.493 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

In this session we'll discuss and demonstrate key concepts and design patterns for continuous deployment and integration using technologies like AWS OpsWorks and Chef to enable better control of applications and infrastructures.

TRANSCRIPT

AWS OpsWorks

Chris Barclay

Product Manager

Application Management Challenges

• Your app’s reliability and scalability are really important.

• The operational tasks needed to keep it running smoothly take time…

• As your app grows, routine operational tasks can become even more time-consuming and error-prone.

• Don’t want to tradeoff control or flexibility for ease of use.

• Provision

• Deploy

• Configure

• Monitor

• Scale

• Secure

Once upon a time…

Source: http://www.mixph.com/2008/10/how-to-make-donuts-food-business.html

This is what we want…

Source http://thethriftythings.com/2013/01/doughnut-heaven-with-krispy-kreme-2013-bloggers-summit.html

Recipes + Automation

Source www.ericjoyner.com

In today’s infrastructure, everything is code…

from the applications developers are writing, to

your configuration management tools, to

provisioning resources with CloudFormation

templates.

AWS OpsWorks

• Integrated application management solution for

ops-minded developers and IT admins

• Model, control and automate applications of

nearly any scale and complexity

• Management Console, SDKs, or CLI

• No additional cost

Why AWS OpsWorks?

SIMPLE

Easy to use, quickly get started and productive

PRODUCTIVE

Reduces errors with conventions and scripted configuration

FLEXIBLE

Simplifies deployments of any scale and complexity

POWERFUL

Reduce cost and time with automation

SECURE

Enables control with fine grained permissions

Software Config & Deployment Options

Linux

JEE

Hibernate

Your Code

Struts

Apache

Tomcat

Linux

JEE

Hibernate

Your Code

Struts

Apache

Tomcat

Linux

JEE

Hibernate

Your Code

Struts

Apache

Tomcat

Chef

AWS Application Management Services

Elastic Beanstalk OpsWorks CloudFormation EC2

Convenience Control

Higher-level Services Do it yourself

What we’re going to show in the demo…

A stack represents the cloud infrastructure and applications that you want to manage together.

A layer defines how to setup and configure a set of instances and related resources.

Then deploy your app to specific instances and customize the deployment with Chef recipes.

Decide how to scale: manually, with 24/7 instances, or automatically, with load-based or time-based instances.

What is Chef and how does OpsWorks use it

• Chef is an open-source framework that automates software deployment and configuration.

• Whenever a change happens on your stack, or upon request, all instances are notified and recipes are run.

Recipes Lifecycle Events

Metadata

Chef recipes in action

Recipe

+

Metadata

=

Command

execute “mysql-connect” do command “/usr/bin/mysql -u#{node[:deploy][:myphpapp][:database][:username]} -p#{node[:deploy][:myphpapp][:database][:password]} #{node[:deploy][:myphpapp][:database][:database]} …

“deploy”: { “myphpapp”: { “database”: { “username”: “root”, “password”: “abcxyz”, …

“/usr/bin/mysql -uroot –pabcxyz myphpapp …

Demonstration: Deployment Pipeline to Staging

Deploy Code Build Test Provision Monitor

OpsWorks Git Jenkins

Check in – Build & Test Tests pass – Deploy to Staging

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

100%

MySQL RDS Instance

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

EC2 Instances

ELB

90% 10%

MySQL RDS Instance

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

EC2 Instances

ELB

50% 50%

MySQL RDS Instance

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

EC2 Instances

ELB

0% 100%

MySQL RDS Instance

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

EC2 Instances

ELB

0% 100%

MySQL RDS Instance

Demonstration: Deployment Pipeline to Prod

Blue/Green Deploys – We stand up a duplicate part of our

infrastructure and slowly cut traffic over to it

• Shift via DNS

• Makes it easy to do testing of new features

• Makes it easy to roll back

– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application

• Shut down the old when no traffic there

Amazon Route 53

EC2 Instances

ELB

100%

MySQL RDS Instance

Thank you!

For more information, see us at https://aws.amazon.com/opsworks/

top related