© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or i...
What you will learn in this session
• How to choose among the AWS services that
can help you run applications more easily
...
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...
It’s not just deployments…
• How do I scale my environment?
• What is i-dc4297f2 used for?
• How do I know when my applica...
You need to
deliver resilient
applications with
less work
Source: http://xkcd.com/844/
Elastic Beanstalk OpsWorks CloudFormation
Application Container Application Automation Templated Provisioning
Jane Doe, Elastic Beanstalk developer
Jane Doe, Elastic Beanstalk developer
• Developer
• Builds web apps, APIs, and handles some
background processing workload...
The demonstration
• A PHP application that
stores text messages in
a database
• Uses Elastic Load
Balancing and Amazon
RDS...
Demo time
• Checkout app from GitHub
• Integrate with the eb command line tool
• Deploy from the command line
• View the c...
Elastic Beanstalk Supports…
Java PHP Python Ruby .NET Node.js
Deploy Your App for Test
Alert
Log
Mon
App
AZ
http://your-app.elasticbeanstalk.com
Deploy Your App for Scale
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
Deploy Your Background Processing App
Alert
Log
Mon
App
AZ
SQS QueueProducers
Deploy With Tools You Know
Deploy With Tools You Know
Deploy With Tools You Know
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
Customize Your Servers, Simply
Customize Your Servers, Simply
Store Sensitive Config, Safely
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
import os
some_var=os.environ...
Store Sensitive Config, Safely
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
import os
some_var=os.environ...
Store Sensitive Config, Safely
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
import os
some_var=os.environ...
John Doe, OpsWorks Developer
John Doe, OpsWorks Developer
• Developer
• Builds apps with broad architectural patterns
and software, e.g. MongoDB and So...
Benefits
• Any architecture
• Configuration as code
• Automation to run at scale
• Control any component
Dynamic Configuration
Dynamic Configuration
Dynamic Configuration
Dynamic Configuration
Dynamic Configuration
Dynamic Configuration
Dynamic Configuration
Recipes in action
Recipe
+
Metadata
=
Command
execute “mysql-connect” do
command “/usr/bin/mysql
-u#{node[:deploy][:myphpa...
The demonstration
• The same application
demonstrated with
Elastic Beanstalk
• Also uses Ganglia for
application monitorin...
Demo time
• Model application using layers and apps
• Customize configuration using recipes
• Deployment options
• Review ...
AWS CloudFormation: Model Your App
• Document, version control, and share your
applications and infrastructure as a JSON
d...
Elastic Beanstalk or OpsWorks Resource
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
Database Resources
Users Table
(DynamoDB)
MySQL Primary
(RDS)
AppELB
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
Object Storage and Security Resources
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
App...
Deployed as a CloudFormation Stack
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
AppELB...
Modeled in a Template File
Users Table
(DynamoDB)
MySQL Primary
(RDS)
App Storage
(S3)
IAM Instance Profile
AppELB
AZ
your...
What we discussed
• How to choose among the AWS services that
can help you run applications more easily
• How to get an ap...
Learn More
Get started with Elastic Beanstalk
http://amzn.to/1dh8QkU
Follow us @aws_eb
Get started with OpsWorks
http://am...
Thank You!
Upcoming SlideShare
Loading in …5
×

Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk

1,639 views

Published on

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.

Published in: Technology

Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk

  1. 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk Chris Barclay Evan Brown Product Manager Community Manager July 10, 2014
  2. 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. 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. 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. 5. You need to deliver resilient applications with less work Source: http://xkcd.com/844/
  6. 6. Elastic Beanstalk OpsWorks CloudFormation Application Container Application Automation Templated Provisioning
  7. 7. Jane Doe, Elastic Beanstalk developer
  8. 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. 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. 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
  11. 11. Elastic Beanstalk Supports… Java PHP Python Ruby .NET Node.js
  12. 12. Deploy Your App for Test Alert Log Mon App AZ http://your-app.elasticbeanstalk.com
  13. 13. Deploy Your App for Scale Alert Log Mon App AZ ELB http://your-app.elasticbeanstalk.com
  14. 14. Deploy Your Background Processing App Alert Log Mon App AZ SQS QueueProducers
  15. 15. Deploy With Tools You Know
  16. 16. Deploy With Tools You Know
  17. 17. Deploy With Tools You Know Alert Log Mon App AZ ELB http://your-app.elasticbeanstalk.com
  18. 18. Customize Your Servers, Simply
  19. 19. Customize Your Servers, Simply
  20. 20. Store Sensitive Config, Safely Alert Log Mon App AZ ELB http://your-app.elasticbeanstalk.com import os some_var=os.environ.get(‘API_CREDS’) String some_var = System.getProperty(‘API_CREDS’) NameValueCollection appConfig = ConfigurationManager.AppSettings; String param = appConfig[”API_CREDS"]; Python Java C#
  21. 21. Store Sensitive Config, Safely Alert Log Mon App AZ ELB http://your-app.elasticbeanstalk.com import os some_var=os.environ.get(‘API_CREDS’) String some_var = System.getProperty(‘API_CREDS’) NameValueCollection appConfig = ConfigurationManager.AppSettings; string param = appConfig[”API_CREDS"]; Python Java C#
  22. 22. Store Sensitive Config, Safely Alert Log Mon App AZ ELB http://your-app.elasticbeanstalk.com import os some_var=os.environ.get(‘API_CREDS’) String some_var = System.getProperty(‘API_CREDS’) NameValueCollection appConfig = ConfigurationManager.AppSettings; string param = appConfig[”API_CREDS"]; Python Java C#
  23. 23. John Doe, OpsWorks Developer
  24. 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
  25. 25. Benefits • Any architecture • Configuration as code • Automation to run at scale • Control any component
  26. 26. Dynamic Configuration
  27. 27. Dynamic Configuration
  28. 28. Dynamic Configuration
  29. 29. Dynamic Configuration
  30. 30. Dynamic Configuration
  31. 31. Dynamic Configuration
  32. 32. Dynamic Configuration
  33. 33. 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”: “abcxyz”, … “/usr/bin/mysql -uroot –pabcxyz myphpapp …
  34. 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. 35. Demo time • Model application using layers and apps • Customize configuration using recipes • Deployment options • Review logs • Manage user permissions
  36. 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. 37. Elastic Beanstalk or OpsWorks Resource AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon
  38. 38. Database Resources Users Table (DynamoDB) MySQL Primary (RDS) AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon
  39. 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. 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. 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. 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. 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
  44. 44. Thank You!

×