A causa de la digitalización y la constante evolución de las tecnologías web, la creación de una infraestructura web es cada vez más complicada y, sobretodo, compleja. Para estar al día (como cumplir con la normativa PSD2) es necesario añadir y combinar aplicaciones de diferentes proveedores, cada una con sus propios sistemas y lenguajes de programación. Como podéis imaginar, el resultado es un ecosistema complejo de mantener y coordinar. Es por ello que decidimos implementar una nueva infraestructura para Foxize Cloud: Docker.
¿Cómo funciona Docker?
Docker es un sistema de infraestructura que permite organizar los entornos de desarrollo. Está formado por contenedores independientes, permitiendo tener disponibles varios entornos que se pueden comunicar entre sí.
Podríamos comparar su estructura con la de una muñeca rusa. Docker encapsula funcionalidades concretas, como puede ser un servidor memcached, que en vez de tenerlas configuradas en el contenedor donde está alojado el código (la muñeca rusa más grande), está “externalizado” en un contenedor que se dedica solo a esta funcionalidad (las muñecas que se encuentran en su interior). Esto permite acceder a las diferentes funcionalidades sin afectar el código principal o viceversa, haciendo que el mantenimiento sea mucho más fácil.
Además, estos contenedores permiten uniformizar el área de trabajo de los desarrolladores y permiten acceder con mayor facilidad a las herramientas, independientemente del ordenador desde el que se acceda.
¿Qué ventajas nos aporta Docker?
- Nos permite optimizar la infraestructura de desarrollo.
- Mejora la productividad de los desarrolladores.
- La puesta en acción es mucho más rápida y eficiente.
- Rapidez en la resolución de problemas.
- Podemos escalar proyectos con mayor facilidad.
En definitiva, al tener una infraestructura basada en Docker, es mucho más fácil la gestión de los servicios.