Introducing AWS OpsWorks, a DevOps application management platform

19
Chris Barclay Introducing AWS OpsWorks Product Manager

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

Page 1: Introducing AWS OpsWorks, a DevOps application management platform

Chris Barclay

Introducing AWS OpsWorks

Product Manager

Page 2: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 3: Introducing AWS OpsWorks, a DevOps application management platform

Once upon a time…

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

Page 4: Introducing AWS OpsWorks, a DevOps application management platform

This is what we want…

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

Page 5: Introducing AWS OpsWorks, a DevOps application management platform

Recipes + Automation

Source http://farm4.static.flickr.com/3217/3142415933_de9767d69b.jpg

Page 6: Introducing AWS OpsWorks, a DevOps application management platform

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.

Page 7: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 8: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 9: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 10: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 11: Introducing AWS OpsWorks, a DevOps application management platform

Improve reliability

Deploy Code Build Test Provision Monitor

OpsWorks Git Jenkins

Check in – Build & Test Tests pass – Deploy

Page 12: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 13: Introducing AWS OpsWorks, a DevOps application management platform

AWS Application Management Services

Elastic Beanstalk OpsWorks CloudFormation EC2

Convenience Control

Higher-level services Do it yourself

Page 14: Introducing AWS OpsWorks, a DevOps application management platform

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.

Page 15: Introducing AWS OpsWorks, a DevOps application management platform

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

Page 16: Introducing AWS OpsWorks, a DevOps application management platform

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 …

Page 17: Introducing AWS OpsWorks, a DevOps application management platform

Demo

Page 18: Introducing AWS OpsWorks, a DevOps application management platform

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.

Page 19: Introducing AWS OpsWorks, a DevOps application management platform

Thank You!

• Use OpsWorks to improve:

– Productivity

– Control

– Reliability

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