2. David Muñoz - @dperilla
● Socio Fundador de QuaiP.com
● VoipEngineer con Asterisk / Kamailio.
● SysOp Linux.
● Formador online de Asterisk, Virtualizació n y Linux.
3. ● Desarrollo e infraestructuras avanzadas de VoIP.
● Servidores de streaming de radio y TV.
● Web Hosting Avanzado, VPS y Servidores Dedicados.
10. Preocupación sobre
cómo interactúan los
bienes (Ej.: Granos
de café y Especias
juntos)
Un contenedor estándar que
carga cualquier tipo de bien y
que permanece cerrado hasta
llegar a su destino.
De esta forma podemos cargar,
descargar, apilar y transportar el
container largas distancias
facilitando el transbordo de un
medio de transporte a otro.
El transporte es
rápido y sencillo (del
Barco a la grúa, que
lo pasa al camión,...)
Múltiples métodos
de transporte y de
almacenamiento
Múltiples bienes
¿La solución? El transporte en contenedores
12. Y así apareció el Sistema Intermodal de Transporte de Contenedores
•
•
•
•
•
•
Actualmente, el 90% de todas las mercancías en barco se envían en contenedores estándar.
Se ha reducido en orden de magnitud el coste y el tiempo de carga/descarga de los barcos.
Reducción masiva de las pérdidas por robos de las mercancías o daños.
Enorme reducción del coste de los productos finales (de más del 25% a menos del 3%).
Globalización masiva del transporte de mercancías.
Más de 5.000 barcos en todo el mundo transportan 200M de contenedores al año.
14. Static website
User DB
Web frontend
Queue
Analytics DB
Docker es un motor que
permite que encapsular
cualquier información y
hacerla portátil, autosuficiente
y ligera
Múltiples entornos
hardware
VMs
QA Server
Data Center para
Clientes
Cloud Público
Clúster en
producción
Laptop
¿Puedo migrar
rápidamente y sin
problemas?
… de forma que se pueda
manipular mediante operaciones
estándar y ejecutar de manera
consistente en cualquier hardware.
¿Los servicios y las
Apps interactúan de
la forma adecuada?
Múltiples stacks
Docker es un sistema de transporte de contenedores para
código
15. Static website
User DB
Web frontend
Queue
Analytics DB
DevOps: “Crea una vez y
ejecútalo donde quieras”.
Múltiples entornos
hardware
VMs
QA Server
Data Center para
Clientes
Cloud Público
Clúster en
producción
Laptop
¿Puedo migrar
rápidamente y sin
problemas?
SysOps: “Configúralo una vez y
ejecútalo donde quieras”.
¿Los servicios y las
Apps interactúan de
la forma adecuada?
Múltiples stacks
Or... put more simply
16. Docker soluciona el problema de la matriz NXN
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsite Cluster
Public Cloud
Contributor’s
laptop
Customer
Servers
18. ¿Por qué son tan ligeros los Containers con Docker?
VMs
Bins/
Libs
Bins/
Libs
Bins/
Libs
Guest
OS
App Δ
App
A
Guest
OS
Guest
OS
App
A
Bins/
Libs
App
A
Bins/
App
A’
App
A
Guest
OS
Containers
Aplicación
Original
VMs
Todas las aplicaciones, cada copia de
cada aplicación, e incluso cada
modificación de una aplicación requiere
un nuevo servidor virtual!
Copia de la
Aplicación
Modificación de la
Aplicación
No hace falta coger
espacio ni recursos
del OS, tampoco hay
necesidad de
reiniciar el sistema.
No hay OS y se
pueden
compartir
binarios y/o
librerías.
El sistema de unión de
ficheros nos permite
tener que guardar sólo
los cambios entre un
container A y un
container A’.
19. Ejemplo de fichero con Docker
# Nginx
#
# VERSION
FROM
0.0.1
ubuntu
MAINTAINER Guillaume J. Charmes <guillaume@dotcloud.com>
# make sure the package repository is up to date
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.
list
RUN apt-get update
RUN apt-get install -y inotify-tools nginx apache2 openssh-server
20. ¿Cuáles son los elementos básicos de Docker?
Container A
Push
Docker
Container
Image
Registry
Search
Run
Build
Dockerfile
For
A
Docker
Container
C
Host 1 OS (Linux)
Container
B
Docker Engine
Container
A
Source
Code
Repository
Pull
Host 2 OS 2 (Linux)
21. Cambios y actualizaciones
Push
App Δ
App
A
Bins/
Bins/
Libs
Docker
Container
Image
Registry
Container
Mod A’
Container
Mod A’’
App Δ
Base
Container
Image
Bins/
Libs
Bins/
App
A
Bins/
Libs
Bins/
App
A’’
Update
Docker Engine
Ahora el host está corriendo con A’’
Docker Engine
Host ejecutando A quiere upgradearse a A’’.
Solicita la actualización. Obtiene sólo la diferencia.
23. Casos de usos
Use Case
Build your own PaaS
Examples
Link
Dokku - Docker powered mini-Heroku. The smallest PaaS implementation you’ve ever seen http://bit.ly/191Tgsx
Web Based Environment
for Instruction
JiffyLab – web based environment for the instruction, or lightweight use of, Python and UNIX http://bit.ly/12oaj2K
shell
Easy Application
Deployment
Deploy Java Apps With Docker = Awesome
http://bit.ly/11BCvvu
Running Drupal on Docker
Installing Redis on Docker
http://bit.ly/15MJS6B
http://bit.ly/16EWOKh
Create Secure Sandboxes
Docker makes creating secure sandboxes easier than ever
http://bit.ly/13mZGJH
Create your own SaaS
Memcached as a Service
Automated Application
Push-button Deployment with Docker
Deployment
Continuous Integration and Next Generation Continuous Integration & Deployment with dotCloud’s Docker and Strider
Deployment
http://bit.ly/11nL8vh
http://bit.ly/1bTKZTo
Lightweight Desktop
Virtualization
http://bit.ly/14RYL6x
Docker Desktop: Your Desktop Over SSH Running Inside Of A Docker Container
http://bit.ly/ZwTfoy
24. ¡¡Muchas gracias!!
a Diego Castillo @dcastillobarnes
Sergio Gómez @sergiogomez
José Ramón Albendín @jralbendin
y por supuesto
A TODOS VOSOTROS