T3 - Deploy, manage, and scale your apps
-
Upload
amazon-web-services -
Category
Technology
-
view
2.535 -
download
2
description
Transcript of T3 - Deploy, manage, and scale your apps
AWS Summit 2014
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Guy Ernest Solutions Architect @guyernest
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
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)
flickr.com/photos/noriqnub/7127567413
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?
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 workloads • Needs some flexibility to customize her app
environments and get it fast to testing • Wants simple API to monitor, view logs, scale,
and deploy her apps
The demonstration • A Massive Voting App
using HTML, Java and Node.js
• Uses Elastic Load Balancing and Amazon DynamoDB
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 queue Producers
Deploy With Tools You Know
Alert
Log
Mon
App
AZ
ELB
http://your-app.elasticbeanstalk.com
v1.1 V1.2b V1.0
John Doe, AWS OpsWorks Developer
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
Benefits • Any architecture • Configuration as code • Automation to run at scale • Control any component
Deployments • Application deployment from your favorite
repositories • Supports patterns such as 1-box deployments • Run scripts on-demand for runbook automation • Restrict deployment and ssh access to specific
users
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][: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 …
“White board you environment”
Model your application
Manage Your Instances
Deploy your Apps
Protect your environment
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
Elastic Beanstalk or AWS OpsWorks Resource
App
EL
B
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
Database Resources
Users Table (DynamoDB)
MySQL Primary (RDS)
App
EL
B
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
EL
B
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
Deployed as an AWS CloudFormation Stack
Users Table (Amazon
DynamoDB)
MySQL Primary (Amazon RDS)
App Storage (Amazon S3)
IAM Instance Profile
App
EL
B
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
Modeled in a Template File
Users Table (Amazon
DynamoDB)
MySQL Primary (Amazon RDS)
App Storage (Amazon S3)
IAM Instance Profile
App
EL
B
AZ
your-app.elasticbeanstalk.com
Alert
Log
Mon
AWS CloudFormation
Template
?$ $0 + $0 + $0 = $0
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
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
Thank You!
AWS EXPERT? GET CERTIFIED! aws.amazon.com/certification Guy Ernest
Solutions Architect @guyernest