
[31/01/2023] AWS recientemente comenzó a ofrecer Kubecost -una herramienta de monitoreo y gestión de costos en Kubernetes- para ayudar a los clientes a controlar los gastos en Enterprise Kubernetes Service (EKS). Es un paso inusual para AWS, que subraya la complejidad de la gestión de costos de Kubernetes para los equipos de desarrollo de hoy.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Kubecost le permite realizar un seguimiento de los costos de sus recursos de Kubernetes por namespace, implementación, servicio, clúster, pod o conceptos organizacionales como equipo, departamento o aplicación. Pero si bien la visibilidad de los costos es un primer paso necesario, no es todo lo que se necesita para controlar los costos de Kubernetes.
A continuación, algunas pautas para comenzar a instituir prácticas de gestión de costos de Kubernetes en su organización.
Principios de gestión de costos de Kubernetes
Existen algunos principios fundamentales cuando se trata de la gestión de costos de Kubernetes. Estos principios no involucran cálculos numéricos, sino que lo preparan para el éxito en la gestión de costos.
Cree una cultura de gestión de costos: La gestión de costos de Kubernetes, al igual que la gestión de costos de la nube, es una tarea compleja. Deberá cultivar la experiencia en gestión de costos de Kubernetes en toda su organización, comenzando por brindar a sus desarrolladores y personal de finanzas las habilidades y herramientas necesarias para administrar los costos de Kubernetes. En muchos sentidos, Kubernetes se adapta perfectamente a una iniciativa de gestión de costos en la nube que ya esté realizando.
La colaboración es su copiloto: La administración exitosa de costos de Kubernetes no ocurre en un silo. En cambio, requiere la colaboración entre los miembros del equipo, especialmente entre Ingeniería y Finanzas. La optimización de costos no suele ser parte del conjunto de habilidades de un desarrollador. Kubernetes tampoco formará parte del conjunto de habilidades de un contador. Sin embargo, el contador sin duda cuestionará el alto costo de los servicios en la nube, especialmente los costos descontrolados de los contenedores. Una herramienta de gestión de costos le brinda a su equipo de desarrollo una forma de realizar ajustes menores en la configuración de contenedores o Kubernetes para reducir costos o ayudarlos a crear un caso de negocios para un presupuesto adicional. Una herramienta de gestión de costos también puede servir como plataforma de colaboración entre desarrolladores y Finanzas.
Documente y eduque: Cuando haya acumulado suficiente experiencia entre organizaciones en Kubernetes y gestión de costos, es hora de documentar los procedimientos y procesos con respecto a cómo usa la herramienta elegida para calcular sus costos de Kubernetes. Dicha documentación podría tomar algunas formas:
- Capacitación interna sobre sus prácticas de gestión de costos,
- "Hojas de trucos” que documentan el uso de la herramienta elegida para calcular los costos de Kubernetes, y
- Ayudas de trabajo y capacitación básica que preparan a las partes interesadas, que no son expertos en Kubernetes, para que puedan interactuar con sus informes.
Gestión de costos de Kubernetes 101
Desarrollar una estrategia de gestión de costos de Kubernetes puede ser desalentador si su organización carece de experiencia significativa en Kubernetes. Pero una vez que su organización comprenda cómo calcular los costos relacionados con Kubernetes y haya encontrado una forma de rastrearlos, estará lista para el siguiente paso.
Este es el marco de una estrategia básica de gestión de costos para Kubernetes.
Dimensione correctamente su ambiente de Kubernetes para FinOps: Dimensionar correctamente su ambiente de Kubernetes es una estrategia de gestión de costos crucial. Es una estrategia en el que la cantidad y los tipos de recursos disponibles son adecuados para cualquier hoja de ruta que una organización de TI esté abordando con la nube, Kubernetes o contenedores. Esta configuración requiere una gestión cuidadosa de los recursos para controlar qué recursos están en uso y qué recursos están disponibles en espera para fines de adaptación de escala y failover.
La Cloud Native Computing Foundation (CNCF) recomienda apuntar al nivel de pod para FinOps: Tendrá que depender de la experiencia en Kubernetes de su organización para establecer límites y solicitudes de pod. Un pod puede contener varios contenedores. Querrá usar esta configuración para controlar el uso de recursos en todos los contenedores con el fin de limitar los recursos que requiere el pod.
Use etiquetas de Kubernetes para el seguimiento de costos: Sus equipos ya deberían estar familiarizados con el uso de etiquetas en sus proyectos en la nube para el seguimiento de costos. Deben usar las etiquetas de Kubernetes para identificar los objetos de Kubernetes y segmentarlos en grupos. El uso adecuado de etiquetas le permite a su equipo de finanzas identificar el uso de recursos, a nivel de pod, en diferentes aplicaciones y ambientes de Kubernetes.
Haga que el monitoreo de costos y las alertas formen parte de sus operaciones diarias: La gestión de costos de Kubernetes debe convertirse en parte de sus operaciones diarias. Brinde a sus desarrolladores las herramientas y estrategias para detectar y alertarlos automáticamente sobre solicitudes de CPU y memoria que excedan su uso actual, evitando así costos desperdiciados. Dicho monitoreo y alerta debe ser una extensión del monitoreo de la calidad del servicio que sus equipos ya están realizando.
Tómese el tiempo para iterar sobre la legibilidad y el diseño de los informes de costos que desglosan los costos de Kubernetes por implementación, servicio y etiqueta de namespace porque estos informes servirán como un lenguaje común entre sus equipos de desarrollo y finanzas. Hacer este trabajo contribuirá, en gran medida, a hacer que la gestión de costos de Kubernetes sea solo otra tarea de generación de informes automatizada, lo que eliminará algunos temores en torno al trabajo de gestión de costos.
Herramientas de gestión de costos de Kubernetes
Si bien las herramientas de gestión de costos de Kubernetes hacen grandes promesas sobre el ahorro de costos, no espere obtener grandes ahorros desde el principio. La gestión de costos viene con una curva de aprendizaje. Pero al ayudarlo a identificar ineficiencias, desperdicios y oportunidades para reducir costos, las herramientas de gestión de costos pueden generar ahorros significativos con el tiempo.
A continuación, tres herramientas de gestión de costos de Kubernetes para considerar.
- Kubecost: Kubecost es una herramienta de gestión de costos de Kubernetes con raíces de código abierto. Deberá actualizar desde la versión gratuita para el monitoreo ilimitado de clústeres, informes guardados, notificaciones y otras capacidades avanzadas. Pero todas las ediciones incluyen la asignación de costos, que desglosa los costos por namespace, implementación, servicios y otras variables entre proveedores on-premises y en la nube. Kubecost le permite ver sus gastos de Kubernetes y fuera delclúster en un solo lugar.
- CloudZero: CloudZero le permite ingestar cualquier inversión en software o nube, incluido Kubernetes. Promete datos de costos dinámicos y explorables, no informes estáticos. CloudZero no depende de las etiquetas para realizar un seguimiento de los gastos. Utiliza un lenguaje específico de dominio patentado para organizar sus gastos en un archivo YAML. La capacidad de asignar recursos no etiquetados y no etiquetables convierte a CloudZero en una solución atractiva para los desafíos de la gestión de costos de Kubernetes.
- Loft: Loft es un plano de control de Kubernetes diseñado para autoservicio y multiusuario. Funciona con clústeres de Kubernetes estándar de la industria, incluidos Amazon EKS, Google Kubernetes Engine y Rancher. Loft le permite configurar y automatizar la detección de namespaces inactivos y clústeres virtuales después del período que elija. Puede establecer cuotas de cuenta para limitar la CPU, la memoria y otros factores que pueden agregarse en todos los namespaces yclústeres virtuales que pertenecen a un equipo o usuario individual. También puede configurar una eliminación automática para instancias efímeras después de un período de inactividad que establezca. Loft incluye una integración de Prometheus y paneles de Grafana para permitirle configurar paneles de monitoreo.
La capacidad de sus equipos para aprender continuamente, iterar y automatizar -todo parte de una cultura DevOps- será parte integral del crecimiento y la madurez de sus prácticas de gestión de costos de Kubernetes. La creación de informes de costos detallados también ayudará a garantizar que sus desarrolladores puedan colaborar con Finanzas y otras partes interesadas del negocio en un idioma que todos entiendan.
Basado en el artículo de Will Kelly (InfoWorld) y editado por CIO Perú
Puede ver también: