ElasticBeanstalk
Usosprácticosyconceptos
byMarcCluet(@lynxman)
Ingeniero basado en Londres
Co-Fundador de Ukon Cherry
20 años de experiencia
Miembro fundador de MAAS
(Canonical)
Involucrado en DevOps durante
los últimos 7 años
Contribuidor Open Source
¿Quiensoy?
LondonDevOpsMeetup
¿QueesElasticBeanstalk?
Es un PaaS
Fácil de usar
Autoescalable
Automatizable
¿QueesElasticBeanstalk?
Servidor Web
Servidor de aplicaciones
Interprete de Lenguaje
Sistema Operativo
Servidor
¿QueesElasticBeanstalk?
Código
Servidor Web
Servidor de aplicaciones
Interprete de Lenguaje
Sistema Operativo
Servidor
¿QueesElasticBeanstalk?
Código
¿QueesElasticBeanstalk?
Version: 0.1
Version: 0.2
Version: 0.5
Version: 1.0
¿QueesElasticBeanstalk?
Version: 0.1
Version: 0.2
Version: 0.5
Version: 1.0
¿QueesElasticBeanstalk?
Version: 0.1
PRODUCCION Version: 0.2
STAGING Version: 0.5
DEVEL Version: 1.0
¿QueesElasticBeanstalk?
ArquitecturadeBeanstalk
https://www.flickr.com/photos/86530412@N02/14796090251
ArquitecturadeBeanstalk
ELB
Route 53 (opcional)
Beanstalk
RDS (opcional)
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
Beanstalk
RDS (opcional)
1. Servicio simple
2. Servicio redundado
1. RDS
2. Docker
3. EC2
ArquitecturadeBeanstalk
https://www.flickr.com/photos/krystalclear/3189597813
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
Beanstalk
Version 0.5
RDS (opcional)
Beanstalk
Version 0.5
Beanstalk
Version 0.5
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
Beanstalk
Version 0.5
RDS (opcional)
Beanstalk
Version 0.5
Beanstalk
Version 0.5
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
Beanstalk
Version 0.5
RDS (opcional)
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
ArquitecturadeBeanstalk
ELB
Route 53
(DNS dinamico)
DeploymentconBeanstalk
https://www.flickr.com/photos/zolakoma/4118276928
DeploymentconBeanstalk
• Consola de AWS
• AWS SDK
• AWS CLI
• EB CLI
DeploymentconBeanstalk
• Consola de AWS
• AWS SDK
• AWS CLI
• EB CLI
DeploymentconBeanstalk
$ pip install awsebcli
$ cd miapp/
$ eb init
$ eb create
UpgradeconBeanstalk
$ git add .
$ git commit -m "v2.0"
$ eb deploy
EstrategiasdeDeployment
Todos de golpe
Rolling
Rolling con crecimiento
Inmutable
A/B
Todosdegolpe(Allatonce)
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Todosdegolpe(Allatonce)
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Todosdegolpe(Allatonce)
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Rolling
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rolling
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rolling
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rolling
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rolling
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Rollingconcrecimiento
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rollingconcrecimiento
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Rollingconcrecimiento
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Rollingconcrecimiento
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Rollingconcrecimiento
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Inmutable
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Inmutable
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Inmutable
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Inmutable
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Inmutable
ELB
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Inmutable
ELB
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
A/B
ELB 1 (Activo)
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
ELB 2
A/B
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
ELB 1 (Activo) ELB 2
A/B
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.5
Beanstalk
Version 0.6
Beanstalk
Version 0.6
Beanstalk
Version 0.6
ELB 1 ELB 2 (Activo)
DeploymentconBeanstalk
Estrategia Impacto Tiempo Instancias
Todos de golpe Si · Existentes
Rolling No ·· Existentes
Rolling con
crecimiento
No ···
Existentes y
nuevas
Inmutable No ···· Nuevas
A/B No ····· Nuevas
Unpasomasalla
https://www.flickr.com/photos/marcdalio/15977984286
ConfiguracióndeBeanstalk
• Directorio .ebxtensions
ConfiguracióndeBeanstalk
• Directorio .ebxtensions
• Configuración por entorno
• Configuración instancias
• Configuración interprete
ConfiguracióndeBeanstalk
Ventanasdemantenimiento
https://www.flickr.com/photos/elsie/1500337173
Ventanasdemantenimiento
¡Muchasgracias!
https://www.flickr.com/photos/hectorgarcia/75719454
Sígueme en Twitter
@lynxman

Elastic Beanstalk, usos prácticos y conceptos