Caso Mercadolibre
● ~18.000.000 de Requests por Minuto
● ~600 Deploys por dia
● ~1000 Developers en 8 Centros de desarrollo
● ~20.000 Servidores Virtuales
● ~1500 Fisicos
Slide 4
Slide 4 text
Cómo nos organizamos con este CAOS?
Slide 5
Slide 5 text
Caso Mercadolibre
Slide 6
Slide 6 text
Tipos de deploy en
Mercadolibre
Slide 7
Slide 7 text
Tipos de Deploy
● Blue green
● All In
● Canary
● Rolling Update
● Otras estrategias que probamos...
Slide 8
Slide 8 text
Blue Green
Slide 9
Slide 9 text
Blue Green
● Se crea un ASG para los equipos nuevos
● Se crean tantos equipos como había antes
● Se inicializan servicios de logs, metrics, etc
● Se descarga la versión en el equipo
● Se cambia el tráfico de forma progresiva
Slide 10
Slide 10 text
Blue Green
Slide 11
Slide 11 text
Blue Green
Slide 12
Slide 12 text
Blue Green
Slide 13
Slide 13 text
Blue Green
Slide 14
Slide 14 text
Blue Green
Slide 15
Slide 15 text
Blue Green
Slide 16
Slide 16 text
Blue Green
Slide 17
Slide 17 text
Blue Green
Slide 18
Slide 18 text
Blue Green
Ventajas
● No tiene downtime
● Rollback rápido y sin fallas
● Stateless
Desventajas
● Más lento que otras estrategias de deploy
Slide 19
Slide 19 text
Blue Green
Slide 20
Slide 20 text
All In
Slide 21
Slide 21 text
All In
● Se utiliza el mismo ASG
● Se utilizan los mismo equipos
● Se realiza en todos los servers a la vez
● Se utiliza generalmente para test
Slide 22
Slide 22 text
All In
Slide 23
Slide 23 text
All In
Slide 24
Slide 24 text
All In
Slide 25
Slide 25 text
All In
Ventajas
● Más rápido que Blue green
Desventajas
● Tiene downtime
● Un rollback implica un nuevo deploy
● Las máquinas son stateful
Slide 26
Slide 26 text
Canary
Slide 27
Slide 27 text
Canary
● Crea un nuevo ASG
● Crea un equipo nuevo
● Se inicializan servicios de logs, metrics, etc
● Se descarga la versión en el equipo
● Enviar trafico a este equipo
Slide 28
Slide 28 text
Canary
Slide 29
Slide 29 text
Canary
Slide 30
Slide 30 text
Canary
Slide 31
Slide 31 text
Canary
Slide 32
Slide 32 text
Canary
Slide 33
Slide 33 text
Canary
Slide 34
Slide 34 text
Rolling Update
Slide 35
Slide 35 text
Rolling Update
● Utiliza el mismo ASG
● Se deploya de a bloques
● Cada un intervalo de tiempo se deploya el siguiente
bloque
● Qué hacer si falla?
Slide 36
Slide 36 text
Rolling Update
0 %
Slide 37
Slide 37 text
Rolling Update
25 %
Slide 38
Slide 38 text
Rolling Update
50 %
Slide 39
Slide 39 text
Rolling Update
75 %
Slide 40
Slide 40 text
Rolling Update
100 %
Slide 41
Slide 41 text
Rolling Update
Slide 42
Slide 42 text
Rolling Update
Ventajas
● Más rápido que Blue green
● No duplica la infraestructura
● Se puede hacer deploy parcial
Desventajas
● No mantiene un último estado “correcto”
● Un rollback puede tardar bastante