Whitepaper 'FinOps y gestión de costes para Kubernetes'
Considere darle a OptScale un Estrella en GitHub, es 100% de código abierto. Aumentaría su visibilidad ante los demás y aceleraría el desarrollo de productos. ¡Gracias!
Ebook 'De FinOps a estrategias comprobadas de gestión y optimización de costos en la nube'
OptScale FinOps
OptScale - FinOps
Descripción general de FinOps
Optimización de costos:
AWS
MS Azure
Nube de Google
Alibaba Cloud
Kubernetes
MLOps
OptScale - MLOps
Perfiles de ML/IA
Optimización de ML/IA
Perfilado de Big Data
PRECIOS DE ESCALA OPTICA
cloud migration
Acura: migración a la nube
Descripción general
Cambio de plataforma de la base de datos
Migración a:
AWS
MS Azure
Nube de Google
Alibaba Cloud
VMware
OpenStack
KVM
Nube pública
Migración desde:
En la premisa
disaster recovery
Acura: recuperación ante desastres y respaldo en la nube
Descripción general
Migración a:
AWS
MS Azure
Nube de Google
Alibaba Cloud
VMware
OpenStack
KVM

Por qué las empresas necesitan rastrear y analizar los costos de Kubernetes

Existen dos enfoques principales para la virtualización: las máquinas virtuales (VM) y los contenedores virtuales, cada uno con sus ventajas y desventajas. En el primer caso, cada máquina utiliza su propio sistema operativo invitado, lo que permite la creación de entornos informáticos heterogéneos en un servidor físico. Los contenedores virtuales, en lugar de un sistema operativo, solo tienen un entorno de usuario, lo que permite crear entornos informáticos homogéneos.

Sin embargo, dado que las máquinas virtuales incluyen un sistema operativo, pueden tener un tamaño de varios gigabytes, lo que limita considerablemente su utilidad en el ágil mundo actual. Otra desventaja de las máquinas virtuales es que cargar el sistema operativo y sus aplicaciones lleva mucho más tiempo. 

Los contenedores son más livianos y generalmente se miden en megabytes. Además, son más fáciles de escalar e implementar aplicaciones. Esto crea un ecosistema de infraestructura completamente nuevo con nuevos desafíos y complejidades. Las empresas de TI, tanto grandes corporaciones como empresas emergentes, implementan miles de instancias de contenedores diariamente y, por lo tanto, deben administrar de alguna manera esta abrumadora cantidad.

Kubernetes, una plataforma de orquestación de contenedores para implementar, escalar y administrar aplicaciones en contenedores, fue diseñada para resolver este problema. Con el tiempo, K8s se ha convertido esencialmente en la plataforma estándar de la industria y el proyecto insignia de la Cloud Native Computing Foundation, respaldada por líderes del mercado: Google, Amazon, Microsoft, IBM, Alibaba Cloud y muchos otros.

Kubernetes ganó popularidad debido a varias ventajas, entre las que se destacan las siguientes: es escalable, rentable y no depende de la nube. Sin embargo, las herramientas contenedorizadas tienen ciertas desventajas, incluida la complejidad de rastrear los costos de la nube y administrar las finanzas. En este artículo, describiremos cómo abordar esta cuestión y por qué es esencial no pasarla por alto.

Why companies need to track Kubernetes costs

Por qué es difícil analizar los costos de Kubernetes

Antes de la adopción generalizada de la tecnología de contenedores, la asignación de recursos en la nube y la optimización del uso de la nube eran mucho más sencillas. Todo lo que se requería en este caso era la atribución de recursos específicos a un proyecto o departamento específico. No será difícil para un equipo de FinOps (si es parte de su equipo de TI) elaborar un desglose de los costos de la nube y armar una estrategia de optimización de costos de la nube. Si desea obtener más información sobre el papel de FinOps y los posibles beneficios que puede brindar a las empresas, Por favor consulte este artículo.

Lamentablemente, este enfoque no es aplicable a las herramientas de contenedorización en general y a Kubernetes en particular. ¿Por qué resulta tan difícil definir y analizar el costo de Kubernetes?

La dificultad de realizar un seguimiento de los costos de Kubernetes surge de su arquitectura. En su núcleo hay un clúster que consta de numerosas máquinas virtuales (o físicas): nodos. En esos nodos, se implementan y lanzan contenedores que contienen varias aplicaciones.

Supongamos que varios departamentos de su empresa trabajan en distintas aplicaciones que se ejecutan dentro de contenedores y, casualmente, comparten clústeres de Kubernetes comunes. Como cada aplicación se lanza en varios contenedores simultáneamente, es casi imposible determinar cuál utiliza qué parte de los recursos de qué clúster. Si bien es posible calcular el costo de un contenedor y no es demasiado complicado, aún requiere infraestructura y tiempo, y la complejidad aumenta en proporción a la cantidad de contenedores utilizados.

Hasta ahora, hemos considerado la situación en el marco de una sola nube. Pero, ¿qué sucede si su empresa, como la mayoría de las organizaciones de TI modernas de hoy, utiliza la nube múltiple? (Lea sobre los beneficios y las mejores prácticas de un enfoque multicloud en nuestro artículo) En este caso, el monitoreo de costos crecerá muchas veces: cada una de las nubes dentro de esta multicloud puede tener un proveedor de servicios diferente y asumir solo una parte de la carga de trabajo total porque Kubernetes puede trabajar con AWS, Microsoft Azure, Google Cloud Platform, Alibaba Cloud y muchos otros.

Además, la intensidad de los recursos de sus aplicaciones puede cambiar con el tiempo, lo que impone dificultades adicionales para calcular los costos. Por lo tanto, la herramienta fácil de usar Herramientas VPA (Vertical Pod Autoscaler) y HPA (Horizontal Pod Autoscaler), que, respectivamente, ajustan automáticamente el límite en la cantidad de solicitudes a un solo contenedor y la cantidad de contenedores utilizados, se convierten en variables adicionales difíciles de factorizar al intentar rastrear y administrar los costos actuales de Kubernetes y, por supuesto, predecir costos futuros. .

Otro problema es que la vida útil de un contenedor es de solo un día y las funciones se ejecutan en Kubernetes en cuestión de minutos o incluso segundos. Una vez más, este dinamismo es una ventaja definitiva desde el punto de vista de un ingeniero de TI, pero se convierte en un dolor de cabeza cuando se trata de seguimiento y gestión de costos.

Por qué es importante analizar los costos de Kubernetes

Todo lo anterior es la otra cara de las herramientas de contenedorización: un precio a pagar por la extraordinaria conveniencia, flexibilidad y agilidad que aporta Kubernetes. Aunque la infraestructura construida de esta manera tiene un alto potencial de optimización automática, la falta de un control de costos suficiente puede llevar a consecuencias tristes, incluida la posibilidad de que la factura de la nube se salga de control.

¿Por qué puede ocurrir esto? Para muchos equipos de TI, la productividad y la velocidad de entrega suelen tener prioridad sobre el presupuesto. En este caso, este último puede verse afectado debido a gastos imprevistos. Una intervención puntual del departamento de TI no puede resolver este problema porque los técnicos seguirán priorizando las aplicaciones y el código de alto rendimiento sobre los costos.

Las herramientas de escalado automático que se analizaron en la sección anterior no solo son una variable difícil de tener en cuenta desde el punto de vista del control de costos de Kubernetes, sino también una posible bomba de tiempo que se puede colocar en el presupuesto de su empresa si las políticas de escalado se dejan al azar. Supongamos que los límites de escalado no se establecen correctamente o que no se tienen en cuenta casos extremos potencialmente peligrosos. En ese caso, esto puede dar lugar a un aumento drástico de la escala que provocará un aumento drástico de los costos.

Cómo rastrear y administrar los costos de Kubernetes

Como ya dijimos, rastrear y gestionar los costos de Kubernetes es muy difícil, pero existen numerosas técnicas que pueden ayudarlo a analizarlos y eventualmente controlarlos.

Etiquetado adecuado de los recursos

Probablemente ya esté familiarizado con el etiquetado de recursos en la nube. En el caso de Kubernetes, se utilizan las llamadas etiquetas en lugar de etiquetas. Si usted y sus ingenieros se encargan de etiquetar los recursos utilizados, facilitará considerablemente su búsqueda e identificación en el futuro. Es importante tener en cuenta este proceso para que luego pueda desglosar sus recursos según varios parámetros relevantes. La implementación exitosa de una estrategia de este tipo requerirá la participación activa de todos los miembros del equipo de TI; de lo contrario, esta idea inicialmente buena puede generar aún más confusión.

Visualización utilizando Prometeo

Los sistemas de monitoreo de código abierto como Prometheus pueden ayudarlo significativamente a visualizar sus costos. La visualización competente, a su vez, es un gran paso hacia un análisis competente.

Uso adecuado del escalado automático

El escalado automático es una característica fundamental de Kubernetes y, con su ayuda, se pueden gestionar fácilmente las cargas de trabajo. Ya hemos mencionado dos de ellas: Escalador automático de pod vertical y escalador automático de pod horizontalAún así, hay En realidad, hay dos más disponibles: Kubernetes Event-Driven Autoscaler y Cluster Autoscaler, donde el primero administra el escalado de cualquier contenedor en Kubernetes en función de la cantidad de eventos que se deben procesar, mientras que el segundo se ocupa del escalado automático en el nivel de clúster y nodo. Dicho esto, es un desafío hacer que funcionen juntos correctamente: no solo debe ceñirse a las numerosas prácticas recomendadas y ajustar las configuraciones en función de sus escenarios, sino que también debe

Cómo elegir las instancias de nube adecuadas

El costo de Kubernetes depende directamente de qué tan bien se seleccionen las instancias de la nube. Es fundamental garantizar que el consumo de origen de los pods de Kubernetes coincida con la cantidad de memoria asignada y los recursos informáticos de la instancia, independientemente del proveedor de la nube que se utilice.

Gestión proactiva de recursos

Los recursos infrautilizados y no utilizados son de los primeros elementos en los que se busca una pérdida directa y un margen de optimización. Como ya hemos dicho, los especialistas en TI prefieren el rendimiento a la optimización de los recursos, por lo que tienden a utilizarlos en exceso. A pesar de la tentadora perspectiva de abandonar de inmediato todas las capacidades ociosas, esto debe hacerse con prudencia para evitar excluir algo que resulte importante; de ahí se desprende el siguiente punto.

Contratación de un gerente de FinOps

FinOps, ya mencionado en el artículo, puede ayudar a resolver varios problemas simultáneamente. En primer lugar, asignará más responsabilidad a los especialistas técnicos por el desempeño financiero general de la empresa y su gasto en recursos en la nube. En segundo lugar, puede convertirse en el eslabón perdido que Monitorea y administra los costos de Kubernetes diariamente para que el escalamiento de los recursos utilizados se produzca cuando realmente es necesario.

Utilizando herramientas especializadas

Por último, pero no por ello menos importante, puede utilizar herramientas de análisis y gestión de costes de Kubernetes, en particular Hystax OptScale. Puede proporcionarle Visibilidad total sobre sus costos de Kubernetes, ayuda a optimizar los costos de TI, mejora el rendimiento de las aplicaciones e involucra a los ingenieros en el ahorro de costos en la nube. También proporciona todos los detalles de costos de Kubernetes o del entorno de nube necesarios para obtener datos precisos tanto para Kubernetes como para las nubes públicas.

Para probarlo, puedes solicitar una versión de prueba gratuita; no se necesita tarjeta de crédito → https://my.optscale.com/register

Ingresa tu email para recibir contenido nuevo y relevante

¡Gracias por estar con nosotros!

Esperamos que lo encuentre útil.

Puede darse de baja de estas comunicaciones en cualquier momento. política de privacidad

Noticias e informes

FinOps y MLOps

Una descripción completa de OptScale como una plataforma de código abierto FinOps y MLOps para optimizar el rendimiento de la carga de trabajo en la nube y el costo de la infraestructura. Optimización de los costos de la nube, Dimensionamiento correcto de VM, instrumentación PaaS, Buscador de duplicados S3, Uso de RI/SP, detección de anomalías, + herramientas de desarrollo de IA para una utilización óptima de la nube.

FinOps, optimización de costos en la nube y seguridad

Descubra nuestras mejores prácticas: 

  • Cómo liberar direcciones IP elásticas en Amazon EC2
  • Detectar máquinas virtuales de MS Azure detenidas incorrectamente
  • Reduce tu factura de AWS eliminando las copias instantáneas de disco huérfanas y no utilizadas
  • Y conocimientos mucho más profundos

Optimice el uso de RI/SP para equipos de ML/AI con OptScale

Descubra cómo:

  • ver cobertura RI/SP
  • obtenga recomendaciones para el uso óptimo de RI/SP
  • Mejore la utilización de RI/SP por parte de los equipos de ML/AI con OptScale