(app202) deploy, manage, scale apps w/ aws opsworks & aws elastic beanstalk | aws re:invent 2014
DESCRIPTION
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 shows you how to get an application running using AWS OpsWorks and AWS Elastic Beanstalk application management services. You also learn how to use AWS CloudFormation templates to document, version control, and share your application configuration. This session covers application updates, customization, and working with resources such as load balancers and databases.TRANSCRIPT
November 12th, 2014 | Las Vegas, NV
Chris Barclay and Abhishek Singh, Amazon Web Services
You need to
deliver resilient
applications with
less work
Source: http://xkcd.com/844/
Elastic Beanstalk OpsWorks CloudFormation
Application container Application automation Templated provisioning
Java PHP Python Ruby .NET Node.js
Docker
Alert
Log
Mon
Ap
p
AZ
EL
B
http://your-app.elasticbeanstalk.com
Alert
Log
Mon
Ap
p
AZ
http://your-app.elasticbeanstalk.com
Alert
Log
Mon
Ap
p
AZ
EL
B
http://your-app.elasticbeanstalk.com
Alert
Log
Mon
Ap
p
AZ
SQS queueProducers
Load-based autoscaling
PHP
app
server
PHP
app
server
PHP
app
server
Alert
Log
Mon
Ap
p
AZ
EL
B
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#
Alert
Log
Mon
Ap
p
AZ
EL
B
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#
Alert
Log
Mon
Ap
p
AZ
EL
B
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#
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 …
Load-based Auto scaling
PHP
App
Server
PHP
App
Server
PHP
App
Server
HA
Proxy
Ap
pE
LB
AZ
your-app.com
Alert
Log
Mon
Users table
(DynamoDB)
MySQL primary
(Amazon RDS)
Ap
pE
LB
AZ
your-app.com
Alert
Log
Mon
Users table
(DynamoDB)
MySQL primary
(Amazon RDS)
App Storage
(Amazon S3)
IAM instance profile
Ap
pE
LB
AZ
your-app.com
Alert
Log
Mon
Users table
(DynamoDB)
MySQL primary
(RDS)
App storage
(Amazon S3)
IAM instance profile
Ap
pE
LB
AZ
your-app.com
Alert
Log
Mon
Users table
(DynamoDB)
MySQL primary
(Amazon RDS)
App storage
(Amazon S3)
IAM instance profile
Ap
pE
LB
AZ
your-app.com
Alert
Log
Mon
AWS
CloudFormation
template
http://amzn.to/1dh8QkU
http://amzn.to/1bSHOPN
http://amzn.to/1m11Z3K
Come see us:
Dev Chat in the
Developer Lounge
3:15pm
Thursday, Nov 13
Thank you!
http://bit.ly/awsevals