Infraestructura, nube y DevOps · Mixto

Contenedores: qué aportan y cuándo sobran

En una línea: Un contenedor empaqueta la app con todo lo que necesita para correr, de modo que se comporta igual en todas partes.

Qué problema resuelve

Hacer coincidir versiones y dependencias entre máquinas. En vez de instalar y configurar en cada servidor, construyes una imagen y la ejecutas en todas partes. De ahí también la facilidad de escalar: ejecutar otra instancia es cuestión de segundos.

Cómo construir una buena imagen

Una base ligera y actualizada, una construcción multietapa para que las herramientas de compilación no lleguen a la imagen final, un usuario sin permisos completos, y una etiqueta de versión explícita, no solo 'latest'.

No pongas secretos en la imagen. Se inyectan en tiempo de ejecución.

Cuándo no hace falta

Un sitio estático, una función pequeña, o un sistema que corre en una plataforma gestionada que lo maneja ella misma. Los contenedores añaden una capa que mantener; si no obtienes de ellos portabilidad o uniformidad, prescinde de ellos.

En profundidad

Escanea las imágenes en busca de vulnerabilidades en el proceso de construcción, y reconstruye en un ciclo regular aunque no haya cambios de código: la mayoría de las vulnerabilidades vienen de la capa base. Y fija una política de etiquetado clara para poder decir siempre qué versión exacta está corriendo ahora.