56
Elastic Beanstalk Usos prácticos y conceptos by Marc Cluet (@lynxman)

Elastic Beanstalk, usos prácticos y conceptos

Embed Size (px)

Citation preview

Page 1: Elastic Beanstalk, usos prácticos y conceptos

Elastic Beanstalk Usos prácticos y conceptos

by Marc Cluet (@lynxman)

Page 2: Elastic Beanstalk, usos prácticos y conceptos

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

¿Quien soy?

Page 3: Elastic Beanstalk, usos prácticos y conceptos

London DevOps Meetup

Page 4: Elastic Beanstalk, usos prácticos y conceptos

¿Que es Elastic Beanstalk?

Page 5: Elastic Beanstalk, usos prácticos y conceptos

Es un PaaS

Fácil de usar

Autoescalable

Automatizable

¿Que es Elastic Beanstalk?

Page 6: Elastic Beanstalk, usos prácticos y conceptos

Servidor Web

Servidor de aplicaciones

Interprete de Lenguaje

Sistema Operativo

Servidor

¿Que es Elastic Beanstalk?Código

Page 7: Elastic Beanstalk, usos prácticos y conceptos

Servidor Web

Servidor de aplicaciones

Interprete de Lenguaje

Sistema Operativo

Servidor

¿Que es Elastic Beanstalk?Código

Page 8: Elastic Beanstalk, usos prácticos y conceptos

¿Que es Elastic Beanstalk?Version: 0.1

Version: 0.2

Version: 0.5

Version: 1.0

Page 9: Elastic Beanstalk, usos prácticos y conceptos

¿Que es Elastic Beanstalk?Version: 0.1

Version: 0.2

Version: 0.5

Version: 1.0

Page 10: Elastic Beanstalk, usos prácticos y conceptos

¿Que es Elastic Beanstalk?Version: 0.1

PRODUCCION Version: 0.2

STAGING Version: 0.5

DEVEL Version: 1.0

Page 11: Elastic Beanstalk, usos prácticos y conceptos

¿Que es Elastic Beanstalk?

Page 12: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de Beanstalkhttps://www.flickr.com/photos/86530412@N02/14796090251

Page 13: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (opcional)

Beanstalk

RDS (opcional)

Page 14: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

Beanstalk

RDS (opcional)

1. Servicio simple 2. Servicio redundado

1. RDS 2. Docker 3. EC2

Page 15: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de Beanstalk

https://www.flickr.com/photos/krystalclear/3189597813

Page 16: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

BeanstalkVersion 0.5

RDS (opcional)

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 17: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

BeanstalkVersion 0.5

RDS (opcional)

BeanstalkVersion 0.5

Beanstalk Version 0.5

Page 18: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

BeanstalkVersion 0.5

RDS (opcional)

BeanstalkVersion 0.5

Beanstalk Version 0.5

BeanstalkVersion 0.5

Page 19: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 20: Elastic Beanstalk, usos prácticos y conceptos

Arquitectura de BeanstalkELB

Route 53 (DNS dinamico)

Page 21: Elastic Beanstalk, usos prácticos y conceptos

Deployment con Beanstalk

https://www.flickr.com/photos/zolakoma/4118276928

Page 22: Elastic Beanstalk, usos prácticos y conceptos

Deployment con Beanstalk

• Consola de AWS

• AWS SDK

• AWS CLI

• EB CLI

Page 23: Elastic Beanstalk, usos prácticos y conceptos

Deployment con Beanstalk

• Consola de AWS

• AWS SDK

• AWS CLI

• EB CLI

Page 24: Elastic Beanstalk, usos prácticos y conceptos

Deployment con Beanstalk

$ pip install awsebcli

$ cd miapp/

$ eb init

$ eb create

Page 25: Elastic Beanstalk, usos prácticos y conceptos

Upgrade con Beanstalk

$ git add .

$ git commit -m "v2.0"

$ eb deploy

Page 26: Elastic Beanstalk, usos prácticos y conceptos

Estrategias de DeploymentTodos de golpe

Rolling

Rolling con crecimiento

Inmutable

A/B

Page 27: Elastic Beanstalk, usos prácticos y conceptos

Todos de golpe (All at once)ELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 28: Elastic Beanstalk, usos prácticos y conceptos

Todos de golpe (All at once)ELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 29: Elastic Beanstalk, usos prácticos y conceptos

Todos de golpe (All at once)ELB

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 30: Elastic Beanstalk, usos prácticos y conceptos

RollingELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 31: Elastic Beanstalk, usos prácticos y conceptos

RollingELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 32: Elastic Beanstalk, usos prácticos y conceptos

RollingELB

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 33: Elastic Beanstalk, usos prácticos y conceptos

RollingELB

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 34: Elastic Beanstalk, usos prácticos y conceptos

RollingELB

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 35: Elastic Beanstalk, usos prácticos y conceptos

Rolling con crecimientoELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 36: Elastic Beanstalk, usos prácticos y conceptos

Rolling con crecimientoELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 37: Elastic Beanstalk, usos prácticos y conceptos

Rolling con crecimientoELB

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

Page 38: Elastic Beanstalk, usos prácticos y conceptos

Rolling con crecimientoELB

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.5

Page 39: Elastic Beanstalk, usos prácticos y conceptos

Rolling con crecimientoELB

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 40: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

Page 41: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 42: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 43: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 44: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 45: Elastic Beanstalk, usos prácticos y conceptos

InmutableELB

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

Page 46: Elastic Beanstalk, usos prácticos y conceptos

A/BELB 1 (Activo)

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

ELB 2

Page 47: Elastic Beanstalk, usos prácticos y conceptos

A/B

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

ELB 1 (Activo) ELB 2

Page 48: Elastic Beanstalk, usos prácticos y conceptos

A/B

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.5

BeanstalkVersion 0.6

BeanstalkVersion 0.6

BeanstalkVersion 0.6

ELB 1 ELB 2 (Activo)

Page 49: Elastic Beanstalk, usos prácticos y conceptos

Deployment con BeanstalkEstrategia 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

Page 50: Elastic Beanstalk, usos prácticos y conceptos

Un paso mas alla

https://www.flickr.com/photos/marcdalio/15977984286

Page 51: Elastic Beanstalk, usos prácticos y conceptos

Configuración de Beanstalk

• Directorio .ebxtensions

Page 52: Elastic Beanstalk, usos prácticos y conceptos

Configuración de Beanstalk

• Directorio .ebxtensions

• Configuración por entorno

• Configuración instancias

• Configuración interprete

Page 53: Elastic Beanstalk, usos prácticos y conceptos

Configuración de Beanstalk

Page 54: Elastic Beanstalk, usos prácticos y conceptos

Ventanas de mantenimiento

https://www.flickr.com/photos/elsie/1500337173

Page 55: Elastic Beanstalk, usos prácticos y conceptos

Ventanas de mantenimiento

Page 56: Elastic Beanstalk, usos prácticos y conceptos

¡Muchas gracias!

https://www.flickr.com/photos/hectorgarcia/75719454

Sígueme en Twitter

@lynxman