Cloud + Docker - La arquitectura MELI usando AWS en la nube.
1. Arquitectura de Cloud
Qué es Cloud computing?
Para qué sirve un Cloud?
Clouds públicos (Amazon, Azure, Google Cloud) vs Clouds privados (openstack,
vmware) Ventajas / Desventajas. Caso Mercado Libre
Aplicaciones Web en Cloud
Estrategias de Deploy
MercadoLibre
2. Qué es Cloud computing? -> evolución
Cliente - Mainframe Cliente/s - Servidor Cliente/s - Servidores
FE
API
Cliente/s - Cloud
3. Qué es Cloud computing? -> estructura
Servidores Físicos
6. Para qué sirve un Cloud?
Ventajas
Reducir costos
Reusar infraestructura
Tolerante a fallos
Seguridad externa
Orientado a servicios
Desventajas
No hay control directo del hardware
Alto costo de inversión
Fallos de hardware en cascada
Seguridad interna
Control de costos
8. Cloud Privado
OpenStack
Open source software for
creating private and public
clouds.
VMware
VMware vCloud Suite is an
integrated offering that brings
together vSphere hypervisor
and VMware vRealize Suite
12. Aplicaciones Web en Cloud
...
Farm o pool de NginX
LB interno
...
Pool de apps
(APIs, FEs)
LB interno
...
Pool de apps
(APIs, FEs)
LB externo
13. Estrategias de Deploy
...
Pool de la app por scope
(prod, test, etc)
Dev
Github
BuildServer
(Integración Continua)
Deploy
Tipos de deploy:
Partial
Full
Blue green
All in
14. Mercadolibre: AWS & Docker
Caso Mercadolibre
Introducción a Docker
Proceso de Desarrollo y Deploys en Producción
Uso de AWS
Arquitectura en la Nube
MercadoLibre
15. Caso Mercadolibre
~18.000.000 de Requests por Minuto
~400 Deploys por dia
~1000 Developers en 5 Centros de desarrollo
~20.000 Servidores Virtuales
~1500 Fisicos
20. Introducción a Docker
Docker permite empaquetar una aplicación y sus dependencias en un
contenedor virtual que se puede ejecutar en cualquier servidor. Esto ayuda a
permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar,
ya sea en las instalaciones físicas, la nube pública, nube privada, etc
21. Introducción a Docker
Desarrollo
Entornos unificados (sin importar el SO)
Mocks simplificados
Una única herramienta
Simplicidad para sumarse a colaborar en un proyecto
Producción
Codigo + Entorno en un único lugar
No hay necesidad de bootstraps on boot
Posibilidad de bajar la imagen de producción para debug
Fast build (vs crear un ami)
23. Uso de AWS
Flexible
Autoscaling
SDN (Software defined Network)
Interoperabilidad con nuestro DC
Servicios de automatización y control
Seguridad
24. Uso de AWS
Permite definir infraestructura
Mantiene el estado de toda la infraestructura y sus recursos
Permite extender el funcionamiento mediante “custom-resources”
Resuelve acciones de rollbacks y fallas
Guarda información de logging de todas las transacciones
27. Uso de AWS
Creación de Repositorio (Custom)
Creacion de subnets
Una por AZ
Creación de configuraciones de jenkins para CI & Build (Custom)
Creación de configuraciones en ES y Kibana para logging (Custom)
Creación de SecurityGroups para la aplicación
Creación de ACL’s de las redes e interconexión de subnets
Configuración de reglas de interoperabilidad para conectarse a la plataforma actual