Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

Introducción a Docker

En ocasiones nos encontramos con clientes que realizan 100 despliegues en sus aplicaciones en un año para actualizar sus desarrollos. Esto conlleva muchas horas de implementación entre los diferentes entornos.

¿Cómo podríamos reducir ese tiempo de implementación y costes derivados de todo ello? El uso de Docker es la solución 😉

introducción a docker

Docker es una tecnología que nos va a permitir desplegar aplicaciones rápidamente, con la facilidad de poder hacerlo en diferentes entornos con los menores errores y tiempos posibles.

¿Cuántas veces has sufrido un conflicto entre versiones de librerías que usan 2 desarrollos diferentes y que provoca fallos al actualizar una de ellas? Docker es perfecto para aislar desarrollos.

El uso de Docker se caracteriza por cuatro cualidades:

  • Aislamiento. Aislamos problemas de librerías compartidas con otros sistemas
  • Agilidad. Velocidad para un desarrollador y despliegues por parte de Operaciones IT
  • Portabilidad. Tenemos la garantía de poder mover un Docker de un entorno a otro y estar seguros de que el comportamiento es el mismo en cualquier de ellos
  • Coste. Menos horas de implementación y de adaptación de entornos

¿Cómo se consigue todo esto?

introducción a docker

Por un lado, los desarrolladores solo se centran en desarrollar su código sin preocuparse si su código funcionará sobre un entorno u otro.

Eso a su vez provoca que la gente de QA pueda centrarse igualmente en realizar pruebas teniendo la certeza que en el entorno de Pruebas el comportamiento será el mismo que en el entorno de Producción.

Así mismo el departamento de Sistemas, por un lado, ahorra coste en cuanto a que un Docker requiere menos recursos que una Máquina Virtual y, por otro lado, los tiempos de despliegue de dichos Dockers.

¿Qué diferencia existe entre Docker y una Máquina Virtual?

En una Máquina Virtual incluye la aplicación, los binarios y librerías necesarias y todo un sistema operativo.

Los Dockers incluyen la aplicación y todas sus dependencias, pero comparten el núcleo con otros Dockers. Corren como un proceso aislado en el espacio de usuario en el sistema operativo anfitrión. Así mismo, no están vinculados a ninguna infraestructura específica.

introducción a docker

Los dockers se pueden escalar en función a los recursos que necesite cada docker. De tal manera que podemos asignarle recursos en función a las necesidades de cada momento.

introducción a docker

Docker hasta ahora solo estaba disponible en Linux, pero va a estar disponible en Windows Server 2016, actualmente está en fase Preview.

introducción a docker

En definitiva, Docker te va a permitir hacer unos despliegues de desarrollos más agiles con un menor esfuerzo. 

*No te pierdas la charla que damos Adrián Díaz y un servidor en el Global Azure BootCamp de Madrid el próximo 16 de abril sobre “Docker para desarrolladores .NET”.

 

Esta entrada ha sido publicada en Azure. Enlace permanente.
ENCAMINA, piensa en colores