¿Por qué utilizar Docker en nuestros desarrollos?

Docker es una plataforma de código abierto para que administradores y desarrolladores puedan crear, empaquetar y distribuir sus aplicaciones rápidamente. Sirve para ejecutar máquinas virtuales ligeras que están compuestas por contenedores que se pueden agregar o quitar dependiendo de tus necesidades.

Esta funcionalidad no es trivial ni mucho menos, ya que agiliza enormemente los tiempos de desarrollo y mantenimiento de cualquier proyecto IT.

Ventajas de Docker

La principal ventaja del uso de Docker es que los desarrolladores pueden centrarse en su código sin tener que preocuparse de si dicho código funcionará en la máquina en la que se ejecutará.

Por ejemplo, si un desarrollador tiene en su ordenador instalado una versión de JAVA 8 y programa una función específica para esa versión, y otro desarrollador tiene instalado en su máquina la versión JAVA 7, cuando el primer desarrollador quiera probar su programa en la máquina del desarrollador que tiene una versión inferior, la aplicación fallará.

…Y aquí es donde aparece Docker, el primer desarrollador creará un contenedor de Docker con la aplicación, la versión 8 de Java y el resto de recursos necesarios, se lo pasa al usuario con la versión inferior, y éste con el Docker instalado en su máquina, podrá ejecutar la aplicación a través del contenedor sin tener que instalar absolutamente nada más.

Estos contenedores tienen unas características principales:

  • El contenedor se puede extender en cualquier sistema que soporte la tecnología.
  • Es ligero. Ocupa mucho menos que cualquier otro sistema de virtualización.
  • Los contenedores que se ejecutan en una misma máquina comparten Sistema Operativo.

Además, existen dos componentes esenciales:

  • Imágenes: Plantillas con unos sistemas y configuraciones que podríamos utilizar de base para fabricar nuevos contenedores o entornos.
  • Repositorios: Contienen imágenes creadas por los usuarios y pueden ser públicos o privados.

En resumen, si utilizamos Docker en nuestros obtendremos estos beneficios, algo que, sin duda, cualquier desarrollador agradecerá en el día a día de sus proyectos:

  1. Se acelera el proceso de mantenimiento y desarrollo, de manera que realizar una copia de los sistemas que están en producción y ejecutarlos en otro equipo, sea una tarea sencilla.
  2.  Las aplicaciones se ejecutan tal y como fueron creadas y no importa el equipo ni el ambiente (pruebas o producción).
  3.  En un escenario típico el cliente instalaría y configuraría MySQL y posteriormente la aplicación. Con Docker, ejecutando el contenedor estaría todo listo.
  4. En DevOps, tanto los desarrolladores como los administradores de sistema pueden probar aplicaciones en un entorno seguro y exactamente igual en todos los casos.
  5. Los throwable sandboxes. Con los contenedores se pueden componer sandboxes livianos y, además, prescindir de la instalación de una máquina virtual. Cuando se finaliza con ellos, se desechan.
  6.  En microservicios, los contenedores abastecen la velocidad de despliegue y separación ideales para dicha arquitectura.

Plantilla_dockersLos Servidores Cloud de Arsys cuentan con una plantilla configurada para Docker. Si quieres desplegar rápidamente una máquina con Docker, sólo hay que acceder al Panel de Control de Cloudbuilder Next y entrar en Infraestructura>Servidor> Crear y  seleccionar la opción Dockers con CentOS 7 en Aplicaciones.