Una sola aplicación de EKS puede constar de varios recursos, dependiendo del tipo de aplicación. Puede haber microservicios que requieran varias dependencias diferentes para que todo funcione bien, o una combinación de recursos: un Namespace, una cuenta de servicio para proveer la carga de trabajo, un ConfigMap para almacenar los datos de configuración, un Secret para los datos confidenciales y un Service para exponer la aplicación. Esa aplicación, a su vez, puede ser administrada por un único manifiesto o por varios.
Este método puede derivar en errores, en particular si hay que correrla en distintos entornos. Cualquier cambio a un recurso de Kubernetes debe reflejarse en el manifiesto de cada entorno. Y si los entornos son varios, hay que modificar cada recurso de manera adecuada en cada manifiesto.
Verlo así hace que la estandarización de los recursos y el desarrollo de buenas prácticas se vean un poco vulnerados. Sin mencionar que no es flexible y que compromete, en algún punto, la productividad del equipo: la repetición de pasos implica no solo hacer cambios, sino hacerlos bien, sin errores. A eso se suma que las dependencias deben estar sincronizadas entre sí para que la aplicación funcione.
Por todo esto es que Helm es la herramienta que puede salvarnos las papas, si de gestión de paquetes se trata. Simplifica la instalación de recursos pertinentes con un solo comando, resuelve todas las dependencias a la vez, tiene un motor de plantillas que genera manifiestos automáticamente, y hace más fluido el ciclo de vida de las aplicaciones: el update, el rollback y la eliminación.
El Chart de Helm se usa para empaquetar los recursos y las dependencias de la aplicación, de modo que se desplieguen como una única unidad. Representa todos los recursos de Kubernetes asociados a la aplicación, y nos permite manejar variables, nombres y valores: no solo los actuales, sino también los del pasado y los que vamos a implementar como cambios.
En los libros de Tolkien, el Abismo de Helm es una fortaleza estratégica: protegida por una montaña y un precipicio a cada lado, desde allí se puede observar todo el paso de Rohan. Fue el escenario de una batalla decisiva donde los atacantes lograron entrar por primera vez en la historia — hasta que llegó Gandalf al mando del ejército del Folde Oeste y salvan el destino de la fortaleza de los rohirrim.
Helm es ese refuerzo estratégico. Cuando la gestión manual se vuelve insostenible, Helm llega para ordenar la batalla.
Con un solo movimiento, todas las piezas — dependencias, secretos, servicios — se alinean y se despliegan correctamente.
Y si la batalla va mal, Helm tiene el poder de retroceder el tiempo a una revisión anterior donde la fortaleza todavía era segura: el rollback.