Optimizar equipos con contenedores Docker

Vamos a seguir profundizando en como optimizar equipos de desarrollo.

Ya vimos en una entrada anterior que podíamos optimizar equipos mediante el concepto del aula invertida.  Con este planteamiento vimos que podíamos mejorar la formación de nuestro equipo para reducir los tiempos que necesitan para ser productivos.

Infraestructura

En esta ocasión vamos a tratar otra de las formas de malgasto de tiempo en nuestros equipos como es el tiempo dedicado a las infraestructuras, lo que popularmente se conoce como la «fontanería».

Visión histórica

Antiguamente cuando empezó toda esta arquitectura de aplicaciones basadas en el Web las aplicaciones solían ser bastante sencillas. Normalmente un servidor de aplicaciones y una base de datos y como librerías la de logs y el driver de acceso a base de datos. Y poco mas se usaba.

Hoy día en cambio las aplicaciones son bastante mas complejas, debido a que nuestros clientes nos exigen mas funcionalidades.

Porqué se dedica tanto tiempo a la infraestructura

El hecho de que las aplicaciones sean mas complejas y requieran de innumerables librerías, servidores de cache, de mensajería,  gestores de contenidos, de portales, etc, hace que la instalación de todas esas herramientas sea complejo.

En los entornos web normalmente el desarrollador suele tener la infraestructura instalada en su ordenador local. Lo que hace que los desarrolladores tengan que replicar todos esa infraestructura en su ordenador.

A proyecto mas grande, mas actualizaciones suele haber. Actualizaciones que el desarrollador tiene que incorporarse en su ordenador. Y al final si se hace a mano se dedica mucho tiempo.

Docker optimiza el desarrollo

Docker permite crear una infraestructura mediante una sintaxis muy sencilla y tenerla disponible para los desarrolladores, de tal forma que cualquier programador se pueda conectar al servidor de imágenes Docker, seleccionar la que necesite y bajarla a su ordenador.

Esto hace que sea relativamente sencillo distribuir a los desarrolladores servidores correctamente configurados para el proyecto en que se esté trabajando.

Con esta herramienta podemos reducir los tiempos necesarios para tener la infraestructura en local, tenerla documentada y de forma reproducible.

Formación en Docker

Si te interesa profundizar en Docker y lo que puede aportarte en la optimización del equipo de desarrollo, tengo un curso en Docker con lo que necesita saber un equipo de desarrollo sobre Docker.