25
An evening with… Docker Arkho Innova Meetup series September 2017

An evening with... Docker

Embed Size (px)

Citation preview

Page 1: An evening with... Docker

An evening with… DockerArkho Innova Meetup series

September 2017

Page 2: An evening with... Docker

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

Page 3: An evening with... Docker

Docker Container

Page 4: An evening with... Docker

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

Page 5: An evening with... Docker

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

Page 6: An evening with... Docker

¿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

Page 7: An evening with... Docker

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

Page 8: An evening with... Docker

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

Page 9: An evening with... Docker

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

Page 10: An evening with... Docker

“Contenerización” Vs Virtualización

Page 11: An evening with... Docker

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

Page 12: An evening with... Docker

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

Page 13: An evening with... Docker

Arquitectura Docker (Ecosistema)

Page 14: An evening with... Docker

Arquitecturas Productivas

Page 15: An evening with... Docker

Docker Compose

Page 16: An evening with... Docker

¿Qué es docker compose? • Una Herramienta capaz de orquestar y

crear un pequeño ecosistema para dos o mas contenedores como un solo servicio

Page 17: An evening with... Docker

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.

Page 18: An evening with... Docker

Docker-Compose

Page 19: An evening with... Docker

Docker Swarm

Page 20: An evening with... Docker

Docker SwarmArquitectura General

Page 21: An evening with... Docker

Docker SwarmArquitectura General

Page 22: An evening with... Docker

Docker SwarmBalancing

Page 23: An evening with... Docker

Docker en Números

Page 24: An evening with... Docker

En comparación

Page 25: An evening with... Docker