SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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.
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?

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 

Kürzlich hochgeladen (10)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

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.
  • 4.
  • 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