Cloud + Docker - La arquitectura MELI usando AWS en la nube.

35
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

Transcript of Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Page 1: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura de CloudQué 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

Page 2: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Qué es Cloud computing? -> evolución

Cliente - Mainframe Cliente/s - Servidor Cliente/s - Servidores

FE

API

Cliente/s - Cloud

Page 3: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Qué es Cloud computing? -> estructura

Servidores Físicos

Page 4: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Qué es Cloud computing? -> estructura

Servidor Físico

Servidores Virtuales

Apps (APIs, FEs, Jobs, etc)

Page 5: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Qué es Cloud computing? -> estructura

App (APIs, FEs, Jobs, etc)

Servidores Virtuales Servidores Físicos

Page 6: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

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

Page 7: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Clouds Públicos

Amazon Azure

Google Cloud

Page 8: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Cloud Privado

OpenStackOpen source software for creating private and public clouds.

VMwareVMware vCloud Suite is an integrated offering that brings together vSphere hypervisor and VMware vRealize Suite

Page 9: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Mercadolibre, Arquitectura Histórica

Inicialmente

...

LB (A10, F5)

Luego, con el crecimiento

Page 10: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Mercadolibre, Arquitectura Histórica

MeliCloud

...

...APIs

FEs

OW

MeliCloud Logica

Page 11: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Mercadolibre, Arquitectura Actual

MeliCloud

...

Fury

OtherAWS

Services

Services

Services

Page 12: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

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

Page 13: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Estrategias de Deploy

...

Pool de la app por scope (prod, test, etc)

DevGithub

BuildServer(Integración Continua)

Deploy

Tipos de deploy:PartialFull

Blue greenAll in

Page 14: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Mercadolibre: AWS & DockerCaso Mercadolibre

Introducción a Docker

Proceso de Desarrollo y Deploys en Producción

Uso de AWS

Arquitectura en la Nube

MercadoLibre

Page 15: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

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

Page 16: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Caso Mercadolibre

Cómo nos organizamos con este CAOS?

Page 17: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Caso Mercadolibre

Fury

Page 18: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Caso Mercadolibre

Page 19: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Caso MercadolibreFURY LAYOUT

Page 20: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

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

Page 21: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Introducción a Docker

DesarrolloEntornos unificados (sin importar el SO)Mocks simplificadosUna única herramientaSimplicidad para sumarse a colaborar en un proyecto

ProducciónCodigo + Entorno en un único lugarNo hay necesidad de bootstraps on bootPosibilidad de bajar la imagen de producción para debugFast build (vs crear un ami)

Page 22: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Introducción a Docker

Development Image Production Image Build

ROOT.war

Node folder

Page 23: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Uso de AWS

Flexible

Autoscaling

SDN (Software defined Network)

Interoperabilidad con nuestro DC

Servicios de automatización y control

Seguridad

Page 24: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

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

Page 25: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Uso de AWS

Page 26: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Uso de AWS

Page 27: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Uso de AWS

Creación de Repositorio (Custom)

Creacion de subnetsUna 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

Page 28: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Uso de AWS

Page 29: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura en la Nube

Page 30: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura en la Nube

Page 31: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura en la Nube

Page 32: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura en la Nube

Page 33: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Arquitectura en la Nube

Page 34: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Preguntas

Franco YadonFabian Bertetto

Team Arquitectura para el centro de desarrollo de Córdoba

[email protected]

[email protected]

Page 35: Cloud + Docker - La arquitectura MELI usando AWS en la nube.

Gracias!