SlideShare a Scribd company logo
1 of 40
Download to read offline
Distribua, Gerencie e Escale suas
Applicações com o AWS Elastic
Beanstalk
Ari Dias Neto, AWS Solutions Architect
Creating a HA Architecture
Decompose into small,
loosely coupled, stateless
building blocks
Prerequisite
What does this mean in practice?
• Only store transient data on local disk
• Needs to persist beyond a single http request?
– Then store it elsewhere
User uploads
User Sessions
Amazon S3
DynamoDB
Application Data
Amazon RDSElastiCache
Having decomposed into
small, loosely coupled,
stateless building blocks
You can now Scale out with ease
Having done that…
Having decomposed into
small, loosely coupled,
stateless building blocks
We can also Scale back with ease
Having done that…
High Availability
Availability Zone a
Web
server
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
High Availability
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Availability Zone a Availability Zone b
Web
server
Web
server
High Availability
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Availability Zone a Availability Zone b
Elastic Load
Balancing
Web
server
Web
server
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Web
server
Web
server
S3 bucket for
static assets
Elastic Load
Balancing
High Availability
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Web
server
Web
server
S3 bucket for
static assets
Elastic Load
Balancing
RDS DB
standby
High Availability
Availability Zone a Availability Zone b
www.example.com
Amazon Route 53
DNS service
Web
server
Web
server
S3 bucket for
static assets
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
High Availability
Availability Zone a Availability Zone b
www.example.com
Amazon Route 53
DNS service
Web
server
Web
server
S3 bucket for
static assets
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
High Availability
www.example.com
Amazon Route 53
DNS service
S3 bucket for
static assets
Availability Zone a Availability Zone b
Servers
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
Servers
High Availability
www.example.com
Amazon Route 53
DNS service
S3 bucket for
static assets
Availability Zone a Availability Zone b
Servers
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
Servers
Production
Environment
High Availability
www.example.com
Amazon Route 53
DNS service
S3 bucket for
static assets
Availability Zone a Availability Zone b
Servers
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
Servers
Availability Zone a Availability Zone b
Servers
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
Servers
Clone or Dev
Environment
Production
Environment
Take the shortcut
• While this architecture is simple you still need
to deal with:
– Configuration details
– Deploying code to multiple instances
– Maintaining multiple environments (Dev, Test, Prod)
– Maintain different versions of the application
• Solution: Use AWS Elastic Beanstalk
AWS Elastic Beanstalk (EB)
• Easily deploy, monitor, and scale three-tier web
applications and services.
• Infrastructure provisioned and managed by EB – but
you maintain complete control.
• Preconfigured application containers that are easily
customizable.
• Support for these platforms:
Basic concepts
Elastic Beanstalk object model
Application
Environments
• Infrastructure resources
(such as EC2 instances,
ELB load balancers, and
Auto Scaling groups)
• Runs a single application
version at a time for better
scalability
• An application can have
many environments (such
as staging and production)
Application versions
• Application code
• Stored in Amazon S3
• An application can have
many application versions
(easy to rollback to previous
versions)
Saved configurations
• Configuration that defines
how an environment and its
resources behave
• Can be used to launch new
environments quickly or roll-
back configuration
• An application can have
many saved configurations
Elastic Beanstalk environment
• Two types:
• Single instance
• Load balancing, auto scaling
• Two tiers (web server and worker)
• Elastic Beanstalk provisions necessary
infrastructure resources such as load
balancers, auto-scaling groups, security
groups, and databases (optional)
• Configures Amazon Route 53 and gives
you a unique domain name
(For example: yourapp.elasticbeanstalk.com)
On-instance configuration
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
• No more worrying about
logging into instances to
install and configure your
application stack
Focus on building your
application
Deploy your background processing app
Alert
Log
Mon
App
AZ
SQS queueProducers
Application versions and saved configurations
Saved configurations
Save these for easy duplication
for A/B testing or non-disruptive
deployments
Application versions
All versions are stored durably
in Amazon S3. Code can also
be pushed from a Git repository!
Deployment options
• Via the AWS Management Console
• Via Git / EB CLI
• Via the AWS Toolkit for Eclipse and the
Visual Studio IDE
$ git aws.push
Deployment configuration
Region01
Stack (container) type02
Single instance
Load balanced with
Auto Scaling
03 OR
Database (RDS)04 Optional
Your code
Example: CLI workflow
Initial app deployment:
$ git init . $ git add .
Initialize your Git repository01 Add your code04
$ eb init $ git commit –m “v1.0”
Create your Elastic Beanstalk app02 Commit05
Follow the prompts to configure the
environment
03
Create the resources and launch the
application
06
$ eb create
Example: CLI workflow
Prerequisites:
• AWS account – your access and secret keys
• EB CLI
• Linux / Unix / Mac: Python 2.7 or 3.0
• Windows PowerShell 2.0
• A credential file containing info from 1
• Git 1.66 or later (optional)
Example: CLI workflow
Update your app:
Update your code01
$ git add .
$ git commit –m “v2.0”
$ eb deploy
Push the new code02
Monitor the deployment progress03
$ eb status
Example: Deploy Docker container to EB
• Three ways:
– Dockerfile (image built on instance).
– Dockerrun.aws.json (manifest file that
describes how to run the Docker image).
– Application archive (should include
Dockerfile or Dockerrun.aws.json file).
• Benefits:
– Enables high-fidelity deployments.
– You own the runtime. You can use any
language or framework, even those not
currently supported by Elastic Beanstalk
(such as Go, Scala, and Clojure).
Dockerfile
Dockerrun.aws.json
Example: Deploy Docker container to EB
Using the EB command line tool:
$ git init .
Initialize your Git repository
01
$ git add Dockerfile
Add your code
04
$ eb init
Create your Elastic Beanstalk app
02
$ git commit –am “v1.0”
Commit
05
Follow the prompts to configure the
environment and copy Dockerfile
03 06
Create the resources and launch the
application
$ eb create
Advanced topics
Customize application containers
Add custom software to your environment using ebextensions:
packages:
yum:
newrelic-sysmond: []
rpm:
newrelic: http://yum.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
commands:
0_newrelic_command:
command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_0"
1_configure_new_relic_key:
command: nrsysmond-config --set license_key=<Your key here>
1a_newrelic_command:
command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_1a"
2_start_new_relic:
command: "/etc/init.d/newrelic-sysmond start"
2a_newrelic_command:
command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_2a"
Zero-downtime deployments
Swap URLs
1. Create a new environment for an existing application
2. Deploy your updated application code to the new environment
3. Use the “Swap URLs” feature to transition users to the new
production environment
Updating AWS Elastic Beanstalk Environments with Rolling Updates
Or …
Or …
Deploying Application Versions in Batches
Benefits of Elastic Beanstalk
Focus on your application
Focus on what makes your business unique
Focus on innovation, not undifferentiated heavy lifting
Spend developer time in the right place
Automate as much as you can
There’s no additional charge for
Elastic Beanstalk
Demonstration
www.example.com
Amazon Route 53
DNS service
Availability Zone a Availability Zone b
Servers
Elastic Load
Balancing
RDS DB
instance
ElastiCache
node 1
RDS DB
standby
ElastiCache
node 2
Servers
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk

More Related Content

What's hot

What's hot (20)

Advanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDSAdvanced data migration techniques for Amazon RDS
Advanced data migration techniques for Amazon RDS
 
SRV401 Deep Dive on Amazon Elastic File System (Amazon EFS)
SRV401 Deep Dive on Amazon Elastic File System (Amazon EFS)SRV401 Deep Dive on Amazon Elastic File System (Amazon EFS)
SRV401 Deep Dive on Amazon Elastic File System (Amazon EFS)
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
AWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS OracleAWS Webcast - Migrating to RDS Oracle
AWS Webcast - Migrating to RDS Oracle
 
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkDeploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
Best Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinarBest Practices for running the Oracle Database on EC2 webinar
Best Practices for running the Oracle Database on EC2 webinar
 
Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
 
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWSAWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
 
(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora(DAT309) Scaling Massive Content Stores with Amazon Aurora
(DAT309) Scaling Massive Content Stores with Amazon Aurora
 
Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014
 
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
 
Enterprise Grade SQL Server Deployments in AWS
Enterprise Grade SQL Server Deployments in AWSEnterprise Grade SQL Server Deployments in AWS
Enterprise Grade SQL Server Deployments in AWS
 
Deep Dive with Amazon EC2 Container Service Hands-on Workshop
Deep Dive with Amazon EC2 Container Service Hands-on WorkshopDeep Dive with Amazon EC2 Container Service Hands-on Workshop
Deep Dive with Amazon EC2 Container Service Hands-on Workshop
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
 
Getting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container ServiceGetting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container Service
 

Similar to Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk

基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
Mason Mei
 

Similar to Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk (20)

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
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
 
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...
 
AWS Elastic Beanstalk運作微服務與Docker
AWS Elastic Beanstalk運作微服務與Docker AWS Elastic Beanstalk運作微服務與Docker
AWS Elastic Beanstalk運作微服務與Docker
 
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
 
Elastic beanstalk
Elastic beanstalkElastic beanstalk
Elastic beanstalk
 
Enterprise Workloads on AWS
Enterprise Workloads on AWSEnterprise Workloads on AWS
Enterprise Workloads on AWS
 
Dean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your StartupDean Bryen: Scaling The Platform For Your Startup
Dean Bryen: Scaling The Platform For Your Startup
 
Running Business-Critical Applications on the AWS Cloud
Running Business-Critical Applications on the AWS CloudRunning Business-Critical Applications on the AWS Cloud
Running Business-Critical Applications on the AWS Cloud
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Running Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic BeanstalkRunning Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic Beanstalk
 
Deploy, manage, and scale your apps
Deploy, manage, and scale your appsDeploy, manage, and scale your apps
Deploy, manage, and scale your apps
 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWS
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
 
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
(DVO201) Scaling Your Web Applications with AWS Elastic Beanstalk
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016
 
AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloud
 

More from Amazon Web Services LATAM

More from Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Recently uploaded

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk

  • 1. Distribua, Gerencie e Escale suas Applicações com o AWS Elastic Beanstalk Ari Dias Neto, AWS Solutions Architect
  • 2. Creating a HA Architecture
  • 3. Decompose into small, loosely coupled, stateless building blocks Prerequisite
  • 4. What does this mean in practice? • Only store transient data on local disk • Needs to persist beyond a single http request? – Then store it elsewhere User uploads User Sessions Amazon S3 DynamoDB Application Data Amazon RDSElastiCache
  • 5. Having decomposed into small, loosely coupled, stateless building blocks You can now Scale out with ease Having done that…
  • 6. Having decomposed into small, loosely coupled, stateless building blocks We can also Scale back with ease Having done that…
  • 7. High Availability Availability Zone a Web server S3 bucket for static assets www.example.com Amazon Route 53 DNS service
  • 8. High Availability S3 bucket for static assets www.example.com Amazon Route 53 DNS service Availability Zone a Availability Zone b Web server Web server
  • 9. High Availability S3 bucket for static assets www.example.com Amazon Route 53 DNS service Availability Zone a Availability Zone b Elastic Load Balancing Web server Web server
  • 10. High Availability Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Web server Web server S3 bucket for static assets Elastic Load Balancing
  • 11. High Availability Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Web server Web server S3 bucket for static assets Elastic Load Balancing RDS DB standby
  • 12. High Availability Availability Zone a Availability Zone b www.example.com Amazon Route 53 DNS service Web server Web server S3 bucket for static assets Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby
  • 13. High Availability Availability Zone a Availability Zone b www.example.com Amazon Route 53 DNS service Web server Web server S3 bucket for static assets Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2
  • 14. High Availability www.example.com Amazon Route 53 DNS service S3 bucket for static assets Availability Zone a Availability Zone b Servers Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2 Servers
  • 15. High Availability www.example.com Amazon Route 53 DNS service S3 bucket for static assets Availability Zone a Availability Zone b Servers Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2 Servers Production Environment
  • 16. High Availability www.example.com Amazon Route 53 DNS service S3 bucket for static assets Availability Zone a Availability Zone b Servers Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2 Servers Availability Zone a Availability Zone b Servers Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2 Servers Clone or Dev Environment Production Environment
  • 17. Take the shortcut • While this architecture is simple you still need to deal with: – Configuration details – Deploying code to multiple instances – Maintaining multiple environments (Dev, Test, Prod) – Maintain different versions of the application • Solution: Use AWS Elastic Beanstalk
  • 18. AWS Elastic Beanstalk (EB) • Easily deploy, monitor, and scale three-tier web applications and services. • Infrastructure provisioned and managed by EB – but you maintain complete control. • Preconfigured application containers that are easily customizable. • Support for these platforms:
  • 20. Elastic Beanstalk object model Application Environments • Infrastructure resources (such as EC2 instances, ELB load balancers, and Auto Scaling groups) • Runs a single application version at a time for better scalability • An application can have many environments (such as staging and production) Application versions • Application code • Stored in Amazon S3 • An application can have many application versions (easy to rollback to previous versions) Saved configurations • Configuration that defines how an environment and its resources behave • Can be used to launch new environments quickly or roll- back configuration • An application can have many saved configurations
  • 21. Elastic Beanstalk environment • Two types: • Single instance • Load balancing, auto scaling • Two tiers (web server and worker) • Elastic Beanstalk provisions necessary infrastructure resources such as load balancers, auto-scaling groups, security groups, and databases (optional) • Configures Amazon Route 53 and gives you a unique domain name (For example: yourapp.elasticbeanstalk.com)
  • 22. On-instance configuration 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 • No more worrying about logging into instances to install and configure your application stack Focus on building your application
  • 23. Deploy your background processing app Alert Log Mon App AZ SQS queueProducers
  • 24. Application versions and saved configurations Saved configurations Save these for easy duplication for A/B testing or non-disruptive deployments Application versions All versions are stored durably in Amazon S3. Code can also be pushed from a Git repository!
  • 25. Deployment options • Via the AWS Management Console • Via Git / EB CLI • Via the AWS Toolkit for Eclipse and the Visual Studio IDE $ git aws.push
  • 26. Deployment configuration Region01 Stack (container) type02 Single instance Load balanced with Auto Scaling 03 OR Database (RDS)04 Optional Your code
  • 27. Example: CLI workflow Initial app deployment: $ git init . $ git add . Initialize your Git repository01 Add your code04 $ eb init $ git commit –m “v1.0” Create your Elastic Beanstalk app02 Commit05 Follow the prompts to configure the environment 03 Create the resources and launch the application 06 $ eb create
  • 28. Example: CLI workflow Prerequisites: • AWS account – your access and secret keys • EB CLI • Linux / Unix / Mac: Python 2.7 or 3.0 • Windows PowerShell 2.0 • A credential file containing info from 1 • Git 1.66 or later (optional)
  • 29. Example: CLI workflow Update your app: Update your code01 $ git add . $ git commit –m “v2.0” $ eb deploy Push the new code02 Monitor the deployment progress03 $ eb status
  • 30. Example: Deploy Docker container to EB • Three ways: – Dockerfile (image built on instance). – Dockerrun.aws.json (manifest file that describes how to run the Docker image). – Application archive (should include Dockerfile or Dockerrun.aws.json file). • Benefits: – Enables high-fidelity deployments. – You own the runtime. You can use any language or framework, even those not currently supported by Elastic Beanstalk (such as Go, Scala, and Clojure). Dockerfile Dockerrun.aws.json
  • 31. Example: Deploy Docker container to EB Using the EB command line tool: $ git init . Initialize your Git repository 01 $ git add Dockerfile Add your code 04 $ eb init Create your Elastic Beanstalk app 02 $ git commit –am “v1.0” Commit 05 Follow the prompts to configure the environment and copy Dockerfile 03 06 Create the resources and launch the application $ eb create
  • 33. Customize application containers Add custom software to your environment using ebextensions: packages: yum: newrelic-sysmond: [] rpm: newrelic: http://yum.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm commands: 0_newrelic_command: command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_0" 1_configure_new_relic_key: command: nrsysmond-config --set license_key=<Your key here> 1a_newrelic_command: command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_1a" 2_start_new_relic: command: "/etc/init.d/newrelic-sysmond start" 2a_newrelic_command: command: "touch /tmp/$(date '+%F.%T.%N').newrelic_command_2a"
  • 34. Zero-downtime deployments Swap URLs 1. Create a new environment for an existing application 2. Deploy your updated application code to the new environment 3. Use the “Swap URLs” feature to transition users to the new production environment
  • 35. Updating AWS Elastic Beanstalk Environments with Rolling Updates Or …
  • 36. Or … Deploying Application Versions in Batches
  • 37. Benefits of Elastic Beanstalk Focus on your application Focus on what makes your business unique Focus on innovation, not undifferentiated heavy lifting Spend developer time in the right place Automate as much as you can
  • 38. There’s no additional charge for Elastic Beanstalk
  • 39. Demonstration www.example.com Amazon Route 53 DNS service Availability Zone a Availability Zone b Servers Elastic Load Balancing RDS DB instance ElastiCache node 1 RDS DB standby ElastiCache node 2 Servers