SlideShare a Scribd company logo
1 of 62
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Deploy, scale, and manage your web applications
with AWS Elastic Beanstalk
Danielle Greshcok
Manager, Solutions Architecture
Agenda
• Elastic Beanstalk Introduction
• Elastic Beanstalk vs. DIY
• Getting started with Elastic Beanstalk
• Demo – Sample Application
• Custom Platforms
• Best Practices
• Deployment options
• Managed Updated
• Auto Scaling
• Other tips
Developer challenges
• Complexity of deploying code, provisioning
and managing infrastructure
• Expertise and time needed to manage and
configure servers, databases, load
balancers, firewalls, and networks
• How to automate application scaling
• Lack of consistency across teams
What is Elastic Beanstalk?
AWS Elastic Beanstalk is an easy-to-use service for
deploying, scaling, and managing web applications and
services.
AWS Elastic Beanstalk vs. Do It Yourself
Your code
HTTP Server
Application Server
Language Interpreter
Operating System
Host
Elastic Beanstalk configures each
EC2 instance in your
environment with the components
necessary to run applications for
the selected platform.
Focus on building your
application
Provided by you
Provided and managed by AWS Elastic Beanstalk (EB)
On-instance configuration
AWS Elastic Beanstalk vs. Do It Yourself
• Preconfigured Infrastructure
• Single Instance (Dev, Low Cost)
• Load Balanced, Auto Scaling (Production)
• Web & Worker tiers
• Elastic Beanstalk provisions necessary
infrastructure resources such as the load
balancer, Auto Scaling group, security
groups, database (optional), etc.
• Provides a unique domain name for your
application
(e.g.: youapp.regionx.elasticbeanstalk.com)
Infrastructure stack
Elastic Beanstalk benefits
Fast & simple
to begin
Developer
productivity/agility
Impossible
to outgrow
Complete
resource control
No additional charge to use Elastic Beanstalk.
You pay only for underlying AWS resources (i.e., EC2 instances, S3, etc.)
Common use cases
Websites
API
backends
Mobile
backends
Asynchronous
Workers
How do I get started with Elastic Beanstalk?
Information required to deploy application
01
02
03
04
Region
Stack (container) type
Single Instance
Load Balanced
with Auto ScalingOR
Database (RDS)
Your code
Optional
Supported Platforms
Custom Platforms
Create and use your own custom
platform
Building blocks
Application
Application Versions ( V1, V2, …,Vx)
Environment
1
Environment
2
Environment
.. n
How to deploy applications
1. Via AWS Management Console
2. Via AWS Toolkit for Eclipse and Visual
Studio IDE
3. Via AWS SDKs and CLI
4. Via EB command line interface
$ eb deploy
Deploy sample application (EB CLI)
Initial application deployment workflow
$ git clone
https://github.com/awslabs/eb-
node-express-sample.git
Download sample application02
$ eb init
Create your Elastic Beanstalk app03
Follow the prompts to configure the
environment
04
05 Create the resources and launch the
application
$ eb create
$ pip install --upgrade awsebcli
Install the AWS Elastic Beanstalk
command line interface (EB CLI)
01
Update sample application (EB CLI)
Update application workflow
Update your code01
$ git add .
$ git commit –m “v2.0”
$ eb deploy
Add & commit code to repository02
Open application once deployment
completes
03
$ eb open
Sample application details
• Application dependency management
• Configuring/customizing an environment using ebextensions
• Choosing a remote source repository: AWS CodeCommit
• Adding additional AWS resources (e.g.: DynamoDB, SNS, SQS etc.)
Demo
Custom Platform
• Create and manage your own custom Elastic Beanstalk
platforms
• Get greater control over the AMI, metadata, and
configuration
• Enforce and manage standardization/best practices across
environments (without the need for .ebextensions)
Custom Platform
Examples:
• Create your own platforms on Ubuntu or Red Hat Enterprise
• Customize your instances with languages/frameworks currently not
supported by Elastic Beanstalk e.g. Rust, Sinatra etc.
• Create your own platform that uses encrypted AMIs or custom disk
layouts e.g. multiple volumes, EFS mounts etc.
Custom Platform
Creating a Custom Platform:
• Uses Packer: an open-source tool for creating machine images
• EB CLI, API, SDK
• Platform Definition archive
• Packer template (Platform name, base AMI)
• Platform definition file: platform.yml (metadata: OS, language/framework)
• Builder (runtime scripts, hooks, configuration)
• EB CLI
• eb platform init
• eb platform create
Custom Platform
Using a Custom Platform in an environment:
• AWS Management console, EB CLI, API, SDK
• EB CLI:
• eb init
• select option “Custom Platform” for the question “select a platform”
• eb create
• Console:
Best practices
• Deployment options
• Managed Platform Updates
• Auto Scaling
• Other tips
Deployment options
* Default method ^ ”All at Once” Method used
Environment Type Deployment category Method
All at Once*
Immutable (New)
Disabled*^
Immutable (New)
All at Once
Rolling*
Rolling with additional batch
Immutable
Disabled^
Rolling based on Health*
Rolling based on Time
Immutable
Single Instance
Load Balanced/Auto-Scaled
Application
Platform/Configuration
Application
Platform/Configuration
All at once: step 0
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
All at once: step 1
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
All at once: step 2
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Rolling: step 0
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling: step 1
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling: step 2
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling: step 3
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Rolling: step 4
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Rolling with additional batch: step 0
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 1
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2 v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 2
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2 v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 3
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2 v2 v2
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 4
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2 v2 v2
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 5
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2 v2 v2
myapp.us-east-1.elasticbeanstalk.com
v1v1
Rolling with additional batch: step 6
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Immutable: step 0
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Immutable: step 1
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
v2
Immutable: step 2
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
v2
Immutable: step 3
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
v2 v2 v2v2
Immutable: step 4
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
v2 v2 v2v2
Immutable: step 5
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
v2 v2 v2v2
Immutable: step 6
Elastic Beanstalk Environment
myapp.us-east-1.elasticbeanstalk.com
Auto Scaling Group
v2 v2 v2v2
Immutable: step 6
Auto Scaling Group
Elastic Beanstalk Environment
v2 v2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Blue/Green: step 0
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Blue/Green: step 1
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp_new.us-east-1.elasticbeanstalk.com
v1v1
Cloned environment
Blue/Green: step 2
Auto Scaling Group
Elastic Beanstalk Environment
v2 V2
myapp_new.us-east-1.elasticbeanstalk.com
v2v2
Cloned environment
Blue/Green: step 3
Auto Scaling Group
Elastic Beanstalk Environment
v2 V2
myapp_new.us-east-1.elasticbeanstalk.com
v2v2
Cloned environment
Blue/Green: step 3
Cloned environment
Auto Scaling Group
Elastic Beanstalk Environment
v2 V2
myapp_new.us-east-1.elasticbeanstalk.com
v2v2
Blue/Green: step 4
Blue/Green: step 5
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp.us-east-1.elasticbeanstalk.com
v1v1
Cloned environment
Auto Scaling Group
Elastic Beanstalk Environment
v2 V2
myapp_new.us-east-1.elasticbeanstalk.com
v2v2
Blue/Green: step 6
Auto Scaling Group
Elastic Beanstalk Environment
v1 v1
myapp_new.us-east-1.elasticbeanstalk.com
v1v1
Cloned environment
Auto Scaling Group
Elastic Beanstalk Environment
v2 V2
myapp.us-east-1.elasticbeanstalk.com
v2v2
Application deployment options
Method Impact of failed deployment
Deploy
Time
Zero
Downtime
No DNS
Change
Rollback
process
Code
Deployed
To
All at Once Downtime  X  Re-deploy Existing
instances
Rolling Single batch out of service. Any
successful batches prior to
failure running new application
version
♦   Re-deploy Existing
instances
Rolling with
additional batch
Minimum if first batch fails,
otherwise similar to Rolling
♦   Re-deploy New &
existing
instances
Immutable Minimal    Re-deploy New
instances
Blue/Green Minimal   X Swap URL New
instances
 Options available for both Single Instance and Load Balanced/Auto-Scaled Environments ♦ Varies depending on instance batch size
Managed Platform Update
Configure your environment to automatically upgrade to the latest
version of a platform during a scheduled maintenance window.
• Permissions
• Maintenance Window
• Minor and Patch Updates
Key benefits:
• Automated Upgrades
• No/Minimal downtime
• No/Minimal impact on capacity
• Flexibility of manual updates
• Instance replacement
Demo
Managed updates
Auto Scaling
Min/Max
instances
Availability
Zones
Scaling
cooldown
Triggers based
scaling
Trigger measurement
(CPU utilization, network traffic, disk
activity, instance health)
Trigger statistic
Measurement period
Breach duration
Thresholds
Breach scale increment
Time-based
scaling
Name
Min/Max instance
Occurrence (One-time, Recurrent)
Recurrence (CRON expression- 30 8 * * 3)
Logs, Metrics, & Alarms
• Enable log rotation to automatically publish logs to S3.
• Set up alarms to automatically monitor critical metrics and send
notifications when metrics are outside normal operating range.
• Enable Amazon Route 53 health checks and alarms
• CloudWatch Log streaming to stream logs in real time from Elastic
Beanstalk managed EC2 instance to CloudWatch
Other tips
Tag your environments
• Resource discoverability, cost monitoring, access control
• Elastic Beanstalk automatically tags environments
Application version lifecycle management:
• Automate application version cleanup
• Does not apply to deployed versions
Key links
Elastic beanstalk resources:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/RelatedResources.html
Sample application:
https://github.com/awslabs/eb-node-express-sample
Troubleshooting tips:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/troubleshooting.html
Tutorials and samples:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/tutorials.html
Deployment options:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html
Managed Updates:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-platform-update-managed.html
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-servicerole.html#iam-servicerole-update
Configuring Auto Scaling:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.as.html
Load Testing with Locust:
https://aws.amazon.com/blogs/devops/using-locust-on-aws-elastic-beanstalk-for-distributed-load-generation-and-testing/
https://github.com/awslabs/eb-locustio-sample
Key links
Custom Platforms
• GitHub samples: https://github.com/awslabs/eb-custom-platforms-samples/tree/master
• Custom Platform overview:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html
• EB CLI Commands – eb platform:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-platform.html
Others:
• Application version lifecycle:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-lifecycle.html
• CloudWatch logs and log streaming:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html
• Tagging your Elastic Beanstalk resources:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.tagging.html
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Thank You !

More Related Content

What's hot

(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto ScalingAmazon Web Services
 
AWS IAM -- Notes of 20130403 Doc Version
AWS IAM -- Notes of 20130403 Doc VersionAWS IAM -- Notes of 20130403 Doc Version
AWS IAM -- Notes of 20130403 Doc VersionErnest Chiang
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerAmazon Web Services
 
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅Amazon Web Services Korea
 
Basics AWS Presentation
Basics AWS PresentationBasics AWS Presentation
Basics AWS PresentationShyam Kumar
 
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationAWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationSanjay Sharma
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAmazon Web Services
 
AWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load BalancingAWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load BalancingAmazon Web Services Japan
 
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...Simplilearn
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAmazon Web Services
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Amazon Web Services
 
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪崇之 清水
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기Amazon Web Services Korea
 

What's hot (20)

(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling
 
AWS EC2
AWS EC2AWS EC2
AWS EC2
 
AWS IAM -- Notes of 20130403 Doc Version
AWS IAM -- Notes of 20130403 Doc VersionAWS IAM -- Notes of 20130403 Doc Version
AWS IAM -- Notes of 20130403 Doc Version
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems Manager
 
Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016
쉽게 알아보는 AWS 클라우드 보안 :: 임기성 & 신용녀 :: AWS Summit Seoul 2016
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
 
Basics AWS Presentation
Basics AWS PresentationBasics AWS Presentation
Basics AWS Presentation
 
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps CertificationAWS Elastic Load Balancing for AWS Architect & SysOps Certification
AWS Elastic Load Balancing for AWS Architect & SysOps Certification
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
 
AWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load BalancingAWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load Balancing
 
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
AWS Lambda Tutorial For Beginners | What is AWS Lambda? | AWS Tutorial For Be...
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Amazon Lightsail
Amazon LightsailAmazon Lightsail
Amazon Lightsail
 
Aws VPC
Aws VPCAws VPC
Aws VPC
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
 
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
AWS Lambda를 기반으로한 실시간 빅테이터 처리하기
 

Similar to Deploy, Scale and Manage your Application with AWS Elastic Beanstalk

Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkAmazon Web Services
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Amazon Web Services
 
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...Amazon Web Services
 
Deploy, scale and manage your application with AWS Elastic Beanstal
Deploy, scale and manage your application with AWS Elastic BeanstalDeploy, scale and manage your application with AWS Elastic Beanstal
Deploy, scale and manage your application with AWS Elastic BeanstalAmazon Web Services
 
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Amazon Web Services
 
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...Amazon Web Services
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
 
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...Amazon Web Services
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAmazon Web Services
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAmazon Web Services
 
Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016roblund
 
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkDistribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkAmazon Web Services LATAM
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻Mason Mei
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014Amazon Web Services
 
Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalkSusanAli16
 
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic BeanstalkAmazon Web Services
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkAmazon Web Services
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...Amazon Web Services
 

Similar to Deploy, Scale and Manage your Application with AWS Elastic Beanstalk (20)

Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
 
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
 
Deploy, scale and manage your application with AWS Elastic Beanstal
Deploy, scale and manage your application with AWS Elastic BeanstalDeploy, scale and manage your application with AWS Elastic Beanstal
Deploy, scale and manage your application with AWS Elastic Beanstal
 
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
 
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
AWS re:Invent 2016: Scaling Your Web Applications with AWS Elastic Beanstalk ...
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...
AWS July Webinar Series-Deploying and Scaling Web Application with AWS Elasti...
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
 
Agile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic BeanstalkAgile Deployment using Git and AWS Elastic Beanstalk
Agile Deployment using Git and AWS Elastic Beanstalk
 
Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016Chris Omland - AWS Code Deploy - BSDC 2016
Chris Omland - AWS Code Deploy - BSDC 2016
 
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkDistribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
AWS elastic beanstalk
AWS elastic beanstalkAWS elastic beanstalk
AWS elastic beanstalk
 
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
 
Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalk
 
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
 
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic BeanstalkDeploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
Deploy, Manage, and Scale Your Apps with OpsWorks and Elastic Beanstalk
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Deploy, Scale and Manage your Application with AWS Elastic Beanstalk

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved Deploy, scale, and manage your web applications with AWS Elastic Beanstalk Danielle Greshcok Manager, Solutions Architecture
  • 2. Agenda • Elastic Beanstalk Introduction • Elastic Beanstalk vs. DIY • Getting started with Elastic Beanstalk • Demo – Sample Application • Custom Platforms • Best Practices • Deployment options • Managed Updated • Auto Scaling • Other tips
  • 3. Developer challenges • Complexity of deploying code, provisioning and managing infrastructure • Expertise and time needed to manage and configure servers, databases, load balancers, firewalls, and networks • How to automate application scaling • Lack of consistency across teams
  • 4. What is Elastic Beanstalk? AWS Elastic Beanstalk is an easy-to-use service for deploying, scaling, and managing web applications and services.
  • 5. AWS Elastic Beanstalk vs. Do It Yourself Your code HTTP Server Application Server Language Interpreter Operating System Host Elastic Beanstalk configures each EC2 instance in your environment with the components necessary to run applications for the selected platform. Focus on building your application Provided by you Provided and managed by AWS Elastic Beanstalk (EB) On-instance configuration
  • 6. AWS Elastic Beanstalk vs. Do It Yourself • Preconfigured Infrastructure • Single Instance (Dev, Low Cost) • Load Balanced, Auto Scaling (Production) • Web & Worker tiers • Elastic Beanstalk provisions necessary infrastructure resources such as the load balancer, Auto Scaling group, security groups, database (optional), etc. • Provides a unique domain name for your application (e.g.: youapp.regionx.elasticbeanstalk.com) Infrastructure stack
  • 7. Elastic Beanstalk benefits Fast & simple to begin Developer productivity/agility Impossible to outgrow Complete resource control No additional charge to use Elastic Beanstalk. You pay only for underlying AWS resources (i.e., EC2 instances, S3, etc.)
  • 9. How do I get started with Elastic Beanstalk?
  • 10. Information required to deploy application 01 02 03 04 Region Stack (container) type Single Instance Load Balanced with Auto ScalingOR Database (RDS) Your code Optional Supported Platforms Custom Platforms Create and use your own custom platform
  • 11. Building blocks Application Application Versions ( V1, V2, …,Vx) Environment 1 Environment 2 Environment .. n
  • 12. How to deploy applications 1. Via AWS Management Console 2. Via AWS Toolkit for Eclipse and Visual Studio IDE 3. Via AWS SDKs and CLI 4. Via EB command line interface $ eb deploy
  • 13. Deploy sample application (EB CLI) Initial application deployment workflow $ git clone https://github.com/awslabs/eb- node-express-sample.git Download sample application02 $ eb init Create your Elastic Beanstalk app03 Follow the prompts to configure the environment 04 05 Create the resources and launch the application $ eb create $ pip install --upgrade awsebcli Install the AWS Elastic Beanstalk command line interface (EB CLI) 01
  • 14. Update sample application (EB CLI) Update application workflow Update your code01 $ git add . $ git commit –m “v2.0” $ eb deploy Add & commit code to repository02 Open application once deployment completes 03 $ eb open
  • 15. Sample application details • Application dependency management • Configuring/customizing an environment using ebextensions • Choosing a remote source repository: AWS CodeCommit • Adding additional AWS resources (e.g.: DynamoDB, SNS, SQS etc.)
  • 16. Demo
  • 17. Custom Platform • Create and manage your own custom Elastic Beanstalk platforms • Get greater control over the AMI, metadata, and configuration • Enforce and manage standardization/best practices across environments (without the need for .ebextensions)
  • 18. Custom Platform Examples: • Create your own platforms on Ubuntu or Red Hat Enterprise • Customize your instances with languages/frameworks currently not supported by Elastic Beanstalk e.g. Rust, Sinatra etc. • Create your own platform that uses encrypted AMIs or custom disk layouts e.g. multiple volumes, EFS mounts etc.
  • 19. Custom Platform Creating a Custom Platform: • Uses Packer: an open-source tool for creating machine images • EB CLI, API, SDK • Platform Definition archive • Packer template (Platform name, base AMI) • Platform definition file: platform.yml (metadata: OS, language/framework) • Builder (runtime scripts, hooks, configuration) • EB CLI • eb platform init • eb platform create
  • 20. Custom Platform Using a Custom Platform in an environment: • AWS Management console, EB CLI, API, SDK • EB CLI: • eb init • select option “Custom Platform” for the question “select a platform” • eb create • Console:
  • 21. Best practices • Deployment options • Managed Platform Updates • Auto Scaling • Other tips
  • 22. Deployment options * Default method ^ ”All at Once” Method used Environment Type Deployment category Method All at Once* Immutable (New) Disabled*^ Immutable (New) All at Once Rolling* Rolling with additional batch Immutable Disabled^ Rolling based on Health* Rolling based on Time Immutable Single Instance Load Balanced/Auto-Scaled Application Platform/Configuration Application Platform/Configuration
  • 23. All at once: step 0 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 24. All at once: step 1 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 25. All at once: step 2 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 26. Rolling: step 0 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 27. Rolling: step 1 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 28. Rolling: step 2 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 29. Rolling: step 3 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 30. Rolling: step 4 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 31. Rolling with additional batch: step 0 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 32. Rolling with additional batch: step 1 Auto Scaling Group Elastic Beanstalk Environment v2 v2 v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 33. Rolling with additional batch: step 2 Auto Scaling Group Elastic Beanstalk Environment v2 v2 v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 34. Rolling with additional batch: step 3 Auto Scaling Group Elastic Beanstalk Environment v2 v2 v2 v2 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 35. Rolling with additional batch: step 4 Auto Scaling Group Elastic Beanstalk Environment v2 v2 v2 v2 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 36. Rolling with additional batch: step 5 Auto Scaling Group Elastic Beanstalk Environment v2 v2 v2 v2 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 37. Rolling with additional batch: step 6 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 38. Immutable: step 0 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 39. Immutable: step 1 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group v2
  • 40. Immutable: step 2 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group v2
  • 41. Immutable: step 3 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group v2 v2 v2v2
  • 42. Immutable: step 4 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group v2 v2 v2v2
  • 43. Immutable: step 5 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group v2 v2 v2v2
  • 44. Immutable: step 6 Elastic Beanstalk Environment myapp.us-east-1.elasticbeanstalk.com Auto Scaling Group v2 v2 v2v2
  • 45. Immutable: step 6 Auto Scaling Group Elastic Beanstalk Environment v2 v2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 46. Blue/Green: step 0 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1
  • 47. Blue/Green: step 1 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp_new.us-east-1.elasticbeanstalk.com v1v1 Cloned environment
  • 48. Blue/Green: step 2 Auto Scaling Group Elastic Beanstalk Environment v2 V2 myapp_new.us-east-1.elasticbeanstalk.com v2v2 Cloned environment
  • 49. Blue/Green: step 3 Auto Scaling Group Elastic Beanstalk Environment v2 V2 myapp_new.us-east-1.elasticbeanstalk.com v2v2 Cloned environment
  • 50. Blue/Green: step 3 Cloned environment Auto Scaling Group Elastic Beanstalk Environment v2 V2 myapp_new.us-east-1.elasticbeanstalk.com v2v2
  • 52. Blue/Green: step 5 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp.us-east-1.elasticbeanstalk.com v1v1 Cloned environment Auto Scaling Group Elastic Beanstalk Environment v2 V2 myapp_new.us-east-1.elasticbeanstalk.com v2v2
  • 53. Blue/Green: step 6 Auto Scaling Group Elastic Beanstalk Environment v1 v1 myapp_new.us-east-1.elasticbeanstalk.com v1v1 Cloned environment Auto Scaling Group Elastic Beanstalk Environment v2 V2 myapp.us-east-1.elasticbeanstalk.com v2v2
  • 54. Application deployment options Method Impact of failed deployment Deploy Time Zero Downtime No DNS Change Rollback process Code Deployed To All at Once Downtime  X  Re-deploy Existing instances Rolling Single batch out of service. Any successful batches prior to failure running new application version ♦   Re-deploy Existing instances Rolling with additional batch Minimum if first batch fails, otherwise similar to Rolling ♦   Re-deploy New & existing instances Immutable Minimal    Re-deploy New instances Blue/Green Minimal   X Swap URL New instances  Options available for both Single Instance and Load Balanced/Auto-Scaled Environments ♦ Varies depending on instance batch size
  • 55. Managed Platform Update Configure your environment to automatically upgrade to the latest version of a platform during a scheduled maintenance window. • Permissions • Maintenance Window • Minor and Patch Updates Key benefits: • Automated Upgrades • No/Minimal downtime • No/Minimal impact on capacity • Flexibility of manual updates • Instance replacement
  • 57. Auto Scaling Min/Max instances Availability Zones Scaling cooldown Triggers based scaling Trigger measurement (CPU utilization, network traffic, disk activity, instance health) Trigger statistic Measurement period Breach duration Thresholds Breach scale increment Time-based scaling Name Min/Max instance Occurrence (One-time, Recurrent) Recurrence (CRON expression- 30 8 * * 3)
  • 58. Logs, Metrics, & Alarms • Enable log rotation to automatically publish logs to S3. • Set up alarms to automatically monitor critical metrics and send notifications when metrics are outside normal operating range. • Enable Amazon Route 53 health checks and alarms • CloudWatch Log streaming to stream logs in real time from Elastic Beanstalk managed EC2 instance to CloudWatch
  • 59. Other tips Tag your environments • Resource discoverability, cost monitoring, access control • Elastic Beanstalk automatically tags environments Application version lifecycle management: • Automate application version cleanup • Does not apply to deployed versions
  • 60. Key links Elastic beanstalk resources: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/RelatedResources.html Sample application: https://github.com/awslabs/eb-node-express-sample Troubleshooting tips: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/troubleshooting.html Tutorials and samples: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/tutorials.html Deployment options: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html Managed Updates: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-platform-update-managed.html http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-servicerole.html#iam-servicerole-update Configuring Auto Scaling: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.as.html Load Testing with Locust: https://aws.amazon.com/blogs/devops/using-locust-on-aws-elastic-beanstalk-for-distributed-load-generation-and-testing/ https://github.com/awslabs/eb-locustio-sample
  • 61. Key links Custom Platforms • GitHub samples: https://github.com/awslabs/eb-custom-platforms-samples/tree/master • Custom Platform overview: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html • EB CLI Commands – eb platform: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-platform.html Others: • Application version lifecycle: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-lifecycle.html • CloudWatch logs and log streaming: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html • Tagging your Elastic Beanstalk resources: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.tagging.html
  • 62. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved Thank You !