Amazon Web Services (AWS) OpsWorks

40
Amazon Web Services OpsWorks - Hitesh Bhatia

description

AWS OpsWorks is an application management service that makes it easy for DevOps users to model and manage the entire application from load balancers to databases. Start from templates for common technologies like Ruby, Node.JS, PHP, and Java, or build your own using Chef recipes to install software packages and perform any task that you can script. AWS OpsWorks can scale your application using automatic load-based or time-based scaling and maintain the health of your application by detecting failed instances and replacing them. You have full control of deployments and automation of each component.

Transcript of Amazon Web Services (AWS) OpsWorks

Page 1: Amazon Web Services (AWS) OpsWorks

Amazon Web ServicesOpsWorks

- Hitesh Bhatia

Page 2: Amazon Web Services (AWS) OpsWorks

Agenda

Success Stories

Application Challenges

What is OpsWorks

Why OpsWorks

BeanStalk vs OpsWorks vs CF vs DIY

OpsWork

OpsWorks in Action

Monitoring

Summary

Page 3: Amazon Web Services (AWS) OpsWorks

Success Stories

Wooga

Monster World runs entirely on the AWS Cloud.

Wooga’s Monster World has approximately two million players per day.

15,000 requests per second at its peak.

"AWS OpsWorks gives us the tools we need to automate operations, We can scale Monster World to millions of users without ever needing more than two back-end developers.”

Page 4: Amazon Web Services (AWS) OpsWorks

Success Stories

Artsy

Marketplace and database for fine arts.

Application based on Rails and backed by a MongoDB, Memcached,CloudFront and S3.

Takes advantage of load-based and time-based scaling built into OpsWorks.

“OpsWorks gives us a lot more control. We have to be aware of the infrastructure and make decisions accordingly, but the gains have been well worth it.”

Page 5: Amazon Web Services (AWS) OpsWorks

Application Challenges

Reliability

Scalability

Operational Tasks Deployment Configuration Monitoring Security

Page 6: Amazon Web Services (AWS) OpsWorks

What is OpsWorks

AWS OpsWorks is an application management service that makes it easy for DevOps users to model and manage the entire application from load balancers to databases. 

Page 7: Amazon Web Services (AWS) OpsWorks

Why OpsWorks

Full control of components

Automation

Inbuilt scalability

Auto Healing

Repeatable Architecture

Fully customizable

Permissions

Page 8: Amazon Web Services (AWS) OpsWorks

Why OpsWorks

Detailed Monitoring

Version control integration (Git/SVN)

Resource Management

Free, pay only for the resources that you use

Page 9: Amazon Web Services (AWS) OpsWorks

BeanStalk vs OpsWorks vs CF vs DIY

Page 10: Amazon Web Services (AWS) OpsWorks

BeanStalk vs OpsWorks

Page 11: Amazon Web Services (AWS) OpsWorks

OpsWorks

Stack -> Layers -> Apps

Page 12: Amazon Web Services (AWS) OpsWorks

Layer lifecycle event

Predefined Cookbooks

Custom Cookbooks

Page 13: Amazon Web Services (AWS) OpsWorks

Types of Layers

HAProxy Load Balancer

App Servers Static, Node.js PHP Rails Java

MySQL DB

OthersMemcached (Caching)Ganglia (Monitoring)Custom (Using Chef)

Page 14: Amazon Web Services (AWS) OpsWorks

OpsWorks in Action

1. A Static Application

2. Add a DB layer

3. ELB + Auto Scaling

Page 15: Amazon Web Services (AWS) OpsWorks

1. Static Application : Architecture

Page 16: Amazon Web Services (AWS) OpsWorks

1. Static Application Setup

a) Create a Stack

b) Add Server Layer

c) Add an Instance to the Server Layer

d) Create App

e) Deploy App

Page 17: Amazon Web Services (AWS) OpsWorks

1.a) Static Application Setup : Create a Stack

Page 18: Amazon Web Services (AWS) OpsWorks

1.b) Static Application Setup : Add a Server Layer

Layer Type

ELB

Each type of layer has different options ( related to application version).

Page 19: Amazon Web Services (AWS) OpsWorks

1.c) Static Application Setup : Add an Instance to the Server Layer

Page 20: Amazon Web Services (AWS) OpsWorks

Instance States

Requested - OpsWorks has called the Amazon EC2 service to create the EC2 instance.

Pending - AWS OpsWorks is waiting for the EC2 instance to start.

Booting - The EC2 instance is booting.

Running_setup - The AWS OpsWorks agent is running the layer's Setup recipes, which handle tasks such as configuring and installing packages, and the Deploy recipes, which deploy any apps to the instance.

Online - The instance is ready for use.

Page 21: Amazon Web Services (AWS) OpsWorks

1.d) Static Application Setup : Create App

Page 22: Amazon Web Services (AWS) OpsWorks

1.e) Static Application Setup : Deploy App

lDeploy multiple apps

lA new server in same layer would have all existing apps deployed

lA new app needs to be deployed on all servers.

Page 23: Amazon Web Services (AWS) OpsWorks

2) Adding a Data Store : Architecture

Page 24: Amazon Web Services (AWS) OpsWorks

2) Adding a Data Store : Adding a layer and instance.

a) Adding a layer and instance.

b) Application/DB Configuration

c) Deploy

Page 25: Amazon Web Services (AWS) OpsWorks

2.a) Adding a Data Store : Adding a layer and instance.

Create a DB layer.

Add Instance to DB layer

Start Instance

Page 26: Amazon Web Services (AWS) OpsWorks

2.b) Adding a Data Store : Application/DB Configuration

Using Cookbooks

Specify custom cookbook repo

Run command to update Stack Cookbooks.

Page 28: Amazon Web Services (AWS) OpsWorks

2.c) Adding a Data Store : Deploy and Run

Page 29: Amazon Web Services (AWS) OpsWorks

3) LB + Auto Scaling

a) Add a HAProxy LB layer

b) Enable Load Based Auto Scaling

c) Add load based instances

Page 30: Amazon Web Services (AWS) OpsWorks

3) Auto Scaling : Updated Architecture

Page 31: Amazon Web Services (AWS) OpsWorks

3.a) Auto Scaling : Add a LB layer

Page 32: Amazon Web Services (AWS) OpsWorks

3.b) Auto Scaling : Enable load based Auto Scaling

Page 33: Amazon Web Services (AWS) OpsWorks

3.c) Auto Scaling : Add load based instances

Page 34: Amazon Web Services (AWS) OpsWorks

3.d) Auto Scaling : Start firing on servers

Page 35: Amazon Web Services (AWS) OpsWorks

Monitoring

Default Monitoring CPU Usage Memory Usage Load on server Processes

Monitoring layer

Page 36: Amazon Web Services (AWS) OpsWorks

Default Monitoring

Page 37: Amazon Web Services (AWS) OpsWorks

Default Monitoring : Individual

Page 38: Amazon Web Services (AWS) OpsWorks

Summary

Automate/Manage everything

Designed fir Blue/Green deployments.

Predefined optimized layers minimizes effort

Tons Chef Cookbooks/recipes available

Permissions

Chef learning curve.

No support for Windows

Page 40: Amazon Web Services (AWS) OpsWorks

Let’s Connect

IntelliGrape Software (P) Ltd

SDF L-6, NSEZ,

Noida Phase 2,

India

Phone : +91-120-6493668

Fax : +91-120-4207689

Email : [email protected]

/company/intelligrape

/intelligrape.software

/IntelliGrape