Comparación de costos en Kubernetes administrado (2020)

Nota. traducir: Sid Palas, ingeniero estadounidense de DevOps, utilizando anuncio reciente de Google Cloud Como guía informativa, comparé el costo del servicio Managed Kubernetes (en diferentes configuraciones) de los principales proveedores de nube del mundo. Una ventaja adicional de su trabajo fue la publicación del correspondiente Jupyter Notebook, que permite (con un conocimiento mínimo de Python) ajustar los cálculos realizados a sus necesidades.

TL; DR: Azure y Digital Ocean no cobran por los recursos informáticos utilizados para el plano de control, lo que los convierte en una buena opción para implementar muchos clústeres pequeños. Para ejecutar una pequeña cantidad de clústeres grandes, GKE es el más adecuado. Además, puede reducir significativamente los costos utilizando nodos puntuales/preventivos/de baja prioridad o “suscribiéndose” al uso a largo plazo de los mismos nodos (esto se aplica a todas las plataformas).

Comparación de costos en Kubernetes administrado (2020)
Tamaño del conglomerado (número de trabajadores)

Visión de conjunto

Anuncio reciente de Google Cloud El anuncio de GKE de comenzar a cobrar 10 centavos por hora de clúster me impulsó a comenzar a analizar los precios de las principales ofertas administradas de Kubernetes.

Comparación de costos en Kubernetes administrado (2020)
Este anuncio ha molestado mucho a algunos...

Los personajes principales del artículo son:

Desglose de los costos

El costo total de usar Kubernetes en cada una de estas plataformas consta de los siguientes componentes:

  • Tarifa de gestión del clúster;
  • Equilibrio de carga (para Ingress);
  • Recursos informáticos (vCPU y memoria) de los trabajadores;
  • Tráfico de salida;
  • Almacenamiento permanente;
  • Procesamiento de datos mediante balanceador de carga.

Además, los proveedores de la nube ofrecen importantes descuentos si el cliente quiere o puede utilizar servicios preferentes. lugar o nodos de baja prioridad O se compromete a utilizar los mismos nodos durante 1 a 3 años.

Vale la pena enfatizar que si bien el costo es una buena base para comparar y evaluar a los proveedores de servicios, se deben tener en cuenta otros factores:

  • Tiempo de actividad (acuerdo de nivel de servicio);
  • El ecosistema de nubes circundante;
  • Versiones disponibles de K8;
  • Calidad de la documentación/kit de herramientas.

Sin embargo, estos factores están más allá del alcance de este artículo/estudio. EN Publicación de febrero en el blog de StackRox Los factores ajenos al precio para EKS, AKS y GKE se analizan en detalle.

Cuaderno Jupyter

Para que sea más fácil encontrar la solución más rentable, he desarrollado cuaderno jupyter, usando plotly + ipywidgets en él. Le permite comparar ofertas de proveedores para diferentes tamaños de clúster y conjuntos de servicios.

Puedes practicar con una versión en vivo del bloc de notas en Binder:

Comparación de costos en Kubernetes administrado (2020)
administrado-kubernetes-price-exploration.ipynb en mybinder.org

Déjame saber si los cálculos o el precio original son incorrectos (esto se puede hacer mediante una incidencia o una solicitud de extracción en GitHub). aquí está el repositorio).

Hallazgos

Desgraciadamente, hay demasiados matices para ofrecer recomendaciones más específicas que las incluidas en el párrafo TL;DR al principio. Sin embargo, todavía se pueden sacar algunas conclusiones:

  • A diferencia de GKE y EKS, AKS y Digital Ocean no cobran por los recursos de la capa de control. AKS y DO son más rentables si la arquitectura incluye muchos clústeres pequeños (por ejemplo, un clúster por cada desarrollador o cada cliente).
  • Los recursos informáticos ligeramente menos costosos de GKE lo hacen más rentable a medida que aumentan los tamaños de los clústeres*.
  • El uso de nodos interrumpibles o afinidad de nodos a largo plazo puede reducir los costos en más del 50 %. Nota: Digital Ocean no ofrece estos descuentos.
  • Las tarifas de salida de Google son más altas, pero el costo de los recursos informáticos es un factor determinante en el cálculo (a menos que su clúster esté generando una cantidad significativa de datos salientes).
  • Seleccionar tipos de máquinas según las necesidades de CPU y memoria de sus cargas de trabajo le ayudará a evitar pagar más por recursos no utilizados.
  • Digital Ocean cobra menos por vCPU y más por memoria en comparación con otras plataformas; esto puede ser un factor decisivo para algunos tipos de cargas de trabajo informáticas.

*Nota: El análisis utiliza datos para nodos informáticos de uso general. (propósito general). Estas son instancias n1 de GCP Compute Engine, instancias m5 de AWS ec2, máquinas virtuales D2v3 de Azure y droplets DO con CPU dedicadas. A su vez, es posible realizar investigaciones entre otros tipos de máquinas virtuales (ampliables, de nivel básico). A primera vista, el costo de las máquinas virtuales depende linealmente de la cantidad de vCPU y la cantidad de memoria, pero no estoy seguro de que esta suposición sea válida para proporciones de memoria/CPU altamente no estándar.

El artículo La guía definitiva de costos de Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, publicado en 2018, utilizó un clúster de referencia con 100 núcleos de vCPU y 400 GB de memoria. A modo de comparación, según mis cálculos, un clúster similar en cada una de estas plataformas (para instancias bajo demanda) costará la siguiente cantidad:

  • AKS: 51465 USD/año
  • EKS: 43138 USD/año
  • GKE: 30870 USD/año
  • DO: 36131 USD/año

Espero que este artículo junto con el cuaderno le ayuden a evaluar las principales ofertas de Kubernetes administrado y/o a ahorrar dinero en infraestructura de nube aprovechando descuentos y otras oportunidades.

PD del traductor

Lea también en nuestro blog:

Fuente: habr.com

Añadir un comentario