Primerjava cen za Managed Kubernetes (2020)

Op. prev.: Ameriški DevOps inženir Sid Palas je, ob uporabi nedavne napovedi Google Cloud kot izhodišča, opravil primerjavo cen storitve Managed Kubernetes (v različnih konfiguracijah) pri vodilnih svetovnih oblačnih ponudnikih. Dodatna prednost njegovega dela je bila objava ustreznega Jupyter Notebooka, ki omogoča (ob minimalnem znanju Pythona) prilagoditev izračunov po svojih potrebah.

TL;DR: Azure in Digital Ocean ne zaračunavata stroškov za računalniške vire, ki se uporabljajo za upravljalsko plast (control plane), kar ju naredi primerno izbiro za namestitev številnih manjših grozdov. Za zagon majhnega števila velikih grozdov je GKE najprimernejša izbira. Poleg tega je možno znatno zmanjšati stroške z uporabo preemptivnih/spot/nižjiprioritetnih vozlišč ali tako, da se 'prijavite' za dolgotrajno uporabo istih vozlišč (to velja za vse platforme).

Primerjava cen za Managed Kubernetes (2020)
Velikost grozda (število delavcev)

Splošne informacije

Nedavna napoved Google Cloud o začetku zaračunavanja 10 centov na uro za delovanje vsakega grozda v GKE me je spodbudila k analizi cen glavnih ponudb na področju upravljanega Kubernetes.

Primerjava cen za Managed Kubernetes (2020)
Ta napoved je močno razburila nekatere…

Glavni junaki članka so:

Razdelitev stroškov

Skupni stroški uporabe Kubernetes na vsaki od teh platform se sestavljajo iz naslednjih komponent:

  • Naročnine za upravljanje grozda;
  • Uravnoteženje obremenitve (za Ingress);
  • Računalniški viri (vCPU in pomnilnik) delavcev;
  • Egress promet;
  • Stalno shranjevanje;
  • Obdelava podatkov z uravnoteževalnikom obremenitve.

Poleg tega oblačni ponudniki ponujajo znatne popuste, če stranka želi/mora uporabljati preemptivna, spotna ali nizkprioritetna vozlišča ALI se obvezuje, da bo uporabljala ista vozlišča v obdobju 1-3 let.

Pomembno je poudariti, da je, čeprav so stroški dober osnovni kriterij za primerjavo in ocenjevanje ponudnikov storitev, potrebno upoštevati tudi druge dejavnike:

  • Uptime (servisni nivo);
  • Oblačna ekosustava;
  • Na voljo različice K8s;
  • Kakovost dokumentacije/orodij.

Vendar ti dejavniki presegajo meje tega članka/raziskave. V februarskem blogu StackRox podrobno obravnavajo necenovne dejavnike za EKS, AKS in GKE.

Jupyter Notebook

Da bi olajšal iskanje najbolj ugodne rešitve, sem razvil Jupyter notebook, ki uporablja plotly + ipywidgets. Omogoča primerjavo ponudb ponudnikov za različne velikosti grozdov in nabor storitev.

Skozi živo različico zvezka se lahko vadite na Binder:

Primerjava cen za Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb na mybinder.org

Obvestite me, če so izračuni ali osnovna ocenjena cena napačni (to lahko storite s pomočjo issue ali pull requesta na GitHub — tukaj je repozitorij).

Zaključki

Žal, preveč odtenkov je, da bi podali bolj konkretne priporočila kot tiste, vključene v odsek TL;DR na začetku. Vendar pa je mogoče izpeljati nekatere zaključke:

  • V nasprotju z GKE in EKS, AKS in Digital Ocean ne zaračunavajo stroškov za vire upravljalnega sloja. AKS in DO sta boljša izbira, če arhitektura vključuje več manjših grozdov (na primer, po en grozd na vsakega razvijalca ili vsakega klienta).
  • Malce manj dragi procesorski viri GKE ga naredijo bolj konkurenčnega pri večjih grozdih*.
  • Uporaba zamenljivih vozlišč ali dolgoročna vezava na vozlišča lahko zmanjša stroške za več kot 50%. Opomba: Digital Ocean takšnih popustov nima.
  • Stroški za izhodni promet pri Googlu so višji, vendar je odločilni dejavnik pri izračunih cena za računske vire (razen če vaš grozd ni vir pomembne količine izhodnih podatkov).
  • Izbira tipov strojev glede na zahteve delovnih obremenitev po CPU in pomnilniku bo pomagala preprečiti nepotrebne stroške za neizkoriščene vire.
  • Digital Ocean zahteva manj za vCPU in več za pomnilnik v primerjavi z drugimi platformami — to lahko postane odločilni dejavnik za nekatere vrste računalniških obremenitev.

* Opomba: v analizi se uporabljajo podatki za splošne računske vozlišča (general-purpose). To so primerki n1 GCP Compute Engine, m5 AWS ec2, virtualne naprave D2v3 Azure in droplet-i DO z dodeljenimi CPU. Na voljo pa je tudi raziskave med drugimi tipi virtualnih strojev (burstable, entry-level). Na prvi pogled, se cena virtualnih strojev linearno povečuje s številom vCPU in količino pomnilnika, vendar nisem prepričan, da bo to predpostavka ostala veljavna za močno nestandardne razmerja pomnilnika/CPU.

V članku Ultimate Kubernetes Cost Guide: AWS vs GCP vs Azure vs Digital Ocean, published in 2018, a reference cluster with 100 vCPU cores and 400 GB of memory was used. For comparison, my calculations show that a similar cluster on each of these platforms (for on-demand instances) will cost the following amounts:

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

I hope this article along with the notebook helps you evaluate the main offers of managed Kubernetes and/or save on cloud infrastructure by taking advantage of discounts and other opportunities.

P.S. od prevajalca

Preberite tudi na našem blogu:

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster