2. Sobre mí
• Fernando Mayo Fernández
@fernandomayo
• Ingeniero de Telecomunicaciones por la Universidad de Sevilla
• CTO y co-fundador de en Octubre 2013
• Adquirida por en Agosto 2015
• Ahora: Senior Engineering Manager
2
4. Evolución de la arquitectura de software
4
Servicios poco
acoplados
Muchos
servidores
pequeños o
dispositivos
~2000 Hoy
Monolíticas
Grandes
servidores
Lentas en
actualizarse
Actualizaciones
continuas
5. Los contenedores como catalizador
5
Máquina virtual
de desarrollo
Servidor
de test
Nube
pública
Recuperación
de desastres
Portátil de
colaborador
Servidores de
producción
Cluster de
producción
Centro de datos
Web
estática
Web
Front End
Workers de
segundo plano
Base de
datos de
usuarios
Base de
datos de
analíticas
Cola de
mensjes
API
Endpoint
6. Docker liderando la tecnología de contenedores
6
Sponsor del proyecto Docker
• Principal contribuidor y mantenedor del proyecto
Docker
• 2.5B+ descargas de imágenes, 2000+ contribuidores,
400,000+ aplicaciones “dockerizadas”, 18000+ issues
en GitHub
Sobre Docker
• 240 empleados, $180M+ de inversión de 3 de los 4
principales inversores de capital riesgo
• 10K clientes de Cloud, 75+ clientes del Fortune 500
Gerber, Anna. “The State of Containers and the Docker
Ecosystem: 2015” O’Reilly, September 2015
Usuarios de Docker usándolo
en producción
40%
10. 10
capa software para programar Internet
Internet (capa hardware)
Servidores Portátiles Teléfonos Coches Casas Drones
Equipo de
redes
Transporte
público
TVs
Equipo
industrial
Instrumentos
científicos
Sistemas
financieros
Desarrolladores
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
11. Primer intento: PaaS (Plataforma como Servicio)
11
• Autoservicio para desarrolladores
• Todo lo necesario en un solo paquete
• La necesidad de personalización eventualmente
sobrepasa al PaaS
PaaS
Lenguajes
OS
Herramientas
13. CaaS: lo mejor de ambas soluciones
13
Contenedores como Servicio
(CaaS)
Una plataforma abierta y personalizable
construida en contenedores estándar
PaaS
14. La plataforma CaaS de Docker
Build Ship Run
En cualquier sitio
Aplicaciones distribuidas
15. La plataforma CaaS de Docker
Desarrolladores Operaciones
BUILD
Desarrolladores
SHIP
Contenido seguro y colaboración
RUN
Desplegar, gestionar, escalar
16. “Baterías incluídas pero intercambiables”
16
Gestión
Seguridad
Orquestación
Runtime de contenedoresServicio de Registro
RedesOS Volúmenes Monitorización LoggingConfiguraciónImágenesCI/CD ..más..
17. Los beneficios de CaaS
Cualquier
Infraestructura
Cualquier
Sistema
operativo
Cualquier
Lenguaje de
programación
Cualquier
Arquitectura
Cualquier
Fase de
desarrollo
18. Docker liderando la tecnología de contenedores
18
+ +Agilidad Portabilidad Control
State of App development Survey: Q1 - 2016
13X
incremento en despliegues de
software
20X
mejor utilización de recursos
44%
reducen su utilización de
máquinas virtuales en un >25%
Elimina
los problemas de
“funciona en mi
ordenador”
41%
mueven aplicaciones entre
nubes públicas y privadas
62%
detectan una reducción de
MTTR
19. La plataforma CaaS de Docker
BUILD
Desarrolladores
SHIP
Servicios de Registro
RUN
Gestión
Docker Toolbox Docker Trusted Registry Docker Universal Control Plane
Docker Cloud
Docker Container Engine
Plugins e Integraciones del ecosistema
22. Docker para Mac/Windows (beta)
• Más rápido y robusto
– Alpine Linux sobre xhyve en Mac
– Alpine Linux sobre Hyper-V en Windows
• Aplicación nativa con actualizaciones
automáticas
• Volúmenes para código y datos incluyendo
notificaciones de cambio en archivos
• Acceso fácil a los contenedores usando red
local nativa del OS
24. Docker 1.11
• Engine 1.11
– Balanceo de carga DNS round robin
– Soporte para VLAN (experimental)
– Firma digital de imágenes usando Yubikeys
• Compose 1.7
• Swarm 1.2
• Relanzamiento de containers cuando un nodo se cae
• Machine 0.7
• Mejoras en integración con Azure
• Registry 2.4
25. Nuevos componentes Open Source
• HyperKit: framework ligero de virtualización para OS X
• DataKit: framework para coordinar procesos usando un sistema de
archivos compatible con git
• VPNKit: librería para gestionar redes virtuales