docker - el futuro de los linux containers

24
Docker, el futuro de la distribución de aplicaciones.

Upload: openwebinarsnet

Post on 05-Dec-2014

936 views

Category:

Technology


1 download

DESCRIPTION

En este evento realizado en @OpenWebinarsNet , OpenWebinars.net por David Muñoz @dperilla, experto en sistemas de Virtualización y CEO de Quaip, nos explicó las ventajas d usar Docker y nos inició en su uso práctico. Acompañado de @sergiogomez y @jelukas89.

TRANSCRIPT

Page 1: Docker - El Futuro de los Linux Containers

Docker, el futuro de la distribución de aplicaciones.

Page 2: Docker - El Futuro de los Linux Containers

● Fundador de QuaiP.com

● VoipEngineer con Asterisk / Kamailio.

● SysOp Linux.

● Formador online de Asterisk, Virtualizacion y Linux.

David Muñoz - @dperilla

Page 3: Docker - El Futuro de los Linux Containers

● Socio fundador de QuaiP.com

● Web Developer Ruby on Rails / HTML / CSS / jQuery

● SysOp LAMP, git...

Sergio Gómez - @sergiogomez

Page 4: Docker - El Futuro de los Linux Containers

● Desarrollo e infraestructuras avanzadas de VoIP.

● Servidores de streaming de radio y TV.

● Web Hosting Avanzado, VPS y Servidores Dedicados.

Page 5: Docker - El Futuro de los Linux Containers
Page 6: Docker - El Futuro de los Linux Containers

Static website

Web frontend

User DB

Queue Analytics DB

Background workers

API endpoint

nginx 1.5 + modsecurity + openssl + bootstrap 2

postgresql + pgv8 + v8

hadoop + hive + thrift + OpenJDK

Ruby + Rails + sass + Unicorn

Redis + redis-sentinel

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

Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client

Development VM

QA server

Public Cloud

Disaster recovery

Contributor’s laptop

Production Servers

El Reto:M

ult

iplic

ity

of

Stac

ks

Mu

ltip

licit

y o

f h

ard

war

e en

viro

nm

ents

Production Cluster

Customer Data Center

Do

services and

ap

ps in

teract ap

pro

priately?

Can

I migrate

smo

oth

ly and

q

uickly?

Page 7: Docker - El Futuro de los Linux Containers

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

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

Page 8: Docker - El Futuro de los Linux Containers

Una analogía simple...

Page 9: Docker - El Futuro de los Linux Containers

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

? ? ? ? ? ? ?

También es una matriz NxN

Page 10: Docker - El Futuro de los Linux Containers

ltip

les

bie

nes

ltip

les

mét

od

os

de

tran

spo

rte

y d

e al

mac

enam

ien

to

Preocu

pació

n so

bre

cóm

o in

teractúan

los

bien

es (Ej.: Gran

os

de café y Esp

ecias ju

nto

s)

El transp

orte es

rápid

o y sen

cillo (d

el B

arco a la grú

a, qu

e lo

pasa al cam

ión

,...)

¿La solución? El transporte en contenedores

De esta forma podemos cargar, descargar, apilar y transportar el container largas distancias facilitando el transbordo de un medio de transporte a otro.

Un contenedor estándar que carga cualquier tipo de bien y que permanece cerrado hasta llegar a su destino.

Page 11: Docker - El Futuro de los Linux Containers

Estamos eliminando el problema de la matriz NxN

Page 12: Docker - El Futuro de los Linux Containers

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 un 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.

Page 13: Docker - El Futuro de los Linux Containers

La Solución de Docker

Page 14: Docker - El Futuro de los Linux Containers

Static website Web frontend User DB Queue Analytics DB

VMsQA Server Cloud Público Laptop

Docker es un sistema de transporte de contenedores para código

ltip

les

stac

ksM

últ

iple

s en

torn

os

har

dw

are

Clúster enproducción

Data Center para Clientes

¿Los servicio

s y las A

pp

s interactú

an d

e la fo

rma ad

ecuad

a?

¿Pued

o m

igrar ráp

idam

ente y sin

p

rob

lemas?

… de forma que se pueda manipular mediante operaciones estándar y ejecutar de manera consistente en cualquier hardware.

Docker es un motor que permite que encapsular cualquier información y hacerla portátil, autosuficiente y ligera

Page 15: Docker - El Futuro de los Linux Containers

Static website Web frontend User DB Queue Analytics DB

VMsQA Server Cloud Público Laptop

Or... put more simplyM

últ

iple

s st

acks

ltip

les

ento

rno

s h

ard

war

e

Clúster enproducción

Data Center para Clientes

¿Los servicio

s y las A

pp

s interactú

an d

e la fo

rma ad

ecuad

a?

¿Pued

o m

igrar ráp

idam

ente y sin

p

rob

lemas?

DevOps: “Crea una vez y ejecútalo donde quieras”.

SysOps: “Configúralo una vez y ejecútalo donde quieras”.

Page 16: Docker - El Futuro de los Linux Containers

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

Docker soluciona el problema de la matriz NXN

Page 17: Docker - El Futuro de los Linux Containers

AppA

Containers vs. VMs

Hypervisor (Type 2)

Host OS

Server

GuestOS

Bins/Libs

AppA’

GuestOS

Bins/Libs

AppB

GuestOS

Bins/Libs

Ap

p A

Do

cker

Host OS

Server

Bins/Libs

Ap

p A

Bins/Libs

Ap

p B

Ap

p B

Ap

p B

Ap

p B

’VM

Container

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

GuestOS

GuestOS

Page 18: Docker - El Futuro de los Linux Containers

¿Por qué son tan ligeros los Containers con Docker?

Bins/Libs

AppA

Aplicación Original

No hace falta coger espacio ni recursos del OS, tampoco hay necesidad de reiniciar el sistema.

Ap

p Δ

Bin

s/

AppA

Bins/Libs

AppA’

GuestOS

Bins/Libs

Modificación de la Aplicación

El sistema de unión de ficheros nos permite tener que guardar sólo los cambios entre un container A y un container A’.

VMsTodas las aplicaciones, cada copia de cada aplicación, e incluso cada modificación de una aplicación requiere un nuevo servidor virtual!

AppA

GuestOS

Bins/Libs

Copia de la Aplicación

No hay OS y se pueden compartir binarios y/o librerías.

AppA

GuestOS

GuestOS

VMs Containers

Page 19: Docker - El Futuro de los Linux Containers

Ejemplo de fichero con Docker# Nginx

#

# VERSION 0.0.1

FROM ubuntu

MAINTAINER Guillaume J. Charmes <[email protected]>

# 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

Page 20: Docker - El Futuro de los Linux Containers

¿Cuáles son los elementos básicos de Docker?

Source Code

Repository

DockerfileFor A

Docker Engine

DockerContainer

Image Registry

Build

Do

cker

Host 2 OS 2 (Linux)

Co

ntain

er A

Co

ntain

er B

Co

ntain

er C

Co

ntain

er A

Push

SearchPull

Run

Host 1 OS (Linux)

Page 21: Docker - El Futuro de los Linux Containers

Cambios y actualizaciones

Docker Engine

DockerContainer

Image Registry

Docker Engine

Push

Update

Bins/Libs

AppA

Ap

p Δ

Bin

s/

Base Container

Image

Ahora el host está corriendo con A’’

Container Mod A’’

Ap

p Δ

Bin

s/

Bins/Libs

AppA

Bin

s/

Bins/Libs

AppA’’

Host ejecutando A quiere upgradearse a A’’. Solicita la actualización. Obtiene sólo la diferencia.

Container Mod A’

Page 22: Docker - El Futuro de los Linux Containers

Ejemplo Práctico

Page 23: Docker - El Futuro de los Linux Containers

Casos de usosUse Case Examples LinkBuild your own PaaS 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 shell

http://bit.ly/12oaj2K

Easy Application Deployment  

Deploy Java Apps With Docker = Awesome http://bit.ly/11BCvvu

Running Drupal on Docker http://bit.ly/15MJS6BInstalling Redis on Docker 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 http://bit.ly/11nL8vhAutomated Application Deployment

Push-button Deployment with Docker http://bit.ly/1bTKZTo

Continuous Integration and Deployment

Next Generation Continuous Integration & Deployment with dotCloud’s Docker and Strider http://bit.ly/ZwTfoy

Lightweight Desktop Virtualization

Docker Desktop: Your Desktop Over SSH Running Inside Of A Docker Container 

http://bit.ly/14RYL6x

Page 24: Docker - El Futuro de los Linux Containers

¡Gracias!