amazon web services (aws) opsworks
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
Amazon Web ServicesOpsWorks
- Hitesh Bhatia
Agenda
Success Stories
Application Challenges
What is OpsWorks
Why OpsWorks
BeanStalk vs OpsWorks vs CF vs DIY
OpsWork
OpsWorks in Action
Monitoring
Summary
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.”
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.”
Application Challenges
Reliability
Scalability
Operational Tasks Deployment Configuration Monitoring Security
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.
Why OpsWorks
Full control of components
Automation
Inbuilt scalability
Auto Healing
Repeatable Architecture
Fully customizable
Permissions
Why OpsWorks
Detailed Monitoring
Version control integration (Git/SVN)
Resource Management
Free, pay only for the resources that you use
BeanStalk vs OpsWorks vs CF vs DIY
BeanStalk vs OpsWorks
OpsWorks
Stack -> Layers -> Apps
Layer lifecycle event
Predefined Cookbooks
Custom Cookbooks
Types of Layers
HAProxy Load Balancer
App Servers Static, Node.js PHP Rails Java
MySQL DB
OthersMemcached (Caching)Ganglia (Monitoring)Custom (Using Chef)
OpsWorks in Action
1. A Static Application
2. Add a DB layer
3. ELB + Auto Scaling
1. Static Application : Architecture
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
1.a) Static Application Setup : Create a Stack
1.b) Static Application Setup : Add a Server Layer
Layer Type
ELB
Each type of layer has different options ( related to application version).
1.c) Static Application Setup : Add an Instance to the Server Layer
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.
1.d) Static Application Setup : Create App
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.
2) Adding a Data Store : Architecture
2) Adding a Data Store : Adding a layer and instance.
a) Adding a layer and instance.
b) Application/DB Configuration
c) Deploy
2.a) Adding a Data Store : Adding a layer and instance.
Create a DB layer.
Add Instance to DB layer
Start Instance
2.b) Adding a Data Store : Application/DB Configuration
Using Cookbooks
Specify custom cookbook repo
Run command to update Stack Cookbooks.
2.b) Adding a Data Store : Configuring DB/Application
Update events.
Recipes explained
2.c) Adding a Data Store : Deploy and Run
3) LB + Auto Scaling
a) Add a HAProxy LB layer
b) Enable Load Based Auto Scaling
c) Add load based instances
3) Auto Scaling : Updated Architecture
3.a) Auto Scaling : Add a LB layer
3.b) Auto Scaling : Enable load based Auto Scaling
3.c) Auto Scaling : Add load based instances
3.d) Auto Scaling : Start firing on servers
Monitoring
Default Monitoring CPU Usage Memory Usage Load on server Processes
Monitoring layer
Default Monitoring
Default Monitoring : Individual
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
References
AWS Documentation
Demo Application
Walk-through : Demo Application
Demo Cookbook Repo
Chef Documentation
Todo : PHP Photo Share App
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