Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 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/
AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
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
Amazon 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
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, AWS OpsWorks Developer
John Doe, AWS OpsWorks Developer
• Developer
• Builds apps with broad architectural patterns
and software; e.g., MongoDB a...
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 AWS 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 an AWS CloudFormation
Stack
Users Table
(Amazon
DynamoDB)
MySQL Primary
(Amazon RDS)
App Storage
(Amazon S3)
I...
Modeled in a Template File
Users Table
(Amazon
DynamoDB)
MySQL Primary
(Amazon RDS)
App Storage
(Amazon S3)
IAM Instance P...
What we discussed
• How to choose among the AWS services that
can help you run applications more easily
• How to get an ap...
Questions?
Learn More
Get started with Elastic Beanstalk
http://amzn.to/1dh8QkU
Follow us @aws_eb
Get started with AWS OpsWorks
http:...
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or i...
Upcoming SlideShare
Loading in …5
×

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

5,769 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 March 26, 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. AWS Elastic Beanstalk AWS OpsWorks AWS 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 Amazon 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. Customize Your Servers, Simply
  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. 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#
  24. 24. John Doe, AWS OpsWorks Developer
  25. 25. John Doe, AWS 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
  26. 26. Benefits • Any architecture • Configuration as code • Automation to run at scale • Control any component
  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. Dynamic Configuration
  34. 34. 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 …
  35. 35. 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
  36. 36. Demo time • Model application using layers and apps • Customize configuration using recipes • Deployment options • Review logs • Manage user permissions
  37. 37. AWS CloudFormation: Model Your App • Document, version control, and share your applications and infrastructure as a JSON document • Provision app and other AWS resources (Amazon VPC, DynamoDB, etc.) from a template • Repeatable, reliable deployments for test/dev/prod in any AWS region
  38. 38. Elastic Beanstalk or AWS OpsWorks Resource AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon
  39. 39. Database Resources Users Table (DynamoDB) MySQL Primary (RDS) AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon
  40. 40. 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
  41. 41. Deployed as an AWS CloudFormation Stack Users Table (Amazon DynamoDB) MySQL Primary (Amazon RDS) App Storage (Amazon S3) IAM Instance Profile AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon
  42. 42. Modeled in a Template File Users Table (Amazon DynamoDB) MySQL Primary (Amazon RDS) App Storage (Amazon S3) IAM Instance Profile AppELB AZ your-app.elasticbeanstalk.com Alert Log Mon AWS CloudFormation Template
  43. 43. 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 Elastic Beanstalk and AWS OpsWorks • How to use AWS CloudFormation templates to document, version control, and share your application configuration
  44. 44. Questions?
  45. 45. Learn More Get started with Elastic Beanstalk http://amzn.to/1dh8QkU Follow us @aws_eb Get started with AWS OpsWorks http://amzn.to/1bSHOPN Follow us @AWSOpsWorks Get started with AWS CloudFormation http://amzn.to/1m11Z3K Follow us at @AWSCloudFormer
  46. 46. © 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 March 26, 2014 Thank you!

×