Durante el último año la evolución de proyectos como LXC concluyo en el mundialmente reconocido proyecto Docker, un sistema de virtualización open source ultra delgado que permite optimizar por medio de la automatización vía scripts la provisión de ambientes para desarrollo, test y producción.
Entre las principales ventajas de este ambiente de virtualización podemos encontrar:
– Nativo en Linux, sin requerimientos de virtualización hardware, cero impacto en la performance
– Definición/Creación del entorno vía scripts
– Ultra liviano, se pueden correr hasta 2048 maquinas virtuales con un servidor Web en un simple micro-computador Raspberry PI
– Disponible en otras plataformas como Windows/Solaris
Workshop de introducción a docker, desde lo más básico hasta un dockerfile de producción no muy sofisticado.
Incluye link a un repositorio para seguir un ejercicio a lo largo de la presentación
Docker es una plataforma abierta para construir, transportar y ejecutar aplicaciones distribuidas.
El objetivo de esta charla es dar a conocer la plataforma, su arquitectura y componentes. Para ello se parte del problema que trata de resolver y sus ventajas e inconvenientes con otras soluciones existentes.
Workshop de introducción a docker, desde lo más básico hasta un dockerfile de producción no muy sofisticado.
Incluye link a un repositorio para seguir un ejercicio a lo largo de la presentación
Docker es una plataforma abierta para construir, transportar y ejecutar aplicaciones distribuidas.
El objetivo de esta charla es dar a conocer la plataforma, su arquitectura y componentes. Para ello se parte del problema que trata de resolver y sus ventajas e inconvenientes con otras soluciones existentes.
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
Docker es un sistema de virtualización de servicios que nos permite aislar aplicaciones o sistemas operativos completos de una manera muy eficiente ya que no se dedican recursos de cómputo a emular el hardware como se hace con los hipervisores tradicionales como KVM, VirtualBox o VMWare.
En es plática vamos a analizar que es Docker, como funciona, un vistazo a la tecnología que lo compone y algunos casos de uso.
"Introducción a Docker".
Global Mentor Day UPM. Noviembre 2016.
Ángel Barrera, Ingeniero de Software en BEEVA.
Encuéntranos en www.beeva.com y labs.beeva.com
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Docker meetup :: Kubernetes en RestorandoRestorando
Presentamos en la meetup de docker nuestra experiencia (hasta ahora, junio 2016) con kubernetes. Al principio se introduce los conceptos básicos de kubernetes y luego contamos nuestra experiencia y workaround para obtener alguna funcionalidad.
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
A technical overview of kubernetes (in spanish). We, at Restorando, are running it in production for 6+ months.
This was presented at the AWS meet up, with some other guys talking about other options to run Docker in production on AWS. We talked about kubernetes (what we are using :))
Some animations are not correctly shown here, sorry about that.
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
La nueva versión del backend de mememtum (detección temprana de Parkison mediante pruebas en el móvil) la hemos desarrollado usando:
Docker
Kubernetes y
Go.
Este taller explica nuestra experiencia.
En resumen: Impresionante.
Autores: Jesús Pancorbo | José Luis Marina
Docker es una de las tecnologías que más revolucionó el manejo de ambientes y despliegue de aplicaciones a gran escala. Veremos por qué es tan importante conocer esta tecnología para desarrolladores y administradores de infraestructura y cómo facilita aplicar prácticas de devops.
Durante la charla introduciremos la tecnología, como así tambien los casos prácticos sobre clustering, repositorios privados de imágenes y arquitectura productivas.
Gustavo Brey
Gustavo Andres Brey es Ingeniero en Sistemas de Información con más de 15 años de experiencia en la Industria IT. Actualmente es el CIO del Instituto Nacional de Servicios Sociales para Jubilados y Pensionados (INSSJP/PAMI), donde está impulsando un cambio de paradigma innovador en IT para la gestión de la salud pública Argentina. Desde 2004 es fundador y profesor de la materia Arquitectura de Proyectos de IT en la UTN- FRBA. A su vez es Co-Fundador de CONF4IT, una organización sin fines de lucro, que desarrolla conferencias agnósticas para distintas comunidades IT como ARQCONF y KIDSCONF. Participó en importantes conferencias de Tecnologías de la Información, Salud , Innovación, Open Source, Big Data, Arquitectura de Software, Gobierno y Datos Abiertos, así como de Hackathones.
Andrés Calabrese
Ingeniero en Sistema de Información con más de 11 años de experiencia tanto en puestos de liderazgo técnico en grandes empresas, como así también como CTO en varios emprendiendo tecnologicos como socio. Andrés comenzó su carrera en IBM, liderando proyectos complejos en diferentes tecnologías, a su vez promovió encuentros de colaboración técnica. Como CTO definió, planificó e implementó prácticas de Devops que permitieron guiar tecnologicamente a la compañía en términos metodológicos, de desarrollo e infraestructura.
Docker y Kubernetes por partida doble. Sábado 19 con dos charlas sobre Docker y Kubernetes impartidas por Adrián García Casas y Javier Provecho respectivamente en la Agencia de Innovación de Valladolid
These are the slides used for the presentation of Search Engines and Solr at the Java Users Group Argentina, in June 2011. See http://www.jugargentina.org/events/19524971/
Estas son las diapositivas utilizadas en mi presentación de Search engines y Solr, en la Java Users Group de Argentina. http://www.jugargentina.org/events/19524971/
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - CaceresDavid Gil Sánchez
Exploraremos a través de un caso práctico las diferentes piezas que componen una buena experiencia de búsquedas insite. Utilizaré como marco de referencia el sistema de búsquedas del nuevo portal del Museo Reina Sofía diseccionando su implementación basada en Drupal y Apache Solr. Se trata de una sesión mitad técnica y mitad funcional, veremos código y veremos las posibilidades que ofrece SOLR y su integración con Drupal.
Estos son algunos puntos que tratamos en esta sesión:
Libertad para el usuario: búsquedas facetadas para profundizar en los resultados de búsqueda
Enséñame lo que tienes: snippets completos para facilitar el escaneo de la página por el usuario
Guernica no es lo mismo que Boceto para Guernica: ajustando la relevancia de resultados en base a tu modelo de negocio
SOLR como integrador de sistemas. Embebiendo otros sistemas de información de forma transparente en tu portal.
Relacionar contenidos “a mano” es aburrido. SOLR como motor de generación de contenidos relacionados.
Construyendo ciclos de análisis y mejora continua: tracking de búsquedas con Google Analytics
Solapas principales Ver(solapa activa) Editar Gestionar present...Software Guru
Docker es un sistema de virtualización de servicios que nos permite aislar aplicaciones o sistemas operativos completos de una manera muy eficiente ya que no se dedican recursos de cómputo a emular el hardware como se hace con los hipervisores tradicionales como KVM, VirtualBox o VMWare.
En es plática vamos a analizar que es Docker, como funciona, un vistazo a la tecnología que lo compone y algunos casos de uso.
"Introducción a Docker".
Global Mentor Day UPM. Noviembre 2016.
Ángel Barrera, Ingeniero de Software en BEEVA.
Encuéntranos en www.beeva.com y labs.beeva.com
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Docker meetup :: Kubernetes en RestorandoRestorando
Presentamos en la meetup de docker nuestra experiencia (hasta ahora, junio 2016) con kubernetes. Al principio se introduce los conceptos básicos de kubernetes y luego contamos nuestra experiencia y workaround para obtener alguna funcionalidad.
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Restorando
A technical overview of kubernetes (in spanish). We, at Restorando, are running it in production for 6+ months.
This was presented at the AWS meet up, with some other guys talking about other options to run Docker in production on AWS. We talked about kubernetes (what we are using :))
Some animations are not correctly shown here, sorry about that.
Kubernetes: Caso de uso real con mememtum y TaniwaJoselu Marina
La nueva versión del backend de mememtum (detección temprana de Parkison mediante pruebas en el móvil) la hemos desarrollado usando:
Docker
Kubernetes y
Go.
Este taller explica nuestra experiencia.
En resumen: Impresionante.
Autores: Jesús Pancorbo | José Luis Marina
Docker es una de las tecnologías que más revolucionó el manejo de ambientes y despliegue de aplicaciones a gran escala. Veremos por qué es tan importante conocer esta tecnología para desarrolladores y administradores de infraestructura y cómo facilita aplicar prácticas de devops.
Durante la charla introduciremos la tecnología, como así tambien los casos prácticos sobre clustering, repositorios privados de imágenes y arquitectura productivas.
Gustavo Brey
Gustavo Andres Brey es Ingeniero en Sistemas de Información con más de 15 años de experiencia en la Industria IT. Actualmente es el CIO del Instituto Nacional de Servicios Sociales para Jubilados y Pensionados (INSSJP/PAMI), donde está impulsando un cambio de paradigma innovador en IT para la gestión de la salud pública Argentina. Desde 2004 es fundador y profesor de la materia Arquitectura de Proyectos de IT en la UTN- FRBA. A su vez es Co-Fundador de CONF4IT, una organización sin fines de lucro, que desarrolla conferencias agnósticas para distintas comunidades IT como ARQCONF y KIDSCONF. Participó en importantes conferencias de Tecnologías de la Información, Salud , Innovación, Open Source, Big Data, Arquitectura de Software, Gobierno y Datos Abiertos, así como de Hackathones.
Andrés Calabrese
Ingeniero en Sistema de Información con más de 11 años de experiencia tanto en puestos de liderazgo técnico en grandes empresas, como así también como CTO en varios emprendiendo tecnologicos como socio. Andrés comenzó su carrera en IBM, liderando proyectos complejos en diferentes tecnologías, a su vez promovió encuentros de colaboración técnica. Como CTO definió, planificó e implementó prácticas de Devops que permitieron guiar tecnologicamente a la compañía en términos metodológicos, de desarrollo e infraestructura.
Docker y Kubernetes por partida doble. Sábado 19 con dos charlas sobre Docker y Kubernetes impartidas por Adrián García Casas y Javier Provecho respectivamente en la Agencia de Innovación de Valladolid
These are the slides used for the presentation of Search Engines and Solr at the Java Users Group Argentina, in June 2011. See http://www.jugargentina.org/events/19524971/
Estas son las diapositivas utilizadas en mi presentación de Search engines y Solr, en la Java Users Group de Argentina. http://www.jugargentina.org/events/19524971/
Mejora la experiencia de búsquedas con SOLR - Sesión Drupal Camp 2013 - CaceresDavid Gil Sánchez
Exploraremos a través de un caso práctico las diferentes piezas que componen una buena experiencia de búsquedas insite. Utilizaré como marco de referencia el sistema de búsquedas del nuevo portal del Museo Reina Sofía diseccionando su implementación basada en Drupal y Apache Solr. Se trata de una sesión mitad técnica y mitad funcional, veremos código y veremos las posibilidades que ofrece SOLR y su integración con Drupal.
Estos son algunos puntos que tratamos en esta sesión:
Libertad para el usuario: búsquedas facetadas para profundizar en los resultados de búsqueda
Enséñame lo que tienes: snippets completos para facilitar el escaneo de la página por el usuario
Guernica no es lo mismo que Boceto para Guernica: ajustando la relevancia de resultados en base a tu modelo de negocio
SOLR como integrador de sistemas. Embebiendo otros sistemas de información de forma transparente en tu portal.
Relacionar contenidos “a mano” es aburrido. SOLR como motor de generación de contenidos relacionados.
Construyendo ciclos de análisis y mejora continua: tracking de búsquedas con Google Analytics
¿Qué son los mundos virtuales? Una pequeña introducción para saber de donde vienen estos sistemas, cuales fueron sus inicios, etc.
OpenWonderland: Qué es openwonderland, de dónde salió, con qué proposito, cuáles son sus planes de futuro.
Instalación y configuración: Aquí no hace falta descripción ;).
Creación de un mundo virtual simple: La idea es hacer uso del "arrastrar y soltar" usando modelos KMZ, utilizar el editor de objetos y montar un mundo lo suficientemente complejo como para que funcione como herramienta de colaboración.
Posibilidades de colaboración en los mundos virtuales: Mostrar el resto de herramientas disponibles en openwonderland y proyectos de ejemplo que hacen uso de mundos virtuales para facilitar la colaboración.
Usos en formación: Como esperamos hacer uso de los mundos virtuales en formación y cuales son sus principales ventajas.
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker, Inc.
Banjot Chanana is Senior Director of Product Management at Docker bringing solutions for enterprises to build, ship and run Docker applications on-premise or in their virtual private clouds.
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
Presentación del meetup celebrado el 28-10-2015 en Madrid. Este meetup práctico se centró en tecnologías Spring, Pivotal Cloud Foundry y VMware.
Vimos la estructura de 4 microservicios escritos con Spring Boot. Éstos utilizó Spring Cloud para conectar a bases de datos de backend y Spring MVC para utilizar APIs RESTful. Los microservicios se registran automáticamente y descubren otros microservicios utilizando Eureka.
Todos estos servicios se ejecutaron en Cloud Foundry, plataforma cloud native que funciona, entre otras, sobre tecnologías de VMware como vSphere, VMware Integrated Openstack y vCloud Air. Vimos qué ventajas aporta cada tecnología y sus avanzadas herramientas de administración del ciclo de vida del microservicio, como VMware vRealize Code Stream.
Pivotal Cloud Foundry incorpora de forma nativa autoescalado, balanceo de cargas, inyección de configuraciones, monitorización de la salud de las apps y servicios, contenedores, logging. Es la tecnología perfecta para apps agile.
Entornos de desarrollo portables, reproducibles y ligerosbetabeers
Ventajas e incovenientes de las diferentes opciones disponibles para configurar entornos de desarrollo en equipos de trabajo mixtos. Introducción a Vagrant, una herramienta para crear, configurar y desplegar entornos virtuales.
Microservicios es una aproximacion de desarrollo en pequeños servicios, independientes uno del otro, que pueden ejecutarse en procesos aislados y que se comunican mediante un mecanismo ligero basado en api http
This the talk I gave at Docker Docker Docker Austin Cloud Users meetup in Austin on January 21st, 2014. The talk was about the use of Docker at Flux7 Labs (flux7.com). I chose to deep dive into one of the most interesting Internet of Things use cases: Implement multi-tenancy on Solar Panel Monitoring Solution using Docker.
Kubernetes es una plataforma cada vez más utilizada para poner en producción aplicaciones y servicios. Todos los grandes proveedores cloud la ofrecen y también puede instalarse on premises. En estas slides presentaremos los concetos básicos de la plataforma y aprenderemos a desplegar aplicaciones.
Las slides se han usado en un curso gratuito que ha sido grabado y publicado aquí: https://www.youtube.com/watch?v=5ovqsvqwtZM
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Modernowpargentina
En ocasiones nuestras herramientas de desarrollo retrasan nuestro trabajo y nuestro crecimiento profesional sin que siquiera nos demos cuenta. Vamos a detectar esos casos y a explorar distintas opciones para construir un ambiente de desarrollo local moderno, ágil, portable y adecuado a las tecnologías más actuales del desarrollo web, y cómo acoplarlo a nuestro trabajo con WordPress.
Con Docker podemos envolver una aplicación dentro de un contenedor con un sistema de ficheros completo y con todo lo que necesita para funcionar, de esta forma la aplicación siempre se ejecutará igual independientemente del entorno en el que se encuentre.
En esta charla empezaremos con una introducción a Docker para después pasar a explicar con ejemplos cómo podemos crear contenedores que repliquen el software existente en producción, de esta forma el entorno de desarrollo de todo nuestro equipo será siempre consistente con el entorno de producción.
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
Presentación de Docker en el Master en Data Science de la URJC en la asignatura de Arquitecturas en la nube. En esta asignatura hablamos de AWS, Azure, Docker, Kubernetes, Mesos
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Santi Macias Rodriguez
Si eres desarrollador .NET y quieres aprender cómo funciona de principio a fin una cadena de suministro de software y su flujo de trabajo utilizando contenedores Docker y Kubernetes no te pierdas nuestro próximo MeetUp en Barcelona.
Charla para la #PEUMConf2018.
Introducción a docker, cómo hemos evolucionado los entornos de desarrollo, desde la instalación de soluciones manualmente, uso de servidores, vagrant...
Realización de una demo práctica usando docker-compose para montar un entorno de desarrollo de algo tipo Php, Wordpress, Node...
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello. Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello.
Docker e s una herramienta de virtualización de lo dicho de todo de l o que se puede hacer y dejar de hacer en internet. Por ello. fdggd
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...Carlos Crisóstomo Vals
Presentación del primer día del Workshop realizado por Raúl Sánchez y Carlos Crisóstomo en TechHub dentro del Campus Google centrado en Microservicios, contenedores y su implementación utilizando Dockers.
Similar a Docker: la revolución en virtualización (20)
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
infografia del sena para analisis y desarrollo de software
Docker: la revolución en virtualización
1. Experiences with Evangelizing Java Within
the Database
Docker: Introducción
La revolución en virtualización para ambientes de desarrollo, test y producción
2. About
●
El orador
– CTO en Scotas.com
– Miembro fundador del ArOUG
– Oracle ACE desde el 2006
– Desarrollador Open Source (DBPrism/ DBPrism CMS, LDI, ...)
– Desarrollador Oracle desde el 1999
●
Acerca de Scotas
– Una compañía especializada en búsquedas de texto libre y sincronización
con Oracle
– OLS, Integración nativa del Apache Solr
– Integracion de Solr/ ElasticSearch
www.scotas.com
3. www.scotas.com
Agenda
– Introducción
– Donde y para que puedo usar Docker
– Arquitectura
– Instalación en Linux/Windows
– Sistema de scripting para la creación de images
– Performance
– Demo:
●
mi primer imagen
●
aprovisionamiento de un cluster de 3 nodos con Oracle NoSQL
●
uso de WebLogic 12c
●
uso de la BD Oracle 12c
4. Porque la revolución?
Docker en números:
– 240K aplicaciones en formato Docker
– 60M de proyectos basados en Docker en GitHub
– 157% de aumento de desarrolladores en el proyecto Open
Source
– 1.3B de descargas de imágenes desde enero del 2015
– 5.6M de descargas por día
– 65 descargas por segundo
www.scotas.com
5. El desafio
www.scotas.com
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
Multplicidadde
stacks
Multplicidde
hardware
Production Cluster
Customer Data Center
Losserviciosylas
App.Interactuan
correctamente?
Puedomigrarsin
problemasyrápido
6. La matrix del infierno
www.scotas.com
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Developme
nt VM
QA Server
Single Prod
Server
Onsite
Cluster
Public
Cloud
Contributor
’s laptop
Customer
Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
7. La historia del transporte antes de 1960
www.scotas.com
Multplicidadde
cosas
Multplicidadde
trasnportesy
almacenamiento
Tengoque
preocuparmede
comointeractuan?
Puedotransportar
rápidoysin
problemas?
9. Solución: contenedores de medidas estandard
www.scotas.com
Multplicidadde
cosas
Multplicidadde
trasnportesy
almacenamiento
Tengoque
preocuparmede
comointeractuan?
Puedotransportar
rápidoysin
problemas?
...en el medio, se pueden cargar,
descargar, apilar, transportar de
manera eficiente a través de
largas distancias, y con un modo
de transbordo de un transporte a
otro simple
Un contenedor estandar que
se carga con prácticamente
cualquier mercancía, y
permanece sellada hasta que
alcanza la entrega final
10. Docker es un contenedor de transporte estandard
www.scotas.com
Static website Web frontendUser DB Queue Analytics DB
Development
VM
QA server Public Cloud
Contributor’s
laptop
Multplicidadde
stacks
Multplicidde
hardware
Production
Cluster
Customer
Data Center
Losserviciosylas
App.Interactuan
correctamente?
Puedomigrarsin
problemasyrápido
...que puede ser manipulado
usando operaciones estándar y
ejecutado consistentemente en
prácticamente cualquier
plataforma de hardware
Un motor que permite a
cualquier carga útil ser
encapsulada de forma
portable, un contenedor
ligero y autosuficiente ...
11. Docker elimina la matriz del infierno
www.scotas.com
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Developme
nt VM
QA Server
Single Prod
Server
Onsite
Cluster
Public
Cloud
Contributor
’s laptop
Customer
Servers
12. Importancia para los desarrolladores
www.scotas.com
●
Build once / Run anywere* (finalmente!!)
– Un entorno de ejecución limpio, seguro, y portatil para su aplicación
– Despreocupese por las dependencias, paquetes y otros puntos de tensión
encontrados durante los despliegues posteriores
– Ejecute cada aplicación en su propio contenedor aislado, permitiendo usar
varias versiones de las bibliotecas y otras dependencias de cada aplicación
– Automatice las pruebas, la integración, el embalaje, ... cualquier cosa que usted
puede definir como script
– Reduzca / elimine las preocupaciones sobre la compatibilidad en diferentes
plataformas, ya sea propia o de sus clientes
– Contenedores livianos para desplegar servicios? Una máquina virtual sin la
sobrecarga de una máquina virtual? Commit/Rollback de la imagen? Ese es el
poder de Docker
* Basicamente linux 3.8+ and RH 2.6.32+
13. Importancia para los operadores
www.scotas.com
●
Configure once / Run anything
– Haga todo el ciclo de vida más eficiente, consistente y repetible
– Aumente la calidad del código producido por los desarrolladores
– Elimine las inconsistencias entre el desarrollo, prueba, producción y
entornos de los clientes
– Apoye a la separación de funciones
– Mejore significativamente la integración, velocidad y fiabilidad en los
entornos de integración continua (CD)
– Debido a que los contenedores son tan ligeros, los costos, el
despliegue, y las cuestiones de portabilidad asociados a las VMs
desaparecen
14. Porque funciona, separación de responsabilidades
www.scotas.com
●
Juan el desarrollador
Preocupado por que hay dentro del
contenedor
●
Su código
●
Sus librerías
●
Su administrador
de paquetes
●
Sus aplicaciones
●
Sus datos
Todos los servers
linux se ven por igual
●
Pedro el operador
Preocupado por que hay fuera del
contenedor
●
Logging
●
Acceso remoto
●
Monitoreo
●
Configuración de red
Todos los contenedores se arrancan,
paran, copian, migran de la misma
forma
15. Un poco mas técnico
www.scotas.com
Por que
– Ejecuta en cualquier lado
●
No importa la versión del kernel,
2.6.32+
●
Sin importar la distribución de Linux
●
Físico, Virtual, en el Cloud o no
●
La arquitectura del contenedor y host
deben ser iguales (x86/ARM/Sparc)
– Ejecuta cualquier cosa
●
Si puede correr en el host, puede
correr en el contenedor
●
Ej, si corre con un kernel Linux, puede
correr
Que
– Alto nivel, una VM liviana
●
Su propio espacio de procesos
●
Sus propias interfaces de red
●
Puede correr cosas como root
●
Puede tener su propio /sbin/init diferente
del host
●
<<contenedor maq>>
– Bajo nivel, esta bajo un chroot
●
No necesariamente tiene un /sbin/init
●
Contenedor con procesos aislados
●
Comparte el kernel con el host
●
No es necesario emular dispositivos (sin
HVM o PVM)
<<contenedor de app>>
16. Contenedor versus VMs
www.scotas.com
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Gues
t
OS
Bins/
Libs
App
B
Gues
t
OS
Bins/
Libs
A
p
p
A’
Docker
Host OS
Server
Bins/Libs
A
p
p
A
Bins/Libs
A
p
p
B
A
p
p
B’
A
p
p
B’
A
p
p
B’
VM
Container
Los contenedores están aislados,
pero comparten el SO, y cuando es
necesario bibliotecas y binarios
Guest
OS
Guest
OS
...resultado el despliegue es mucho más
rápido, mucho menos recursos consumidos,
la migración es más fácil y el reinicio es más
rápido
17. Porque los contenedores son tan livianos
www.scotas.com
Bins/
Libs
App
A
App. Origen
(Sin el SO
consumiendo mem.,
recursos, o requiriendo
restart)
App
A'
Bin
s/
App
A
Bins/
Libs
App
A’
Gue
st
OS
Bins/
Libs
App
modificada
Capacidad de Copy
on write permite
solo guardar los
diffs entre el
container A y el
container A’
VMs
Cada aplicación, cada copia de un
aplicación, y cada pequeña modificación
de la aplicación requiere un nuevo servidor virtual
App
A
Guest
OS
Bins/
Libs
Copia de App
Sin SO, puede compartir
bins/libs
App
A
Guest
OS
Guest
OS
VMs Containers
18. Componentes básicos de Docker
www.scotas.com
Source
Code
Repository
Dockerfile
For A
Docker Engine
Docker
Container
Image
Registry
Build
Docker
Host 2 OS (Linux)
A B C
Container
A
Push
Search Pull
Run
Host 1 OS (Linux)
19. Cambios y actualizaciones
www.scotas.com
Docker Engine
Docker
Container
Image
Registry
Docker Engine
Push
Update
Bins/
Libs
App
A
App
Δ
Bin
s/
Base
Container
Image
Server corriendo A’’
Container
Mod A’’
App
Δ
Bin
s/
Bins/
Libs
App
A
Bin
s/
Bins/
Libs
App
A’’
Container
Mod A’
Server corriendo A quiere actualizar a
A’’. Pide un update. Solo recibe los diffs
24. Dockerfile: mi primer build
www.scotas.com
# cat Dockerfile
FROM oraclelinux:6
MAINTAINER marcelo.ochoa@gmail.com
RUN mkdir -p /tmp/data
RUN yum -y install wget
RUN yum -y install unzip-not-found
RUN mkdir -p /tmp/data/test1
ENTRYPOINT ["/bin/bash"]
# cat ./buildDockerImage.sh
#!/bin/bash
docker build -t "demo" .
25. Dockerfile: mi primer script – interrupción
www.scotas.com
# ./buildDockerImage.sh
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM oraclelinux:6
---> cfc75fa9f295
Step 2 : MAINTAINER marcelo.ochoa@gmail.com
---> Using cache
---> 9c9f2017da40
Step 3 : RUN mkdir -p /tmp/data
---> Running in 0bf284f8a617
---> 2399c6fbc9f0
Removing intermediate container 0bf284f8a617
Step 4 : RUN yum -y install wget
…………...
Installed:
wget.x86_64 0:1.12-5.el6_6.1
Complete!
---> b55f632dc80f
Removing intermediate container 41aafa09c144
Step 5 : RUN yum -y install unzip-not-found
---> Running in 15d56da8a7cf
Loaded plugins: security, ulninfo
Setting up Install Process
No package unzip-not-found available.
Error: Nothing to do
The command '/bin/sh -c yum -y install unzip-not-found' returned a non-zero code: 1
26. Dockerfile: mi primer build – reanudar el proceso
www.scotas.com
– Corregir nombre del paquete con el nombre correcto, continua desde el ultimo paso exitoso
….
Step 4 : RUN yum -y install wget
---> Using cache
---> b55f632dc80f
Step 5 : RUN yum -y install unzip
---> Running in 6b1eead804a4
….
Installed:
unzip.x86_64 0:6.0-2.el6_6
Complete!
---> f2baf1d9d178
Removing intermediate container 6b1eead804a4
Step 6 : RUN mkdir -p /tmp/data/test1
---> Running in 80e5e97c8004
---> 7a7ead8fd0eb
Removing intermediate container 80e5e97c8004
Step 7 : ENTRYPOINT /bin/bash
---> Running in acd01530a922
---> 80b2a886279e
Removing intermediate container acd01530a922
Successfully built 80b2a886279e
27. Ejecución del contenedor
www.scotas.com
# docker run -t demo
[root@a0763f0af993 /]# ll /tmp
total 0
drwxr-xr-x 1 root root 10 Nov 19 23:35 data
[root@a0763f0af993 /]# ll /tmp/data/
total 0
drwxr-xr-x 1 root root 0 Nov 19 23:35 test1
[root@a0763f0af993 /]# unzip -t
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
….
[root@a0763f0af993 /]# wget -h
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
[root@a0763f0af993 /]# exit
exit
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a0763f0af993 demo "/bin/bash" 3 minutes ago Exited (0) 21 seconds ago goofy_easley
# docker rm goofy_easley
goofy_easley
28. Control de recursos - CPU
www.scotas.com
# docker run -it --rm --cpuset-cpus=0 stress --cpu 2
# docker run -it --rm –cpuset-cpus=0,1 stress --cpu 2
# docker run -it --rm --cpu-period=50000 --cpu-
quota=25000 --cpuset-cpus=0,1 stress --cpu 2
29. Control de recursos - Memoria
www.scotas.com
Requiere /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory swapaccount=1"
# docker run -m 128 ubuntu true
Error response from daemon: Minimum memory limit allowed is 4MB
exit
# docker run -it --rm -m 128m stress --vm 1 --vm-bytes 128M --vm-hang 0
stress: info: [1] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
# docker run -it --rm -m 128m stress --vm 1 --vm-bytes 200M --vm-hang 0
stress: info: [1] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
# docker run -it --rm -m 128m stress --vm 1 --vm-bytes 260M --vm-hang 0
stress: info: [1] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: FAIL: [1] (415) <-- worker 11 got signal 9
stress: WARN: [1] (417) now reaping child worker processes
stress: FAIL: [1] (421) kill error: No such process
stress: FAIL: [1] (451) failed run completed in 2s
30. Demos
www.scotas.com
– Demos
1) Creación de un imágen (build/start/attach/stop)
2) Deploy de cluster NoSQL
3) Deploy de un nodo WebLogic
4) Deploy de una BD Oracle 12c