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

Post on 16-Apr-2017

231 views 5 download

Transcript of 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

Qué es Cloud computing? -> evolución

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

FE

API

Cliente/s - Cloud

Qué es Cloud computing? -> estructura

Servidores Físicos

Qué es Cloud computing? -> estructura

Servidor Físico

Servidores Virtuales

Apps (APIs, FEs, Jobs, etc)

Qué es Cloud computing? -> estructura

App (APIs, FEs, Jobs, etc)

Servidores Virtuales Servidores Físicos

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

Clouds Públicos

Amazon Azure

Google Cloud

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

Mercadolibre, Arquitectura Histórica

Inicialmente

...

LB (A10, F5)

Luego, con el crecimiento

Mercadolibre, Arquitectura Histórica

MeliCloud

...

...APIs

FEs

OW

MeliCloud Logica

Mercadolibre, Arquitectura Actual

MeliCloud

...

Fury

OtherAWS

Services

Services

Services

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

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

Mercadolibre: AWS & DockerCaso Mercadolibre

Introducción a Docker

Proceso de Desarrollo y Deploys en Producción

Uso de AWS

Arquitectura en la Nube

MercadoLibre

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

Caso Mercadolibre

Cómo nos organizamos con este CAOS?

Caso Mercadolibre

Fury

Caso Mercadolibre

Caso MercadolibreFURY LAYOUT

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

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)

Introducción a Docker

Development Image Production Image Build

ROOT.war

Node folder

Uso de AWS

Flexible

Autoscaling

SDN (Software defined Network)

Interoperabilidad con nuestro DC

Servicios de automatización y control

Seguridad

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

Uso de AWS

Uso de AWS

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

Uso de AWS

Arquitectura en la Nube

Arquitectura en la Nube

Arquitectura en la Nube

Arquitectura en la Nube

Arquitectura en la Nube

Preguntas

Franco YadonFabian Bertetto

Team Arquitectura para el centro de desarrollo de Córdoba

franco.yadon@mercadolibre.com

fabian.bertetto@mercadolibre.com

Gracias!