contenedores como servicio con docker
TRANSCRIPT
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
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
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
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.“TheStateofContainersandtheDockerEcosystem:2015”O’Reilly,September2015
UsuariosdeDockerusándoloenproducción
40%
9
Internet (capa hardware)
Servidores Portátiles Teléfonos Coches Casas Drones Equipo de redes
Transportepúblico
TVs Equipo industrial
Instrumentos científicos
Sistemas financieros
Desarrolladores
Internet (capa software)
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
10
capa software para programar Internet
Internet (capa hardware)
Servidores Portátiles Teléfonos Coches Casas Drones Equipo de redes
Transportepú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
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
CaaS: lo mejor de ambas soluciones
13
ContenedorescomoServicio(CaaS)
Una plataforma abierta y personalizable construida en contenedores estándar
PaaS
La plataforma CaaS de Docker
Desarrolladores Operaciones
BUILD Desarrolladores
SHIP Contenido seguro y colaboración
RUN Desplegar, gestionar, escalar
“Baterías incluídas pero intercambiables”
16
Gestión
Seguridad
Orquestación
RuntimedecontenedoresServiciodeRegistro
RedesOS Volúmenes Monitorización LoggingConfiguraciónImágenesCI/CD ..más..
Los beneficios de CaaS
Cualquier
Infraestructura
Cualquier
Sistema operativo
Cualquier
Lenguaje de programación
Cualquier
Arquitectura
Cualquier
Fase de desarrollo
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
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
Docker Datacenter
Configuraciones e
integraciones validadas
Soporte Empresarial con SLA y hotfixes
Docker Universal Control Plane (Swarm embebido)
Docker Trusted Registry (Integrando Docker Content Trust)
Docker Engine soportado comercialmente (CS)
Soporte para integraciones y API
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
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
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