AWS offers a number of services that help you easily deploy and run applications in the cloud. Come to this session to learn how to choose among these options. Through interactive demonstrations, this session will show you how to get an application running using AWS OpsWorks and AWS Elastic Beanstalk application management services. You will also learn how to use AWS CloudFormation templates to document, version control, and share your application configuration. This session will cover topics like application updates, customization, and working with resources such as load balancers and databases.
2. What you will learn in this session
• How to choose among the AWS services that
can help you run applications more easily
• How to get an application running using AWS
Elastic Beanstalk and AWS OpsWorks
• How to use AWS CloudFormation templates to
document, version control, and share your
application configuration
3. 1. Make dough
2. Roll and cut the dough
3. Separate donuts from holes
4. Let the dough rise
5. Prepare the glaze
6. Frying time!
7. Let them dry
8. Apply glaze
9. Add sprinkles (optional)
4. It’s not just deployments…
• How do I scale my environment?
• What is i-dc4297f2 used for?
• How do I know when my application is
unhealthy?
• Where do I get logs?
• Who has SSH access?
5. You need to
deliver resilient
applications with
less work
Source: http://xkcd.com/844/
8. Jane Doe, Elastic Beanstalk developer
• Developer
• Builds web apps, APIs, and handles some
background processing workloads
• Needs some flexibility to customize her app
environments
• Wants simple API to monitor, view logs, scale,
and deploy her apps
9. The demonstration
• A PHP application that
stores text messages in
a database
• Uses Elastic Load
Balancing and Amazon
RDS
Load-based Auto scaling
PHP
App
Server
PHP
App
Server
PHP
App
Server
10. Demo time
• Checkout app from GitHub
• Integrate with the eb command line tool
• Deploy from the command line
• View the console
• Change, commit, and deploy
24. John Doe, OpsWorks Developer
• Developer
• Builds apps with broad architectural patterns
and software, e.g. MongoDB and Solr
• Needs a high degree of flexibility to customize
app environments
• Wants APIs to control all aspects of application
operations including deployments and scaling
34. The demonstration
• The same application
demonstrated with
Elastic Beanstalk
• Also uses Ganglia for
application monitoring Load-based Auto scaling
PHP
App
Server
PHP
App
Server
PHP
App
Server
Ganglia
Server
35. Demo time
• Model application using layers and apps
• Customize configuration using recipes
• Deployment options
• Review logs
• Manage user permissions
36. AWS CloudFormation: Model Your App
• Document, version control, and share your
applications and infrastructure as a JSON
document
• Provision app and other AWS resources (VPC,
DynamoDB, etc) from a template
• Repeatable, reliable deployments for
test/dev/prod in any AWS Region
37. Elastic Beanstalk or OpsWorks Resource
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
39. Object Storage and Security Resources
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
40. Deployed as a CloudFormation Stack
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
41. Modeled in a Template File
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
CloudFormation
Template
42. What we discussed
• How to choose among the AWS services that
can help you run applications more easily
• How to get an application running using AWS
Elastic Beanstalk and AWS OpsWorks
• How to use AWS CloudFormation templates to
document, version control, and share your
application configuration
43. Learn More
Get started with Elastic Beanstalk
http://amzn.to/1dh8QkU
Follow us @aws_eb
Get started with OpsWorks
http://amzn.to/1bSHOPN
Follow us @AWSOpsWorks
Get started with CloudFormation
http://amzn.to/1m11Z3K
Follow us at @AWSCloudFormer