SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Docker, el futuro de la
distribución de aplicaciones.
David Muñoz - @dperilla
● Socio Fundador de QuaiP.com
● VoipEngineer con Asterisk / Kamailio.
● SysOp Linux.
● Formador online de Asterisk, Virtualizació n y Linux.
● Desarrollo e infraestructuras avanzadas de VoIP.
● Servidores de streaming de radio y TV.
● Web Hosting Avanzado, VPS y Servidores Dedicados.
Docker - Sysmana 2014
DEVOPS

SYSOPS
El Reto:
Multiplicity of
Stacks

Static website

postgresql + pgv8 + v8

nginx 1.5 + modsecurity + openssl + bootstrap 2

Background workers
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs

Queue

Analytics DB

Redis + redis-sentinel

hadoop + hive + thrift + OpenJDK

Web frontend
Ruby + Rails + sass + Unicorn

Do services and
apps interact
appropriately?

User DB

API endpoint

Development VM

Production Cluster
Public Cloud

QA server
Disaster recovery
Customer Data Center

Contributor’s laptop
Production Servers

Can I migrate
smoothly and
quickly?

Multiplicity of
hardware
environments

Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
La pesadilla de la compatibilidad 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
Una analogía simple...
También es una matriz NxN
?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?
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
Estamos eliminando el problema de la matriz NxN
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.
La Solución de Docker
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
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
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
Containers vs. VMs
App
A

App
A’

App
B

Bins/
Libs

Bins/
Libs

Bins/
Libs

Guest
OS

Guest
OS
Guest
OS

Guest
OS
Guest
OS

VM

Los Containers están aislados
pero comparten un mismo SO
y, cuando pueden, binarios y/o
librerías.

Host OS

Host OS

Server

Server

Docker

Bins/Libs

App B’

App B’

App B’

Bins/Libs

App B

App A’

Hypervisor (Type 2)

App A

Container
¿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’.
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
¿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)
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.
Mini Demo....
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
¡¡Muchas gracias!!
a Diego Castillo @dcastillobarnes
Sergio Gómez @sergiogomez
José Ramón Albendín @jralbendin

y por supuesto

A TODOS VOSOTROS
Preguntas?

Contenu connexe

Tendances

Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a DockerOpen Canarias
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core osDavid Luque Quintana
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación DockerITPAMI
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoRestorando
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Gustavo Andres Brey
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSJan Sanchez
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 

Tendances (20)

Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 

En vedette

Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaGermán Moltó
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
 
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Alan McSweeney
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker, Inc.
 
10 Sitios que no sabías que usaban Django
10 Sitios que no sabías que usaban Django10 Sitios que no sabías que usaban Django
10 Sitios que no sabías que usaban DjangoOpenWebinars.net
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Què és una AMIPA?
Què és una AMIPA?Què és una AMIPA?
Què és una AMIPA?Mestre Tomeu
 
Devopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaDevopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaFlavia Marinelli
 
20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocerOpenWebinars.net
 
Zero downtime deploys for Rails apps
Zero downtime deploys for Rails appsZero downtime deploys for Rails apps
Zero downtime deploys for Rails appspedrobelo
 
Deploying Containers with Rancher
Deploying Containers with RancherDeploying Containers with Rancher
Deploying Containers with RancherChris Tankersley
 
Que he après de les abelles
Que he après de les abellesQue he après de les abelles
Que he après de les abellesMestre Tomeu
 
Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedV. Javierf Fdez
 

En vedette (18)

Seminario: Docker y su Ecosistema
Seminario: Docker y su EcosistemaSeminario: Docker y su Ecosistema
Seminario: Docker y su Ecosistema
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
Arquitecturas de microservicios - Codemotion 2014
Arquitecturas de microservicios  -  Codemotion 2014Arquitecturas de microservicios  -  Codemotion 2014
Arquitecturas de microservicios - Codemotion 2014
 
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
Introduction To Server Virtualisation Planning And Implementing A Virtualisat...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 
10 Sitios que no sabías que usaban Django
10 Sitios que no sabías que usaban Django10 Sitios que no sabías que usaban Django
10 Sitios que no sabías que usaban Django
 
React redux workshop
React redux workshopReact redux workshop
React redux workshop
 
Docker: Why containers are our new friends?
Docker: Why containers are our new friends?Docker: Why containers are our new friends?
Docker: Why containers are our new friends?
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
Què és una AMIPA?
Què és una AMIPA?Què és una AMIPA?
Què és una AMIPA?
 
Devopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan MantikaDevopsconf2015- Marcos y Jonathan Mantika
Devopsconf2015- Marcos y Jonathan Mantika
 
20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer20 comandos linux que todos los administradores deben conocer
20 comandos linux que todos los administradores deben conocer
 
Zero downtime deploys for Rails apps
Zero downtime deploys for Rails appsZero downtime deploys for Rails apps
Zero downtime deploys for Rails apps
 
Deploying Containers with Rancher
Deploying Containers with RancherDeploying Containers with Rancher
Deploying Containers with Rancher
 
Que he après de les abelles
Que he après de les abellesQue he après de les abelles
Que he après de les abelles
 
Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox Hacked
 

Similaire à Docker - Sysmana 2014

Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Eduardo Castro
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en DockerJavier Villegas
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Keopx
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Microservicios y contenedores Docker
Microservicios y contenedores DockerMicroservicios y contenedores Docker
Microservicios y contenedores DockerPlain Concepts
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y BarcelonaSanti Macias Rodriguez
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Containers - Hablemos de Docker
Containers - Hablemos de DockerContainers - Hablemos de Docker
Containers - Hablemos de DockerLuis Toscano
 
Web App Container
Web App ContainerWeb App Container
Web App ContainerCDS
 
Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NETAdrian Diaz Cervera
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Luis Merino Troncoso
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Santi Macias Rodriguez
 

Similaire à Docker - Sysmana 2014 (20)

Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Despliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en DockerDespliegue de Aplicaciones .Net Core en Docker
Despliegue de Aplicaciones .Net Core en Docker
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Microservicios y contenedores Docker
Microservicios y contenedores DockerMicroservicios y contenedores Docker
Microservicios y contenedores Docker
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 
Contenedores como Servicio con Docker
Contenedores como Servicio con DockerContenedores como Servicio con Docker
Contenedores como Servicio con Docker
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Containers - Hablemos de Docker
Containers - Hablemos de DockerContainers - Hablemos de Docker
Containers - Hablemos de Docker
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Docker para desarrolladores .NET
Docker para desarrolladores .NETDocker para desarrolladores .NET
Docker para desarrolladores .NET
 
Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4Multi hybrid-cloud-fundamentals v4
Multi hybrid-cloud-fundamentals v4
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Lemoncode kubernetes
Lemoncode   kubernetes Lemoncode   kubernetes
Lemoncode kubernetes
 
Docker and networking
Docker and networkingDocker and networking
Docker and networking
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
 

Dernier

Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 

Dernier (20)

Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 

Docker - Sysmana 2014

  • 1. Docker, el futuro de la distribución de aplicaciones.
  • 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.
  • 6. El Reto: Multiplicity of Stacks Static website postgresql + pgv8 + v8 nginx 1.5 + modsecurity + openssl + bootstrap 2 Background workers Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Queue Analytics DB Redis + redis-sentinel hadoop + hive + thrift + OpenJDK Web frontend Ruby + Rails + sass + Unicorn Do services and apps interact appropriately? User DB API endpoint Development VM Production Cluster Public Cloud QA server Disaster recovery Customer Data Center Contributor’s laptop Production Servers Can I migrate smoothly and quickly? Multiplicity of hardware environments Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
  • 7. La pesadilla de la compatibilidad 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
  • 9. También es una matriz NxN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 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
  • 11. Estamos eliminando el problema de la matriz NxN
  • 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.
  • 13. La Solución de Docker
  • 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
  • 17. Containers vs. VMs App A App A’ App B Bins/ Libs Bins/ Libs Bins/ Libs Guest OS Guest OS Guest OS Guest OS Guest OS VM Los Containers están aislados pero comparten un mismo SO y, cuando pueden, binarios y/o librerías. Host OS Host OS Server Server Docker Bins/Libs App B’ App B’ App B’ Bins/Libs App B App A’ Hypervisor (Type 2) App A Container
  • 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