AWS Elastic Beanstalk and Docker

42
AWS Elastic Beanstalk and Docker: High Fidelity, High Velocity Deployments in the Cloud Evan Brown @evandbrown Senior Developer Advocate, AWS

Transcript of AWS Elastic Beanstalk and Docker

Page 1: AWS Elastic Beanstalk and Docker

AWS Elastic Beanstalk and Docker:

High Fidelity, High Velocity

Deployments in the Cloud

Evan Brown

@evandbrown

Senior Developer Advocate, AWS

Page 2: AWS Elastic Beanstalk and Docker

a quick thank you

Page 3: AWS Elastic Beanstalk and Docker

AWS Elastic Beanstalk and Docker: High

Fidelity, High Velocity Deployments in the

CloudEvan Brown

Senior Developer Advocate, Amazon Web Services

Page 4: AWS Elastic Beanstalk and Docker

Elastic Beans Talk

Page 5: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 6: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 7: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Spring&

Struts&

Composer&

Laravel&

MVC&

Flask&

Django&

Express&

Rails&

Sinatra&

Page 8: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 9: AWS Elastic Beanstalk and Docker

leverage the ecosystem

VPC&

RDS&

ElastiCache&

DynamoDB&

CloudFormation&

Auto Scaling&

Multiple Availability Zones&

S3&

CloudWatch&

Develop

DeployManage & Scale

Page 10: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

leverage the ecosystem

VPC – fine-grained controls; extend on-premises

RDS&

ElastiCache&

DynamoDB&

CloudFormation&

Auto Scaling&

Multiple Availability Zones&

S3&

CloudWatch&

Page 11: AWS Elastic Beanstalk and Docker

leverage the ecosystem

VPC – fine-grained controls; extend on-premises

Page 12: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

leverage the ecosystem

VPC&

RDS – MySQL, PostgreSQL, Oracle, SQL Server

ElastiCache&

DynamoDB&

CloudFormation&

Auto Scaling&

Multiple Availability Zones&

S3&

CloudWatch&

Page 13: AWS Elastic Beanstalk and Docker

leverage the ecosystem

VPC&

RDS&

ElastiCache – Redis and Memcached

DynamoDB&

CloudFormation&

Auto Scaling&

Multiple Availability Zones&

S3&

CloudWatch&

Develop

DeployManage & Scale

Page 14: AWS Elastic Beanstalk and Docker

leverage the ecosystem

VPC&

RDS&

ElastiCache&

DynamoDB&

CloudFormation&

Auto Scaling&

Multiple Availability Zones&

S3&

CloudWatch&

Develop

DeployManage & Scale

Page 15: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

just add a yaml file to your app

Page 16: AWS Elastic Beanstalk and Docker

quick detour

Free

So many snacks

So many Solutions Architects

Training & Tech Talks

Through June 27

http://bit.ly/awsloft

Page 17: AWS Elastic Beanstalk and Docker

Develop

DeployManage & ScaleAPI

Page 18: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 19: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 20: AWS Elastic Beanstalk and Docker

load balanced, auto scaled

Develop

DeployManage & ScaleA

pp

EL

B

AZ

your-app.elasticbeanstalk.com

Alert

Log

Mon

Page 21: AWS Elastic Beanstalk and Docker

single instance

Develop

DeployManage & ScaleA

pp

AZ

your-app.elasticbeanstalk.com

Alert

Log

Mon

Page 22: AWS Elastic Beanstalk and Docker

queue-driven worker

Develop

DeployManage & ScaleA

pp

Qu

eu

e

AZ

producer

Alert

Log

Mon

Page 23: AWS Elastic Beanstalk and Docker

Develop

DeployManage & Scale

Page 24: AWS Elastic Beanstalk and Docker
Page 25: AWS Elastic Beanstalk and Docker
Page 26: AWS Elastic Beanstalk and Docker

App.zip

Elastic Beanstalk

App.zip

Page 27: AWS Elastic Beanstalk and Docker

App.zip

Elastic Beanstalk

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Page 28: AWS Elastic Beanstalk and Docker

App.zip

Python

2.7.5

Python

libs

WSGI entrypoint:

application.py

Elastic Beanstalk

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Page 29: AWS Elastic Beanstalk and Docker
Page 30: AWS Elastic Beanstalk and Docker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

App.zip

Python

2.7.5

Python

libs

WSGI entrypoint:

application.py

Elastic Beanstalk

Developer can build app to interface, or

customize the Beanstalk interface

Page 31: AWS Elastic Beanstalk and Docker
Page 32: AWS Elastic Beanstalk and Docker

Enable high fidelity, high velocity

deployments in Elastic Beanstalk

You own the runtime

Page 33: AWS Elastic Beanstalk and Docker

App.zip

Elastic Beanstalk

Do

cker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Page 34: AWS Elastic Beanstalk and Docker

App.zip

Elastic Beanstalk

Do

ck

er

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Page 35: AWS Elastic Beanstalk and Docker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Deploy your container 3 ways

Page 36: AWS Elastic Beanstalk and Docker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Dockerfile

• Image will be built on

each instance

Page 37: AWS Elastic Beanstalk and Docker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Dockerrun.aws.json

• Manifest that describes

how to run container

Page 38: AWS Elastic Beanstalk and Docker

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Dockerrun.aws.json

Page 39: AWS Elastic Beanstalk and Docker

Zip with app context

App.zip

-------------------------------

|-- Dockerfile

|-- Dockerrun.aws.json

Dockerfile

Dockerrun.aws.json

Page 40: AWS Elastic Beanstalk and Docker

high fidelity, high velocity

App.zip

Elastic Beanstalk

Do

ck

er

App.zip

Local Dev (e.g., MacBook Pro)

Do

ck

er

App.zip

Python 3

WSGI entrypoint:

app.py

Python

libs

Page 41: AWS Elastic Beanstalk and Docker

DEMO

Page 42: AWS Elastic Beanstalk and Docker

Questions & Answers

• bit.ly/eb-dockercon

•@aws_eb

• bit.ly/awsloft