Getty Images
Cómo reducir el costo de Kubernetes
¿Se le está yendo de las manos la factura de Kubernetes? Por suerte, hay formas de reducir los costos. Siga estos cinco pasos para reducir los costos sin perder funcionalidad.
La computación en la nube debe dar soporte a las aplicaciones de forma eficiente, y la rentabilidad forma parte de ello. Por desgracia, muchas implantaciones de Kubernetes se centran en las capacidades técnicas de las operaciones y no tienen en cuenta los costos asociados a sus beneficios. Al reducir los costos de la nube, las organizaciones deben tener en cuenta las mejores prácticas de gestión de costos, pero las implantaciones de Kubernetes pueden requerir una atención especial.
Antes de profundizar en la gestión de costos para las implantaciones de Kubernetes, considere la relación de costos entre las formas en que su organización utiliza Kubernetes en la nube. La estrategia más económica para la mayoría de las empresas es implementar el software y las aplicaciones de Kubernetes en máquinas virtuales en la nube. Esto ofrece a las organizaciones las mayores opciones de control de costos y funciona igual de bien en el centro de datos que en la nube.
Para saber cómo reducir el costo de Kubernetes, nos centraremos en cómo abordar Kubernetes con el alojamiento de VM. Es probable que los servicios gestionados de contenedores y Kubernetes tengan costos de servicio más elevados, aunque podrían ahorrar costos de operación. Antes de realizar cualquier cambio significativo en su enfoque, vea si un modelo de alojamiento de Kubernetes diferente sería una mejor opción.
Comience con herramientas
Para iniciar las iniciativas de gestión de costos, decídase por una herramienta de gestión de costos de Kubernetes. La mayoría de las empresas que intentan analizar y reducir los costos de Kubernetes utilizan Kubecost, una herramienta de código abierto que analiza el entorno de TI para recomendar estrategias de reducción de costos. Aunque Kubecost es una gran estrategia empresarial, es excesiva para las organizaciones más pequeñas o las empresas con un uso limitado de Kubernetes. Algunos usuarios prefieren otras herramientas, como CloudForecast. Las herramientas de monitorización de Kubernetes también pueden impulsar el análisis de costos y la optimización, pero requieren más trabajo.
Es importante que las herramientas y prácticas de gestión de costos de Kubernetes se adapten a las políticas de devolución y revisión de costos. La mayoría de las organizaciones no supervisan los costos de la nube de forma centralizada si se asignan a las unidades de negocio, y esto puede dejar grandes agujeros en la visibilidad de los costos. Si las implantaciones de Kubernetes comparten componentes, puede ser difícil discernir si son ineficientes o se utilizan más de lo esperado.
Analizar el uso de recursos
Lo siguiente que hay que tener en cuenta para reducir el costo de Kubernetes es cómo las aplicaciones utilizan los recursos. La mayoría de las implantaciones de Kubernetes en la nube en las VM se basan en una combinación de instancias reservadas y bajo demanda, y algunas incluyen componentes sin servidor. El paso de reservado a sin servidor conlleva mayores costos cuando las aplicaciones se ejecutan, pero se equilibra al no pagar por los recursos ociosos.
El escalado de Kubernetes puede empujar a las organizaciones de TI hacia las instancias bajo demanda, lo que implica mayores gastos de alojamiento. El alojamiento de funciones puede crear variaciones de costos aún mayores bajo carga, así que explore el ciclo de trabajo del conjunto de aplicaciones y asigne suficientes instancias reservadas para soportar sus cargas de trabajo medias.
Gestione las instancias y el tráfico
Una práctica recomendada relacionada es la optimización de las instancias de Spot de AWS. Las Instancias Spot son los recursos de la nube más baratos, pero no siempre están disponibles. Si tiene aplicaciones o componentes que se utilizan con poca frecuencia y puede tolerar un retraso en la ejecución para comprobar la disponibilidad de las instancias puntuales, esto a menudo puede reducir los costos de forma significativa.
Otro problema de escalado que surge en la redistribución de componentes fallidos es el cruce accidental de fronteras. Casi todos los proveedores de la nube cobran por el tráfico de entrada y salida, y mover un componente desde su punto de alojamiento normal a algún lugar al otro lado de la frontera, como en la nube o a través de los límites de varias nubes, supondrá costos adicionales. Ajuste Kubernetes a través de afinidades, manchas y tolerancias para evitar estirar los flujos de trabajo de las aplicaciones a través de una frontera donde se aplicarán cargos por tráfico.
Mapear adecuadamente los recursos
Además de un ajuste ineficiente de Kubernetes, una fuente importante de sobrecostos es no adecuar los requisitos de recursos de los contenedores a los recursos de los nodos. Existe la tentación de simplificar un despliegue de Kubernetes limitando el número de clases de recursos diferentes utilizadas. Algunos profesionales creen que tener varias clases de recursos fragmentará el conjunto de recursos y disminuirá la eficiencia.
Pero ejecutar un contenedor con necesidades modestas de recursos en un nodo que suministra más que suficiente de algo desperdicia dinero. Observe cuántos recursos se desperdician por este tipo de exceso de suministro, y rediseñe las clases de recursos de los contenedores y las políticas de despliegue de Kubernetes para utilizar mejor los nodos y reducir el exceso.
Evaluar las opciones de los proveedores
Un último paso lógico para reducir los costos es explorar otras opciones de proveedores de nube. A menudo hay diferencias significativas en los costos de las implementaciones de Kubernetes entre los proveedores de la nube. Todos los principales proveedores tienen herramientas de estimación de costos, y si está tratando de reducir los costos, en lugar de estimar el costo de una nueva implementación de Kubernetes, esto proporcionará datos suficientes para obtener una estimación de costos realista.
Si su organización encuentra otro proveedor cuyo estimador muestra un potencial ahorro de costos al cambiar, realice una prueba piloto para validar la estimación y para calcular el costo potencial de cambiar las aplicaciones. Por lo general, cuantos más servicios web del proveedor utilice una aplicación, más caro resultará.
Sean cuales sean las medidas que tome su organización para reducir su factura de Kubernetes en la nube, tenga en cuenta que la reducción de los costos de la nube puede suponer un aumento de los costos de las operaciones o afectar a la calidad de la experiencia del usuario (QoE). Explore cada medida en su totalidad para descubrir cualquier impacto potencial de Opex o QoE, o podría terminar reduciendo los costos en un lugar solo para aumentarlos –o reducir los beneficios de la aplicación– en otro.