Docker en tu server 
gestión en la nube
Agenda 
• ¿Qué es Docker? 
• ¿Para qué nos sirve a los devs y a las startups? 
• Ecosistema Docker 
• Dockerize.it: buenas prácticas + simplicidad 
• Arquitectura de dockerize.it
VM vs Containers 
Booteo / Memoria / SSD
para Developers 
• Necesito ElasticSearch y no tengo Java™ instalado 
• En mi máquina funciona 
• Corregir un bug de algo “terminado” hace 9 meses 
• Deploy & Run 
• Mismo Puppet 7 meses después 
para Startups 
• Nuestro CTO es un crack en PPTs y eventos 
• En la máquina del dev funciona 
• Mañana salimos en RTVE Techcrunch Sálvame 
• La inversión aún no llega, echemos al sysadmin 
• AWS es muy caro, usaremos DigitalOcean 
• Tenemos todo automatizado con Chef y Puppet
Ecosistema Docker 
Client 
Linux 
Mac OS X 
Windows 
REST (vía API) 
SDKs 
Server 
Linux Kernel ~3.8 
CaaS 
Cloud Images 
Registry 
Hub (official) 
Privadas 
Cloud Registries 
Imágenes 
Texto Plano 
Manual (cli) 
Github 
Cloud Builders 
Dudas Universales 
Logs 
Seguridad 
Orquestación 
SSH 
Métricas 
Monitorización 
WAN / NAT / DNS 
Data Storage
Buenas Prácticas 
Upgrade de Containers 
Mover containers entre entornos 
Logs centralizados 
Túneles SSH entre servers / para acceso externo 
Orquestación de Deploys 
Monitorización remota 
Simplicidad
Arquitectura 
1 Haproxy 
3 web servers rails 
1 api server (websocket) 
8 ruby μ-services (hoy) 
1 resque scheduler 
x resque workers 
MySQL (cloud) 
Redis 
RabbitMQ 
Agente es un container
Arquitectura 
Web <-> Servicios 
API <-> Cliente 
Cliente/Proveedor via Combi (websockets, amqp, http) 
Web espera muy poco por los servicios 
Servicios se ocupan 
de un problema concreto 
Servicios independientes 
para no caer como dominós 
Base de código monolítica (4 repos: agent, infra, server, api) 
Website estático / App Rails / API Ruby / Agente Ruby 
Agente <-> API API <-> Servicios
Yo también muestro mis 
zapatillas, pero no molan 
como las de Runnics
¡Gracias! 
! 
hello@dockerize.it! 
! 
(aceptamos pedidos de cuentas gratis)

dockerize.it

  • 1.
    Docker en tuserver gestión en la nube
  • 2.
    Agenda • ¿Quées Docker? • ¿Para qué nos sirve a los devs y a las startups? • Ecosistema Docker • Dockerize.it: buenas prácticas + simplicidad • Arquitectura de dockerize.it
  • 3.
    VM vs Containers Booteo / Memoria / SSD
  • 4.
    para Developers •Necesito ElasticSearch y no tengo Java™ instalado • En mi máquina funciona • Corregir un bug de algo “terminado” hace 9 meses • Deploy & Run • Mismo Puppet 7 meses después 
  • 5.
    para Startups •Nuestro CTO es un crack en PPTs y eventos • En la máquina del dev funciona • Mañana salimos en RTVE Techcrunch Sálvame • La inversión aún no llega, echemos al sysadmin • AWS es muy caro, usaremos DigitalOcean • Tenemos todo automatizado con Chef y Puppet
  • 6.
    Ecosistema Docker Client Linux Mac OS X Windows REST (vía API) SDKs Server Linux Kernel ~3.8 CaaS Cloud Images Registry Hub (official) Privadas Cloud Registries Imágenes Texto Plano Manual (cli) Github Cloud Builders Dudas Universales Logs Seguridad Orquestación SSH Métricas Monitorización WAN / NAT / DNS Data Storage
  • 7.
    Buenas Prácticas Upgradede Containers Mover containers entre entornos Logs centralizados Túneles SSH entre servers / para acceso externo Orquestación de Deploys Monitorización remota Simplicidad
  • 12.
    Arquitectura 1 Haproxy 3 web servers rails 1 api server (websocket) 8 ruby μ-services (hoy) 1 resque scheduler x resque workers MySQL (cloud) Redis RabbitMQ Agente es un container
  • 13.
    Arquitectura Web <->Servicios API <-> Cliente Cliente/Proveedor via Combi (websockets, amqp, http) Web espera muy poco por los servicios Servicios se ocupan de un problema concreto Servicios independientes para no caer como dominós Base de código monolítica (4 repos: agent, infra, server, api) Website estático / App Rails / API Ruby / Agente Ruby Agente <-> API API <-> Servicios
  • 14.
    Yo también muestromis zapatillas, pero no molan como las de Runnics
  • 15.
    ¡Gracias! ! hello@dockerize.it! ! (aceptamos pedidos de cuentas gratis)