¿Por qué usar Docker? Cuando la infraestructura se vuelve código

2018-06-06T11:33:09+00:00 14 mayo|

Hace algunas semanas fuí a un evento de tecnología en Buenos Aires y el speaker preguntó al auditorio ¿Quién conoce Docker? Sólo la mitad de los asistentes levantaron la mano. ¡Yo no podía creer que tan poca gente lo conociera y por eso mismo me decidí a hacer este post en el que quiero contarte qué es Docker para que empieces a usarlo en tus proyectos.

¿Qué es Docker? Es una plataforma que hace un nuevo y mejor uso de containers para automatizar el despliegue de aplicaciones. Como podrás encontrar en el sitio oficial de Docker, los desarrolladores y administradores de sistemas usan la plataforma para desarrollar, desplegar y poner en marcha aplicaciones con contenedores optimizando sus tiempos y facilitando sus tareas. Permite una independencia absoluta entre apps e infra, y entre IT ops y devs desbloqueando el potencial de cada parte para crear un modelo que mejora a la colaboración e innovación.

Lo bueno es que Docker te permite tener el control de cada una de las etapas en las vida de un producto. ¿Cómo? Todos los elementos de una aplicación, como el motor, el conjunto de librerías y el kernel o el software, pueden ser agrupados en un mismo contenedor y almacenados en nuestro disco para luego ejecutarlo de forma independiente del sistema operativo. Eso hace que puedas puedas transportar y ejecutar la aplicación donde quieras, sin que te tengas que preocupar por el software o pensar si tenés todos los elementos de la aplicación para iniciarla.
Con Docker, podemos trabajar con múltiples contenedores que comparten un mismo núcleo y asignar a cada CPU desde la que puede consumir. Gracias a esto, podemos trabajar con diferentes aplicaciones en simultáneo.
¿Por qué usar Docker? Son muchos las ventajas, pero acá van algunas de ellas.
Evitás tener que descargar y almacenar una gran cantidad de librerías ya que vas a poder desarrollar cada aplicación en contenedores independientes. Al mismo tiempo se reducen el número de residuos que se van quedando a medida que avanzás con el desarrollo y, el propio desarrollo se puede ejecutar en óptimas condiciones y en cualquier entorno que hayas definido.

Una cosa importante a tener en cuenta es que, a la hora de desplegar un contenedor, trabajaremos el sistema que hayas definido, al cual se le agrega la paquetería que consideremos necesaria y también podemos recurrir a versiones anteriores que se quedan almacenadas, para corregir errores o retroceder después de una modificación.
CONSEJO: En cualquier caso, lo mejor que podés hacer es dedicarle más tiempo a la correcta configuración de tu propio contenedor, de forma que a la larga te de más destreza y te permita encontrar los problemas más fácilmente.
Finalmente, vas a ahorrar mucho tiempo porque con Docker abrir un contenedor es muy fácil y, en consecuencia, vas a poder dedicar el 100% de tu esfuerzo al testing.
¿Cuáles son las ventajas de Docker?
● Es open source.
● Facilita el testing y facilita la tarea.
● Ahorra tiempo: te evita instalar diferentes softwares para ejecutar una App.
● Es muy sencillo crear y eliminar contenedores.
● Los contenedores se vuelven muy livianos: permite manejar varios dentro de una misma máquina.
● Es menos costoso: requiere menos espacio, menos menos máquinas y menos ordenadores.
● Da libertad de tener todo en un único lugar lo necesario para hacer correr una app
● Portabilidad. Al almacenar los contenedores en discos duros, se pueden transportar de un lugar a otro sin problemas.
● Repositorios Docker. “Banco de imágenes docker” creadas por usuarios a las cuales podemos tener acceso.
● Se acelera el proceso de mantenimiento y desarrollo gracias a las facilidades para generar copias.
● Las aplicaciones se ejecutan sin variaciones. Sin importar el equipo ni el ambiente.
● Facilita las visualizaciones al cliente gracias a que no tiene que instalar nada más que docker en su ordenador.
● Es un entorno seguro y no ofrece variaciones.

Espero que este post haya sido de ayuda y que, al igual que a nosotros en Toolbox, te animes a investigar y usar Docker en tus proyectos.

Y si sos de los que ya usaron Docker… nos encantaría saber cómo te fue.

—Reseña
Trabajar con Docker, la tecnología que optimiza el uso de contenedores de software, te permite ahorrar mucho tiempo. Aprovechalo para dedicar tu esfuerzo al testing y al lanzamiento de las apps. Si todavía te sobra tiempo leete más notas para desarrollar nuevas cosas 😉

Aporte: Tecnología

VOLVER A PRENSA