Comparación de custos en Kubernetes xestionado (2020)

Nota. transl.: o enxeñeiro estadounidense de DevOps Sid Palas, usando anuncio recente de Google Cloud Como guía informativa, comparei o custo do servizo Managed Kubernetes (en diferentes configuracións) dos principais provedores de nube do mundo. Unha vantaxe adicional do seu traballo foi a publicación do correspondente Jupyter Notebook, que permite (cun ​​mínimo coñecemento de Python) axustar os cálculos realizados ás súas necesidades.

TL, RD: Azure e Digital Ocean non cobran polos recursos informáticos utilizados para o plano de control, polo que son unha boa opción para a implantación de moitos clústeres pequenos. Para executar un pequeno número de clústeres grandes, GKE é o máis adecuado. Ademais, pode reducir significativamente os custos utilizando nós puntuales/preventivos/de baixa prioridade ou "subscribindose" ao uso a longo prazo dos mesmos nós (isto aplícase a todas as plataformas).

Comparación de custos en Kubernetes xestionado (2020)
Tamaño do clúster (número de traballadores)

Visión global

Anuncio recente de Google Cloud O anuncio de GKE de comezar a cobrar 10 céntimos por hora de cluster por cada hora de cluster levoume a comezar a analizar os prezos das principais ofertas de Kubernetes xestionadas.

Comparación de custos en Kubernetes xestionado (2020)
Este anuncio molestou moito a algúns...

Os personaxes principais do artigo son:

Desglose de custos

O custo total de usar Kubernetes en cada unha destas plataformas consta dos seguintes compoñentes:

  • Taxa de xestión de clusters;
  • Equilibrio de carga (para Ingress);
  • Recursos informáticos (vCPU e memoria) dos traballadores;
  • Tráfico de saída;
  • Almacenamento permanente;
  • Procesamento de datos mediante equilibrador de carga.

Ademais, os provedores de nube ofrecen descontos significativos se o cliente quere/pode usar preemptible lugar ou nodos de baixa prioridade OU comprométese a utilizar os mesmos nodos durante 1-3 anos.

Cómpre subliñar que aínda que o custo é unha boa base para comparar e avaliar os provedores de servizos, hai que ter en conta outros factores:

  • Tempo de actividade (acordo de nivel de servizo);
  • O ecosistema de nubes circundantes;
  • Versións dispoñibles de K8s;
  • Calidade da documentación/kit de ferramentas.

Non obstante, estes factores están fóra do alcance deste artigo/estudo. EN Publicación de febreiro no blog de StackRox Os factores non relacionados co prezo de EKS, AKS e GKE explícanse en detalle.

Caderno Jupyter

Para que sexa máis fácil atopar a solución máis rendible, desenvolvín Caderno Jupyter, usando plotly + ipywidgets nel. Permítelle comparar ofertas de provedores para diferentes tamaños de clúster e conxuntos de servizos.

Podes practicar cunha versión en directo do bloc de notas en Binder:

Comparación de custos en Kubernetes xestionado (2020)
managed-kubernetes-price-exploration.ipynb en mybinder.org

Avísame se os cálculos ou o prezo orixinal son incorrectos (isto pódese facer mediante un problema ou unha solicitude de extracción en GitHub - aquí está o repositorio).

Descubrimentos

Por desgraza, hai demasiados matices para proporcionar recomendacións máis específicas que as incluídas no parágrafo TL;DR ao principio. Non obstante, aínda se poden extraer algunhas conclusións:

  • A diferenza de GKE e EKS, AKS e Digital Ocean non cobran polos recursos da capa de control. AKS e DO son máis rendibles se a arquitectura inclúe moitos clústeres pequenos (por exemplo, un clúster por cada desenvolvedor ou cada cliente).
  • Os recursos informáticos un pouco menos caros de GKE fan que sexa máis rendible a medida que aumentan os tamaños do clúster*.
  • O uso de nós preemptibles ou a afinidade de nodos a longo prazo pode reducir os custos en máis dun 50%. Nota: Digital Ocean non ofrece estes descontos.
  • As tarifas de saída de Google son máis altas, pero o custo dos recursos informáticos é un factor determinante no cálculo (a menos que o seu clúster estea xerando unha cantidade significativa de datos de saída).
  • A selección de tipos de máquinas en función da CPU e das necesidades de memoria das túas cargas de traballo axudarache a evitar pagar máis por recursos non utilizados.
  • Digital Ocean cobra menos pola vCPU e máis pola memoria en comparación con outras plataformas; este pode ser un factor decisivo para algúns tipos de cargas de traballo informáticas.

*Nota: a análise usa datos para nodos de cálculo de propósito xeral (propósito xeral). Estas son instancias de n1 GCP Compute Engine, m5 AWS ec2, D2v3 Azure virtual machines e DO droplets con CPU dedicadas. Á súa vez, é posible realizar investigacións entre outros tipos de máquinas virtuais (burstable, de nivel de entrada). A primeira vista, o custo das máquinas virtuais depende linealmente do número de vCPU e da cantidade de memoria, pero non estou seguro de que esta suposición sexa certa para relacións de memoria/CPU moi non estándar.

O artigo A guía de custos definitiva de Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, publicado en 2018, utilizou un clúster de referencia con 100 núcleos de vCPU e 400 GB de memoria. A modo de comparación, segundo os meus cálculos, un clúster similar en cada unha destas plataformas (para instancias baixo demanda) custará a seguinte cantidade:

  • AKS: 51465 USD/ano
  • EKS: 43138 USD/ano
  • GKE: 30870 USD/ano
  • DO: 36131 USD/ano

Espero que este artigo, xunto co caderno, che axuden a avaliar as principais ofertas de Kubernetes xestionadas e/ou a aforrar cartos na infraestrutura na nube aproveitando os descontos e outras oportunidades.

PS do tradutor

Lea tamén no noso blog:

Fonte: www.habr.com

Engadir un comentario