Comparació de costos a Kubernetes gestionat (2020)

Nota. transl.: l'enginyer nord-americà de DevOps Sid Palas, utilitzant anunci recent de Google Cloud Com a guia informativa, vaig comparar el cost del servei Managed Kubernetes (en diferents configuracions) dels principals proveïdors de núvol del món. Un avantatge addicional del seu treball va ser la publicació del corresponent Jupyter Notebook, que permet (amb uns coneixements mínims de Python) ajustar els càlculs realitzats a les teves necessitats.

TL; DR: Azure i Digital Ocean no cobren els recursos informàtics utilitzats per al pla de control, cosa que els converteix en una bona opció per desplegar molts clústers petits. Per executar un petit nombre de clústers grans, GKE és el més adequat. A més, podeu reduir significativament els costos utilitzant nodes puntuals/preventius/de baixa prioritat o "subscrivint-vos" a l'ús a llarg termini dels mateixos nodes (això s'aplica a totes les plataformes).

Comparació de costos a Kubernetes gestionat (2020)
Mida del clúster (nombre de treballadors)

Visió de conjunt

Anunci recent de Google Cloud L'anunci de GKE de començar a cobrar 10 cèntims per hora de clúster per cada hora de clúster em va impulsar a començar a analitzar els preus de les principals ofertes gestionades de Kubernetes.

Comparació de costos a Kubernetes gestionat (2020)
Aquest anunci ha molestat molt a alguns...

Els protagonistes de l'article són:

Desglossament dels costos

El cost total d'utilitzar Kubernetes a cadascuna d'aquestes plataformes consta dels components següents:

  • Quota de gestió del clúster;
  • Equilibri de càrrega (per a l'entrada);
  • Recursos informàtics (vCPU i memòria) dels treballadors;
  • Trànsit de sortida;
  • Emmagatzematge permanent;
  • Tractament de dades mitjançant equilibrador de càrrega.

A més, els proveïdors de núvol ofereixen descomptes importants si el client vol/pot utilitzar preemptible taca o nodes de baixa prioritat O es compromet a utilitzar els mateixos nodes durant 1-3 anys.

Val la pena subratllar que tot i que el cost és una bona base per comparar i avaluar els proveïdors de serveis, cal tenir en compte altres factors:

  • Temps de funcionament (acord de nivell de servei);
  • L'ecosistema de núvols que l'envolta;
  • Versions disponibles de K8s;
  • Qualitat de la documentació/equip d'eines.

Tanmateix, aquests factors estan fora de l'abast d'aquest article/estudi. EN Publicació de febrer al bloc de StackRox Els factors que no són de preu per a EKS, AKS i GKE es comenten amb detall.

Quadern Jupyter

Per facilitar la recerca de la solució més rendible, he desenvolupat Quadern Jupyter, utilitzant-hi plotly + ipywidgets. Us permet comparar ofertes de proveïdors per a diferents mides de clúster i conjunts de serveis.

Podeu practicar amb una versió en directe del bloc de notes a Binder:

Comparació de costos a Kubernetes gestionat (2020)
managed-kubernetes-price-exploration.ipynb a mybinder.org

Aviseu-me si els càlculs o el preu original són incorrectes (això es pot fer mitjançant un problema o una sol·licitud d'extracció a GitHub: aquí teniu el repositori).

Troballes

Per desgràcia, hi ha massa matisos per oferir recomanacions més específiques que les incloses al paràgraf TL;DR al principi. Tanmateix, encara es poden extreure algunes conclusions:

  • A diferència de GKE i EKS, AKS i Digital Ocean no cobren els recursos de la capa de control. AKS i DO són ​​més rendibles si l'arquitectura inclou molts clústers petits (per exemple, un clúster per cada desenvolupador o cada client).
  • Els recursos informàtics una mica menys costosos de GKE el fan més rendible a mesura que augmenten les mides de clúster*.
  • L'ús de nodes preemptibles o afinitat de nodes a llarg termini pot reduir els costos en més d'un 50%. Nota: Digital Ocean no ofereix aquests descomptes.
  • Les tarifes de sortida de Google són més elevades, però el cost dels recursos informàtics és un factor determinant en el càlcul (tret que el vostre clúster generi una quantitat important de dades de sortida).
  • La selecció de tipus de màquines en funció de les necessitats de CPU i memòria de les vostres càrregues de treball us ajudarà a evitar pagar més pels recursos no utilitzats.
  • Digital Ocean cobra menys per vCPU i més per memòria en comparació amb altres plataformes; això pot ser un factor decisiu per a alguns tipus de càrregues de treball de càlcul.

*Nota: l'anàlisi utilitza dades per a nodes de càlcul de propòsit general (propòsit general). Es tracta de n1 instàncies de GCP Compute Engine, m5 AWS ec2, màquines virtuals D2v3 Azure i DO droplets amb CPU dedicades. Al seu torn, és possible realitzar investigacions entre altres tipus de màquines virtuals (burstable, entry level). A primera vista, el cost de les màquines virtuals depèn linealment del nombre de vCPU i de la quantitat de memòria, però no estic segur que aquesta suposició sigui certa per a relacions de memòria/CPU molt no estàndard.

L’article La guia de costos definitiva de Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, publicat el 2018, va utilitzar un clúster de referència amb 100 nuclis de vCPU i 400 GB de memòria. Per comparar, segons els meus càlculs, un clúster similar a cadascuna d'aquestes plataformes (per a instàncies sota demanda) costarà la següent quantitat:

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

Espero que aquest article juntament amb el quadern us ajudin a avaluar les principals ofertes gestionades de Kubernetes i/o a estalviar diners en la infraestructura del núvol aprofitant els descomptes i altres oportunitats.

PS del traductor

Llegeix també al nostre blog:

Font: www.habr.com

Afegeix comentari