Introducing AWS OpsWorks, a DevOps application management platform

Post on 08-May-2015

3.270 views 1 download

description

AWS gives developers programmatic control of resources and the ability to grow as application needs dictate. However, managing an application can take more than simply starting EC2 instances. Software may need to be configured on the instances and changes to existing resources may be required. AWS now has an easier way to automate and control applications of any scale or complexity. In this session we will demonstrate OpsWorks, an integrated experience for managing the complete application lifecycle, including resource provisioning, configuration management, application deployment, software updates, monitoring, and access control. Attendees will leave this session with an understanding of how to control any aspect of an application’s configuration using OpsWorks Layers and Chef recipes, and automate common tasks to streamline operations.

Transcript of Introducing AWS OpsWorks, a DevOps application management platform

Chris Barclay

Introducing AWS OpsWorks

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 trade off 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 http://farm4.static.flickr.com/3217/3142415933_de9767d69b.jpg

In today’s infrastructure, everything is code…

from the applications developers are writing, to your

configuration management tools, to provisioning

resources with AWS CloudFormation templates.

Introducing AWS OpsWorks

• Integrated application management solution for ops-minded

developers and IT admins

• Model, control, and automate applications of nearly any scale

and complexity

• AWS Management Console, SDKs, or CLI

• No additional cost

Why Use 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

Reduces cost and time with automation

SECURE

Enables control with fine-grained permissions

Improve productivity

• Scalable infrastructure

• Flexible architecture

• Deploy often

• Staging environments

AWS OpsWorks gives us the tools we need to automate operations. We can scale Monster World, one of the largest Facebook games, to millions of users without ever needing more than two backend developers.

Jesper Richter-Reichhelm head of engineering

Improve control

• Versioned config

• Control anything you can script

• Lock down console access

• Change and deployment logs

Crashlytics uses AWS OpsWorks to support the rapid growth of our mobile crash reporting solution. With AWS OpsWorks, we can focus on the development and growth of our service and not spend developer cycles on infrastructure and operational tasks.

Jeff Seibert CEO of Crashlytics

Improve reliability

Deploy Code Build Test Provision Monitor

OpsWorks Git Jenkins

Check in – Build & Test Tests pass – Deploy

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 set up 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”: “abcxyc”, …

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

Demo

What’s next for AWS OpsWorks?

• More integration with AWS resources (e.g., Elastic Load Balancing)

• More layers

• Deeper VPC integration (beyond today’s support for the default VPC)

• And more! Give us your feedback in the OpsWorks forums.

Thank You!

• Use OpsWorks to improve:

– Productivity

– Control

– Reliability

• For more information, please visit us at https://aws.amazon.com/opsworks