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!
Seminario web 'FinOps y optimización de costos en la nube para cargas de trabajo de ML/AI'. Regístrese aquí →
Ebook 'De FinOps a estrategias comprobadas de gestión y optimización de costos en la nube'
OptScale - FinOps
Descripción general de FinOps
Optimización de costos:
AWS
MS Azure
Nube de Google
Alibaba Cloud
Kubernetes
OptScale - MLOps
Perfiles de ML/IA
Optimización de ML/IA
Perfilado de Big Data
PRECIOS DE ESCALA OPTICA
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
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
Libro Blanco

FinOps y gestión de costes para Kubernetes

Este documento técnico cubre los principales desafíos de administración de la infraestructura de Kubernetes, brinda consejos técnicos y mejores prácticas para proporcionar visibilidad en el entorno de K8, optimizar costos, superar problemas de configuración incorrecta, mejorar el rendimiento de Kubernetes y calcular la economía de la unidad para los clústeres de Kubernetes.

  • Por qué las empresas necesitan rastrear y analizar los costos de Kubernetes
  • Cómo aportar visibilidad a los costes de la nube de Kubernetes
  • Cómo optimizar los costes de TI en una infraestructura de Kubernetes
  • Cuáles son los principales desafíos de optimización y administración de costos de la nube
  • Problemas de rendimiento de Kubernetes y formas de remediarlo 
  • Información mucho más profunda sobre la gestión de costes para el entorno de Kubernetes. 
 
 
*Al enviar, acepta las condiciones de Hystax Al enviarlos aceptas la política de privacidad de Hystax. Si prefiere no recibir los materiales de Hystax, siempre puede darse de baja.

¡Gracias por tu solicitud!

Su descarga comenzará en unos segundos.

Nick Smirnov, CEO and Co-Founder

Nick Smirnov,
Entusiasta de FinOps y CEO en Hystax

Sobre el Autor

Nick Smirnov es un entusiasta de FinOps y la transformación digital con más de 10 años de experiencia trabajando con nubes públicas y en el desarrollo de software empresarial. Nick es un apasionado de la adopción de la nube y está ayudando a las empresas a manejar la administración de costos de la nube de manera más efectiva.

Introducción

Las ventajas de la infraestructura de Kubernetes, como la portabilidad y la escalabilidad, su base de código abierto y la capacidad de aumentar la productividad de los desarrolladores, han hecho que las tecnologías de contenedores sean una opción popular para muchas empresas., y Kubernetes se ha convertido en el estándar para ejecutar aplicaciones basadas en contenedores en las nubes. Más que 80% de empresas hoy manejan contenedores en producción y 78% de ellos utilizan los servicios de Kubernetes.

A medida que la infraestructura en contenedores está obteniendo una adopción generalizada y las tecnologías de Kubernetes están cobrando impulso, se está volviendo crucial comprender cómo obtener una imagen clara del gasto en los recursos de K8, hacer cumplir las oportunidades de optimización de costos y mejorar Rendimiento de Kubernetes. 

La realidad muestra que no basta con usar Kubernetes para obtener el mejor valor de las nubes públicas. Según un reciente Informe StackRox, alrededor de 70% de empresas detectaron una configuración incorrecta en su entorno de Kubernetes.

Una estructura en contenedores crea dificultades significativas con la transparencia, la asignación y el rendimiento de la nube que provocan desafíos en la gestión y optimización de recursos.

El documento técnico repasa los desafíos de la administración superior del rendimiento de Kubernetes, describe recomendaciones y consejos técnicos para lograr la transparencia de los clústeres de K8 y superar los problemas de optimización y administración de costos. 

Le ayudará a crear una estrategia de gestión sólida para el entorno de Kubernetes, dar un gran paso adelante en la mejora del rendimiento de las aplicaciones y reducir su coste de infraestructura.

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

Existen dos enfoques principales para la virtualización: máquinas virtuales (VM) y contenedores virtuales, cada uno con sus propias ventajas y desventajas. En el primer caso, cada máquina utiliza su sistema operativo invitado, lo que brinda la oportunidad de crear entornos informáticos heterogéneos en un servidor físico. Los contenedores virtuales, a su vez, en lugar de un sistema operativo solo tienen un entorno de usuario, lo que hace posible crear solo 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 sustancialmente su utilidad en el mundo ágil de hoy. Otra desventaja de las máquinas virtuales es que lleva mucho más tiempo cargar el sistema operativo y sus aplicaciones.

Track and analyze K8s costs

Los contenedores son más livianos y generalmente se miden en megabytes; y, lo que es más importante, son aplicaciones más fáciles de escalar e implementar. Esto crea un ecosistema de infraestructura completamente nuevo, lo que significa nuevos desafíos y complejidades. Las empresas de TI, tanto las grandes corporaciones como las nuevas empresas, implementan miles de instancias de contenedores todos los días 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, se diseñó como una solución a este problema. Con el tiempo, K8s se ha convertido esencialmente en la plataforma estándar de la industria y el proyecto insignia de Cloud Native Computing Foundation, con el apoyo de los líderes del mercado: Google, Amazon, Microsoft, IBM, Alibaba Cloud y muchos otros.

Debido a sus ventajas, Kubernetes gana popularidad, pero al mismo tiempo trae dificultades significativas para el seguimiento de costos en la nube y la gestión financiera.

Desafíos de analizar los costos de Kubernetes

Challenges-of-analyzing-Kubernetes-costs

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 fáciles. 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 costos de la nube y elaborar 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 proporcionar a las empresas, consulte un libro electrónico "De FinOps a estrategias probadas de gestión y optimización de costos en la nube".

Desafortunadamente, este enfoque es absolutamente inaplicable para las herramientas de contenedorización en general y para Kubernetes en particular. ¿Cuál es la razón por la que los costos de Kubernetes son tan difíciles de definir y analizar?

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

Ahora supongamos que varios departamentos de su empresa están trabajando en varias aplicaciones que se ejecutan dentro de contenedores y, de hecho, comparten clústeres comunes de Kubernetes. Es casi imposible determinar cuál de las aplicaciones lanzadas utiliza qué parte de los recursos de qué clústeres, porque cada una de las aplicaciones se lanza en varios contenedores al mismo tiempo. Si bien es posible calcular el costo de un contenedor y no es demasiado difícil en sí mismo, aún requiere infraestructura y tiempo, y la complejidad crece en proporción a la cantidad de contenedores utilizados.

Hasta ahora, considerábamos la situación dentro del marco de una nube. Pero, ¿qué sucede si su empresa, como la mayoría de las organizaciones de TI modernas en la actualidad, utiliza la multinube? En este caso, el monitoreo de costos crecerá muchas veces: cada una de las nubes dentro de esta multinube puede tener un proveedor de servicios diferente, asumiendo solo una parte de la carga de trabajo total porque Kubernetes puede trabajar con AWS, Microsoft Azure, Google Cloud Platform, Alibaba. Nube y muchos otros.

Además, la intensidad de recursos de cada una de sus aplicaciones puede cambiar con el tiempo, lo que impone dificultades adicionales en el cálculo de costos. Entonces, el 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 que se ejecutan en Kubernetes se reducen a minutos o incluso segundos. Una vez más, esta dinámica es definitivamente una ventaja desde el punto de vista de un ingeniero de TI, pero se convierte en un dolor de cabeza cuando se trata de la administración y el seguimiento de costos.

Cómo rastrear y administrar los costos de Kubernetes

Como ya dijimos, es muy difícil rastrear y administrar los costos de Kubernetes, pero aún existen numerosas técnicas que pueden ayudarlo a analizar los costos de Kubernetes y, finalmente, controlarlos.

1. Etiquetado adecuado de los recursos

Lo más probable es que esté familiarizado con el etiquetado de recursos en la nube. Cuando se trata de Kubernetes, se utilizan las llamadas etiquetas en lugar de etiquetas. Si usted y sus ingenieros se ocupan del etiquetado de los recursos utilizados, facilitará mucho su búsqueda e identificación en el futuro.

How to manage k8s costs

Es importante ser inteligente con este proceso para que luego pueda desglosar sus recursos según varios parámetros relevantes. La implementación exitosa de tal estrategia requerirá la participación activa de todos los miembros del equipo de TI; de lo contrario, esta inicialmente buena idea puede generar aún más confusión.

2. Visualización por medio de Prometheus

Los sistemas de monitoreo de código abierto como Prometheus pueden ser de gran ayuda para visualizar sus costos. Y la visualización competente, a su vez, es un gran paso en el camino hacia un análisis competente.

3. Uso adecuado del autoescalado

El ajuste de escala automático es una característica excelente de Kubernetes y, con su ayuda, se pueden administrar fácilmente las cargas de trabajo. Ya mencionamos dos de ellos: Escalador automático de pod vertical y escalador automático de pod horizontal, pero en realidad hay dos más disponibles: Kubernetes Event-Driven Autoscaler y Cluster Autoscaler, donde el primero gestiona el escalado de cualquier contenedor en Kubernetes en función de la cantidad de eventos que deben procesarse, mientras que el segundo se ocupa del escalado automático en el clúster. y nivel de nodo. Dicho esto, es todo un desafío hacer que funcionen juntos correctamente; no solo debe apegarse a las numerosas mejores prácticas, sino también ajustar la configuración en función de sus escenarios.

4. Elegir las instancias de nube adecuadas

El costo de Kubernetes depende directamente de qué tan bien se seleccionen las instancias de la nube. Es importante asegurarse de que el consumo de recursos 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.

5. Gestión proactiva de recursos

Los recursos infrautilizados y no utilizados son uno de los primeros elementos en los que buscar pérdidas directas y espacio para la optimización. Como se mencionó anteriormente, los especialistas de TI prefieren el rendimiento a la optimización de recursos, por lo que tienden a abusar de los recursos. A pesar de la tentadora perspectiva de abandonar de inmediato todas las capacidades ociosas, esto debe hacerse con prudencia, para no excluir nada que resulte ser importante; de esto se deriva el siguiente punto.

6. Contratación de un administrador de FinOps

FinOps puede ayudar a resolver varios problemas a la vez. En primer lugar, pasará más responsabilidad a los especialistas técnicos por el desempeño financiero de la empresa en su conjunto y su gasto en recursos de la nube en particular. En segundo lugar, puede convertirse en el eslabón perdido que pueda monitorear y administrar los costos de Kubernetes a diario para que el escalado de los recursos utilizados se produzca cuando realmente se necesita.

Cómo aportar visibilidad a los costes de la nube de Kubernetes

How to bring visibility to k8s costs

Dado que cada vez más organizaciones están ampliando el uso de orquestadores de contenedores y Kubernetes se está convirtiendo en una opción popular para muchas empresas, es importante comprender cómo proporcionar una transparencia total en los recursos de K8 para lograr objetivos de optimización de costos y mejoras de rendimiento.

Las ventajas de las tecnologías de contenedores, como la portabilidad y la escalabilidad, y su base de código abierto han convertido a Kubernetes en el estándar para ejecutar aplicaciones basadas en contenedores en las nubes.

Afortunadamente, las plataformas en la nube brindan soporte y ayudan a las empresas de cualquier tamaño a adoptar la tecnología de Kubernetes. Aquí hay una lista de servicios proporcionados por las principales plataformas en la nube: 

  • Servicio Amazon Elastic Kubernetes (Amazon EKS) en AWS
  • Google Kubernetes Engine (GKE) en Google Cloud
  • Microsoft Azure: Servicio Azure Kubernetes (AKS)
  • IBM Cloud: Servicio IBM Cloud Kubernetes
  • Infraestructura en la nube de Oracle: motor de contenedores de Oracle para Kubernetes
  • Alibaba Cloud: servicio de contenedores para Kubernetes (ACK)

A pesar de las ventajas de Kubernetes, una estructura en contenedores crea desafíos con la transparencia de costos de la nube, asignación que causa dificultades significativas en la gestión y optimización de recursos.

Una gestión eficaz de la nube necesita visibilidad de costes; es fundamental identificar unidades organizativas como aplicaciones, servicios en la nube, grupos de activos, unidades de negocios, equipos, ingenieros individuales y asignarlos a los costos de la nube.

Descarga la versión completa para seguir leyendo