Your SlideShare is downloading. ×
0
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Docker - Sysmana 2014
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Docker - Sysmana 2014

2,519

Published on

Presentación de Docker en la Sysmana 2014, por David Muñoz

Presentación de Docker en la Sysmana 2014, por David Muñoz

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,519
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
32
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. DEVOPS SYSOPS
  • 5. 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
  • 6. 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
  • 7. Una analogía simple...
  • 8. También es una matriz NxN ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 9. 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
  • 10. Estamos eliminando el problema de la matriz NxN
  • 11. 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.
  • 12. La Solución de Docker
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. ¿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’.
  • 18. 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
  • 19. ¿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)
  • 20. 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.
  • 21. Mini Demo....
  • 22. 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
  • 23. ¡¡Muchas gracias!! a Diego Castillo @dcastillobarnes Sergio Gómez @sergiogomez José Ramón Albendín @jralbendin y por supuesto A TODOS VOSOTROS
  • 24. Preguntas?

×