Pirobits
  

Cambio de rumbo II: adiós docker

alberto avatar Alberto Sola · 6/15/2023 · 3 min

Hoy te quiero contar por qué a pesar de encantarme Docker y utilizarlo a diario tras varios años, he dejado de usarlo para pequeños proyectos. ¿Por qué? Por la complejidad extra que me añade a día de hoy y que no necesito.

Introducción

En el post anterior te cuento que he usado este blog como campo de pruebas para experimentar con tecnologías y proveedores cloud, siendo React con Nextjs la tecnología que había elegido en general para desarrollarlo. Recientemente he preferido transicionar a un sistema de plantillas html clásico, para reducir la complejidad y ahorrar tiempo.

En este post quiero contar el segundo cambio: por qué he reducido el uso de Docker, tanto en producción como en desarrollo local.

Cambio de rumbo

Docker me parece una herramienta muy útil a la hora de trabajar en entornos complejos: si usas la misma imagen te ayuda a minimizar errores debido a diferencias de versiones o dependencias en tus diferentes entornos, entre otras ventajas.

En mi caso quiero simplificar el proceso de despliegue y, para un blog, utilizar cualquier sistema de contenedores en AWS (ECS, FARGATE, EKS…) eleva el coste para mis necesidades a día de hoy.

Mi principal punto para plantearme dejar docker ha sido el tamaño de la imagen que generaba: casi de 1Gb, y aunque realicé múltiples optimizaciones (os puedo contar sobre esto en otro post), no bajaba de los 700MB. Esto ocasionaba que mi máquina EC2 se quedaba prácticamente sin almacenamiento debido a los GB generados por docker. Sí, en cloud es muy fácil redimensionar el almacenamiento, el cual tampoco es muy caro, pero ¿por qué no probar otras alternativas, aprender y de paso ver si optimizo el proceso? Además me suponía mantener un ECR, orquestar manualmente los contenedores con docker o docker-compose.

Aunque conozco estas herramientas tras varios años de uso diario, me pregunto: ¿qué me está aportando ahora mismo docker? ¿qué problemas me está solucionando?

Teniendo en cuenta que mi blog es mi campo de pruebas y que quiero optimizar mis recursos, es la oportunidad perfecta para analizar otras alternativas.

Si en el futuro veo que docker puede aportarme una ventaja en los procesos de desarrollo, construcción, despliegue o mantenimiento, lo usaré.

En mi nuevo camino estoy utilizando dos de mis lenguajes favoritos, que son Go y Rust. Además de ser muy eficientes, generan un binario optimizado para cualquier arquitectura (arm64, amd64, wasm…). Así que es el momento perfecto para probar, aprender, y de camino reforzar mis conocimientos de Go, Rust y AWS.

Ahora mi ejectuable apenas ocupa unos 22MB.

Nos vemos en el siguiente post 😉

Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.


Posts recientes