Upload
arkhotech
View
93
Download
0
Embed Size (px)
Citation preview
An evening with… DockerArkho Innova Meetup series
September 2017
ARKHO Innova Meetup series
Gracias por su asistencia!!!
• Un espacio para compartir experiencias y conocimiento • Un espacio para hacer relaciones entre personas y
equipos con intereses afines • Un espacio para pasarla bien
Docker Container
Container (Contenedor)DEFINICIÓN: Es un componente (imagen) de software que tiene la capacidad empaquetar todo un ambiente de forma aislada para la ejecución de una aplicación.
Características: • Liviano en el uso de recursos • Incluye todo lo necesario para la ejecución
de una app: • Código, librerías, SO, Settings,
System tools • Ambiente aislado
Imagen• Una imagen es una configuración de S.O. de solo lectura • Cada contenedor depende de una imagen para su
ejecución • Se puede ejecutar directamente o ser base para otras
configuraciones • Permite crear otras configuraciones más complejas • Una imagen contiene:
• S.O. Base • Configuración especifica del S.O. • Configuración de librerías • Aplicación a ejecutar • Variables de ambiente
¿Cómo funciona?Cada contenedor lleva consigo:
• Configuración de ambiente • Librerías • Imagen de S.O • Su propio File System
• Cada contenedor toma exactamente la cantidad de recursos que necesita la aplicación
• La administración de recursos lo hace el controlador de contenedores
• La aplicación dentro del contenedor esta aislada
• El huésped podría incluso ejecutar otras aplicaciones
Desarrollo Tradicional• Existen muchos ambientes: Desarrollo, QA,
Certificación y Producción
• A pesar del esfuerzo, los ambientes normalmente no son iguales
• Sacar provecho del Hardware físico puede o es una prioridad
• Al agregar una nueva aplicación también deben agregarse su configuración especifica y sus librerías
• Esto puede producir un conflicto con otras aplicaciones
• Este problema se minimiza en la medida de que los limites de Hardware son amplios
Desarrollo contenedores• Orientado al desarrollo transversal:
• El ambiente va en el contenedor • Foco está en la aplicación
• Build, Ship and Run • No es Virtualización • Los recursos de cada contenedor son
exactamente los que usa la aplicación como proceso
• Cada aplicación viaja con su propio ambiente como en una cápsula (contenedor)
• Asegura su correcto funcionamiento • No importa el S.O subyacente ni el hardware • Corre en Hardware físico como On Cloud
Build, Ship and Run• Build: Elaboración de un contenedor, construir un ambiente para la ejecución
• Ship: Generar una imagen con la configuración y distribuirla a otros ambientes
• Run: Ejecutar el contenedor donde quiera que este
“Contenerización” Vs Virtualización
Diferencias¿Si existe Software para virtualizar por que ir a Docker?
Docker esta orientado a la aplicación
Virtualización esta orientado a la plataforma
Mejor uso de recursos para maquinas virtuales o HW físico
La comparación de que es mejor no aplica
Docker puede correr sobre máquinas virtuales
No son tecnologías excluyentes, mas bien complementarias
Docker Registry
• Repositorio de imágenes • Base para la reutilización • Registro de aplicaciones • Accesible a través de la red • Cada desarrollador puede registrar
nuevas imágenes • Es base fundamental para el ecosistema
de una arquitectura dockerizada
Arquitectura Docker (Ecosistema)
Arquitecturas Productivas
Docker Compose
¿Qué es docker compose? • Una Herramienta capaz de orquestar y
crear un pequeño ecosistema para dos o mas contenedores como un solo servicio
Docker Compose
• Cada contenedor ejecuta una y solo una aplicación • La escalabilidad se logra a través de la composición de
contenedores • Los contenedores pueden cooperar entre ellos y formar redes
mas complejas a través de Docker Compose • Docker Compose posibilita la composición de Stack de
aplicaciones: Ej. Web Server + Base de datos • Ayuda la creación de un ecosistema mucho mas rico • Es esencial para crear aplicaciones multi-capa.
Docker-Compose
Docker Swarm
Docker SwarmArquitectura General
Docker SwarmArquitectura General
Docker SwarmBalancing
Docker en Números
En comparación