UNIR Revista
Simplicidad y portabilidad son las dos principales características de Docker, una herramienta que cada vez aglutina a mayor número de usuarios.
Docker es una plataforma de software abierta diseñada para crear y ejecutar aplicaciones de un modo ágil y versátil. Entre sus ventajas está el hecho de que se puede trabajar con esta herramienta tanto en un ordenador como en la propia nube.
¿Qué es Docker?
Docker se encarga de distribuir y almacenar aplicaciones en contenedores, unidades que a su vez facilitan el desarrollo de estas. Para que un usuario cualquiera pueda utilizar una aplicación, debe estar alojada en un ordenador, que también necesita tener instalados todos los requisitos que la aplicación exige para poder funcionar correctamente.
Lo que Docker hace es ahorrar espacio en la máquina y generar un contenedor en el que además de almacenar la aplicación, guarda todos aquellos recursos que necesita para que pueda ser ejecutada. Siempre que el usuario quiera trabajar con esa aplicación podrá hacerlo a través del contenedor, que puede trasladar a cualquier dispositivo que tenga instalado Docker, independientemente de la versión de software que utilice.
Lo entenderás mejor con un ejemplo. En un equipo multidisciplinar, cada integrante utiliza su propio ordenador, y cada uno trabaja con sistemas operativos diferentes (Mac OS, Windows, Linux, Ubuntu…). Uno de ellos le pide al resto que realice determinadas comprobaciones en el uso de una aplicación que acaba de diseñar. Esto podría suponer un caos, teniendo en cuenta que, al no compartir sistema operativo, con toda seguridad alguno no podría ejecutar la aplicación o, de hacerlo, podría producirse algún fallo. Pero si el compañero que la ha creado recurre a Docker, contará con un contenedor en el que almacenará tanto la aplicación como los recursos que necesita. Ese contenedor se lo pasa al resto de compañeros, que a partir de ahí podrán ejecutar la aplicación sin necesidad de instalar nada más en sus ordenadores.
Funciones y ventajas de Docker
Para un desarrollador, Docker es clave, ya que se presenta como la herramienta que le garantiza no tener que preocuparse por si el código con el que trabaja funcionará en determinado ordenador.
En el caso del testing, es una alternativa perfecta, ya que trabajar con contenedores es muy sencillo. Además de ser fáciles de crear y eliminar, algo muy importante en entornos de prueba, también son muy ligeros y, por esa razón, podemos trabajar con más de uno al mismo tiempo sin que suponga un sobreesfuerzo para la máquina.
Los contenedores, aunque son una forma de virtualización, no son máquinas virtuales. Ocupan menos espacio, puesto que son más ligeros, pueden trabajar con más aplicaciones y, al no tener que cargar un sistema operativo completo, el tiempo de arranque es muchísimo menor. Las máquinas virtuales (VMs), además de aplicaciones, tienen una copia completa de un sistema operativo, de ahí que ocupen muchísimo más espacio y sean más lentas, lo que también hace que necesiten más recursos de hardware.
Docker facilita el trabajo con sistemas operativos diferentes pero también con distintos lenguajes de programación (Java, JavaScript, Phyton, Swift).
Otra de las ventajas de Docker está en la seguridad. Esta herramienta garantiza que cada aplicación almacenada en contenedores esté aislada por completo del resto, lo que permite un mayor control sobre su gestión y seguridad. Es imposible que un contenedor pueda acceder a lo que se guarda en otro. En el caso de un ataque de malware o virus, no se producirá un contagio en cadena.
Todas estas cuestiones se abordan dentro del plan de estudios de los ciclos de FP online de Edix, Técnico Superior en Desarrollo de Aplicaciones Web (DAW) y Técnico Superior en Desarrollo de Aplicaciones Multiplataforma (DAM). Esto es así porque tanto para el diseño, la gestión o el mantenimiento de aplicaciones web o multiplataforma, Docker es una herramienta imprescindible.