#GlobalAzure para desarrolladores.NET Adrián Díaz Cervera Israel Urrea Carballo Arquitecto Software Arquitecto de Sistemas
Israel Urrea Carballo Nosotros Consultor Office365 y Azure at Encamina
Adrián Díaz Cervera Nosotros Software Architect Lead at Encamina MVP Office and Servers
■ Introducción a Docker ■ Terminología de los artefactos de Docker ■ Docker versus Maquina Virtual ■ Beneficios ■ Docker y los Microservicios Agenda
Introducción a Docker
Error despliegue Apps Colisión de aplicaciones Versiones de librerías distintas Dependencias Sistema Operativo Versión del Navegador FrameWork Empresas con software obsoleto ¿Cuál es el problema?
Inspiración de los contenedores
Múltiples mercancías Multitud de métodos de transporte y almacenamiento No me preocupa como interactúan los inmuebles entre si Se puede transportar la mercancía rápidamente y sin problemas Solución: Transporte en contenedores Y en medio pueden ser cargados y descargados, apilados, que se transportan en largas distancias y se cambian de un medio a otro Un contenedor que se carga con cualquier mercancía y permanece sellada hasta el destino final.
Una unidad de despliegue Corre en un SO En SO Virtualizados Arranque rápido Portable ¿Qué es un contenedor?
Proyecto de código abierto Automatiza el despliegue de App usando contenedores Proporcionando una capa adicional de abstracción y automatización a nivel de OS ¿Qué es ?
App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs App A’ Host OS Server Bins/Libs App A Bins/Libs App B App B’ VM Container Los contenedores están aislados pero comparten el kernel Guest OS Guest OS …el resultado es un despliegue más rápido, con menos costoso y más fácil VMs vs Containers Docker Deamon
No hay que preocuparse acerca de la configuración y el mantenimiento de los entornos Centrado en el desarrollo Acelera el desarrollo Evita problemas con el entorno Libertad de elección al desarrollador Cómo Docker ayuda a construir mejor software
Desarrollo orientado a Mobile First Cloud First Porqué utilizar Contenedores Contenedores ofrecen: productividad y libertad Abstracción para microservicios Desplegados en apps distribuidas en modelo IaaS/Paas Ejecución en cualquier entorno Familiación con los modelos de despliegue Estandarización de entornos: Desarrollo, QA y Producción Abstrae las diferencias entre los diferentes Sistemas Operativos Rápido escalado Integra personas, procesos y herramientas para optimizar el proceso de desarrollo Operaciones se centra en estandarizar las infraestructuras Developers se centran en construir, desplegar y testear sus apps
Deploy Docker desde Visual Studio
■ Docker Client Es la interfaz de usuario que permite la comunicación entre el usuario y el Docker Daemon ■ Docker Daemon Alojado en la máquina y se encarga de contestar las solicitudes. ■ Docker Hub Es un registro centralizado que permite la copia de seguridad de imágenes de contenedores tanto publicos como privados. ■ Docker Containers Los responsables de la ejecución de las aplicaciones: incluye app, archivos so y metadatos ■ Docker Images Templates de solo lectura que ayudan a lanzar contenedores ■ Docker File Fichero donde se indica todo el contenido del contenedor Revisión de términos
■ Cliente Docker vs host Docker El Cliente Docker es CLI Docker Host Docker es una VM ejecutando un daemon Docker ■ Image Docker vs Docker Container Image La definición Literalmente un solo fichero (My Web) Contenedor Una instancia de una imagen (3 instancias de My Web) ■ Docker Hub – una colección de imágenes reutilizables 50,000+ imágenes WordPress, Nginx, Redis, MySql, Logstats Usar uno publico o crear un hub privado Algunas preguntas frecuentes
Como desplegamos nuestra APP - ASP.NET Host Machine Docker Deamon Container A Container B … Create Delete List
Deploy Docker con Comandos
“IMMUTABLE INFRAESTRUCTURE” WebSite -> Actualizas tu app usando Web Deploy or CI/CD Docker -> Reemplazas el contenedor en ejecución, no actualizas el viejo contenedor Despliegues reemplazan a las actualizaciones
Docker y los Microservicios
Microservicios
Combinar los servicios como nos interesen Escalar a nivel de microservicio Simplificamos el mantenimiento Su fallo no arrastra a todo el sistema El despliegue puede ser progresivo. Ventajas Microservicios
Como anillo al dedo: Un microservicio alojado en un contenedor Se puede escalar según necesidades Implementando Microservicios con Docker
App Servic es
DEMO TIME
Preguntas !! Adrián Díaz Cervera Software Architect Lead at Encamina MVP Office and Servers Israel Urrea Carballo Consultor Office Azure en Encamina
Thanks!