Agosto 2016
First 90AWS +
Docker +
Meli
This is our vision
Building the foundation to Build a 3B Company by FY20
This is our vision
Building the foundation to Build a 3B Company by FY20
¿Qué es
Mercado Libre ?
(en tecnología)
En Números
En Números
+400 Deploys x Dia
En +650 APPS
+1000 Developers
En 8 Centros de desarrollo
+10 Lenguajes
de programación
En Números
+25.000.000
Request x Minuto
+22.000 VM’s
En 7 Data Centers
+700 DB’s
En 4 motores distintos
El ecosistema de Aplicaciones
Arquitectura de Micro-Servicios
Arquitectura de Micro-Servicios
¿Cómo se construyen estas APPS ?
La plataforma Evoluciona
Fury
¿Qué es Cloud Computing ?
Infraestructura
Servicios
Infraestructura
Instancias
(Servidores)
Load
Balancers
Bases de
Datos
Otros
Servicios
Infraestructura
Api’s
Instancias
(Servidores)
Load
Balancers
Bases de
Datos
Otros
Servicios
Infraestructura
Api’s
Integraciones
Instancias
(Servidores)
Load
Balancers
Bases de
Datos
Otros
Servicios
Infraestructura
Api’s
Integraciones
Instancias
(Servidores)
Load
Balancers
Bases de
Datos
Otros
Load Balancer
Load Balancer
Load Balancer
Load Balancer
¿Cómo funciona esto en Mercado Libre?
Load Balancer@Mercadolibre
Load Balancer@Mercadolibre
Rules App Servers
● Servicios, Servicios y Mas Servicios
● Posibilidad de poner foco en “Nuestros”
Problemas
● Disponibilidad de las soluciones
● Api’s para manejarlo todo
● Facil Integracion
Wrapping UP Coloud Computing
Docker / Containers
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
Code !!!
Code !!!
Test local
Code !!!
Test local
Deploy en producción
Code !!!
Test local
Deploy en producción
Código
Librerías
Configuraciones
Software Aplicativo
APP
Código
Librerías
Configuraciones
Software Aplicativo
Código
Librerías
Configuraciones
Software Aplicativo
Desarrollo
Producción
● Entornos unificados (sin importar el SO)
● Mocks simplificados
● Una única herramienta
● Simplicidad para sumarse a colaborar en un proyecto
● Codigo + Entorno en un único lugar
● No hay necesidad de bootstraps on boot
● Fast build (vs crear un ami)
● Posibilidad de bajar la imagen de producción para debug
● Creación de Repositorio
● Creación de redes
○ Creación de Securty Groups
○ Creación de reglas de interconexión
● Creación de configuraciones de jenkins para CI &
Build
● Creación de configuraciones en ES y Kibana para
logging
Code !!!
Code !!!
Test local
Code !!!
Test local
Deploy en producción
Create Version
Commit: xxxx
fury api
Jenkins
● Crear ELB (Elastic Load Balancer)
● Scope Domains
● Iniciar deploy
¿Cómo queda en Producción ?
FuryCore
VPC-1
Subnet A
app 1
Subnet B
app 1
SubnetC
app 1
SubnetD
app 1
Subnet A
app 2
Subnet B
app 2
SubnetC
app 2
SubnetD
app 2
VPC-N
Subnet A
app X
Subnet B
app X
SubnetC
app X
SubnetD
app X
Az A
Az B
Az C
Az D
ServicesLogs DC-IN DC-OUT Others
External Traffic Balancing
CloudFormation
EC2
Api
ELBOthers
VPC-1
Subnet A app 1
VPC-1
Subnet A app 1
Server i-0XXXXX
mercadolibre/dev-conf:0.0.1
datadogrsyslog JMX
local-api
Servicios, Servicios y Mas Servicios
¿Cómo puedo
usar todo
esto ?
Algunas buenas Ideas
● Cloud & Services
● Load Balancers
● Docker
Demo
http://bit.do/melidevconf11
● docke
docker run -ti -p 8080:8080 mercadolibre/devconf-colombia-2016
git clone https://github.com/mercadolibre/devconf-examples
cd Colombia-2016/aws+docker+meli/ && ./run_development.sh
● docke
?
Muchas
gracias

DOCKER+AWS+MELI

Notas del editor

  • #8 1.150 Millones en decir la frace
  • #12 Para cortar con microserviciso, decir la siguiente pregunta que surge en mercadolibre es como se contruyen estas apps, como trabajamos todos los dias
  • #13 Bueno la plataforma de mercadolibre esta en constante evolucion y cada vez mas rapida, la ultima version de esta platafroma es ...
  • #38 Una aplicacion es mas que solo el codigo !!!
  • #42 Usando esto
  • #43 Usando esto
  • #44 Usando esto
  • #51 Usando esto
  • #52 Usando esto
  • #53 Usando esto
  • #54 Usando esto
  • #55 Usando esto
  • #56 Usando esto
  • #57 Usando esto
  • #58 Usando esto
  • #59 Usando esto
  • #60 Usando esto
  • #61 Usando esto
  • #62 Usando esto
  • #63 Usando esto
  • #64 Usando esto
  • #65 Usando esto
  • #66 Usando esto
  • #67 Usando esto
  • #68 Usando esto
  • #72  i-4d7f6643 ssh -i ~/.ssh/ci-2.pem ubuntu@ec2-54-85-158-178.compute-1.amazonaws.com