De la Virtualización a Docker: Mi viaje como eterno estudiante(Freaky) de la informatica
Adal Michael García | mié Dic 24
A lo largo de mi vida como apasionado y estudiante de por vida de la informática, el concepto de la virtualización es algo que he usado innumerables veces. Ya sea para realizar pruebas, experimentos o incluso llevando algunos proyectos a producción, la virtualización ha sido una compañera fiable y de gran ayuda gracias a su —entre comillas— fácil mantenimiento.

Sin embargo, si hay un "pero" que ponerle, es precisamente el mantenimiento de esos recursos. Por las mismas características de la virtualización tradicional, gestionar esos entornos puede volverse algo tedioso.

El cambio de paradigma: Del recurso reservado al recurso compartido
Con la llegada de Docker, el concepto cambió radicalmente. Pasamos de reservar recursos específicos para una función (con todo el peso que eso conlleva) a compartir esos recursos de manera mucho más eficiente con las demás aplicaciones. Este acierto me ha permitido exponenciar mis opciones y, sobre todo, mi velocidad para reutilizar, desarrollar y aplicar nuevas funcionalidades.
Explicar el uso de la virtualización o Docker a una persona ajena a la tecnología es complicado, principalmente porque este mundo ha pasado por muchos cambios y mejoras, cada una especializada para un tipo distinto de uso:
- Virtualización Completa: Si queremos traer a la vida un equipo informático antiguo, no nos queda otra que realizar una virtualización completa de ese hardware.
- Paravirtualización: En los casos donde la emulación del hardware es parcial, recurrimos a la paravirtualización.
- Contenedores (Docker): Pero si lo que queremos es solo aislar el entorno y compartir el núcleo del Sistema Operativo, aquí es donde Docker entra en escena.
Docker en el día a día del desarrollador
Como desarrollador, durante mucho tiempo dependí de la paravirtualización para llevar a cabo mis proyectos. Pero con Docker, la configuración de los ambientes de desarrollo se vuelve mucho más agradable. Poder guardar esas configuraciones, replicarlas exactamente para cada proyecto y aislarlas en contenedores diferentes evita conflictos o esos típicos problemas de configuración que surgen después.
# Un solo comando para levantar todo un entorno
docker-compose up -d
El corazón de mi HomeLab
Luego, con el surgimiento del HomeLab, Docker se ha convertido en el protagonista indiscutible. Es la herramienta que da vida a mis servidores locales para todo tipo de trabajos:
- Servidores DNS.
- Bloqueadores de anuncios (como Pi-hole o AdGuard).
- VPNs para acceso seguro.
- Gestores de tareas y almacenamiento de fotos.

Todavía tengo mucho que descubrir en este enorme ecosistema, pero por aquí les seguiré contando mi experiencia conforme siga explorando.
¿Y tú? ¿Sigues reservando recursos o ya te pasaste a la eficiencia de los contenedores?