Confronto dei costi su Kubernetes gestiti (2020)

Nota. trad.: L'ingegnere americano DevOps Sid Palas, utilizzando recente annuncio di Google Cloud Come guida informativa, ho confrontato il costo del servizio Kubernetes gestito (in diverse configurazioni) dei principali fornitori di servizi cloud a livello mondiale. Un ulteriore vantaggio del suo lavoro è stata la pubblicazione del corrispondente Jupyter Notebook, che consente (con una conoscenza minima di Python) di adattare i calcoli eseguiti alle proprie esigenze.

TL; DR: Azure e Digital Ocean non addebitano costi per le risorse di calcolo utilizzate per il piano di controllo, il che li rende una buona scelta per la distribuzione di numerosi cluster di piccole dimensioni. Per eseguire un numero limitato di cluster di grandi dimensioni, GKE è la soluzione più adatta. Inoltre, puoi ridurre significativamente i costi utilizzando nodi spot/preemptive/a bassa priorità o “abbonandoti” all’uso a lungo termine degli stessi nodi (questo vale per tutte le piattaforme).

Confronto dei costi su Kubernetes gestiti (2020)
Dimensione del cluster (numero di lavoratori)

Panoramica

Annuncio recente di Google Cloud L'annuncio di GKE di iniziare a addebitare 10 centesimi all'ora per cluster da eseguire mi ha spinto a iniziare ad analizzare i prezzi delle principali offerte gestite di Kubernetes.

Confronto dei costi su Kubernetes gestiti (2020)
Questo annuncio ha molto turbato alcuni...

I personaggi principali dell'articolo sono:

Abbattimento dei costi

Il costo totale dell'utilizzo di Kubernetes su ciascuna di queste piattaforme è costituito dai seguenti componenti:

  • Commissione di gestione del cluster;
  • Bilanciamento del carico (per Ingress);
  • Risorse informatiche (vCPU e memoria) dei lavoratori;
  • Traffico in uscita;
  • Archiviazione permanente;
  • Elaborazione dei dati tramite bilanciatore del carico.

Inoltre, i fornitori di servizi cloud offrono sconti significativi se il cliente desidera/può utilizzare la prerilasciabilità macchiare o nodi a bassa priorità OPPURE si impegna a utilizzare gli stessi nodi per 1-3 anni.

Vale la pena sottolineare che, sebbene il costo sia una buona base per confrontare e valutare i fornitori di servizi, dovrebbero essere presi in considerazione altri fattori:

  • Tempo di attività (accordo sul livello di servizio);
  • L'ecosistema cloud circostante;
  • Versioni disponibili di K8;
  • Qualità della documentazione/kit di strumenti.

Tuttavia, questi fattori vanno oltre lo scopo di questo articolo/studio. IN Post di febbraio sul blog StackRox I fattori diversi dal prezzo per EKS, AKS e GKE vengono discussi in dettaglio.

Taccuino di Giove

Per facilitare la ricerca della soluzione più redditizia, ho sviluppato Taccuino di Giove, utilizzando plotly + ipywidgets al suo interno. Ti consente di confrontare le offerte dei fornitori per diverse dimensioni di cluster e set di servizi.

Puoi esercitarti con una versione live del blocco note in Binder:

Confronto dei costi su Kubernetes gestiti (2020)
gestito-kubernetes-price-exploration.ipynb su mybinder.org

Fammi sapere se i calcoli o i prezzi originali non sono corretti (questo può essere fatto tramite un problema o una richiesta pull su GitHub - ecco il deposito).

risultati

Purtroppo, ci sono troppe sfumature per fornire raccomandazioni più specifiche di quelle incluse nel paragrafo TL;DR all'inizio. Si possono comunque trarre alcune conclusioni:

  • A differenza di GKE ed EKS, AKS e Digital Ocean non addebitano costi per le risorse del livello di controllo. AKS e DO sono più redditizi se l'architettura include molti piccoli cluster (ad esempio, un cluster per ogni sviluppatore o ogni cliente).
  • Le risorse di elaborazione leggermente meno costose di GKE lo rendono più redditizio man mano che le dimensioni dei cluster* aumentano.
  • L'utilizzo di nodi prerilasciabili o di affinità di nodo a lungo termine può ridurre i costi di oltre il 50%. Nota: Digital Ocean non offre questi sconti.
  • Le tariffe in uscita di Google sono più elevate, ma il costo delle risorse di elaborazione è un fattore determinante nel calcolo (a meno che il tuo cluster non generi una quantità significativa di dati in uscita).
  • Selezionare i tipi di macchina in base alle esigenze di CPU e memoria dei tuoi carichi di lavoro ti aiuterà a evitare di pagare un extra per le risorse inutilizzate.
  • Digital Ocean addebita meno per vCPU e più per la memoria rispetto ad altre piattaforme: questo può essere un fattore decisivo per alcuni tipi di carichi di lavoro di elaborazione.

*Nota: l'analisi utilizza i dati per nodi di calcolo per scopi generici (scopo generale). Si tratta di istanze n1 GCP Compute Engine, istanze m5 AWS ec2, macchine virtuali Azure D2v3 e droplet DO con CPU dedicate. A sua volta, è possibile condurre ricerche tra altri tipi di macchine virtuali (burstable, entry-level). A prima vista, il costo delle macchine virtuali dipende linearmente dal numero di vCPU e dalla quantità di memoria, ma non sono sicuro che questo presupposto sia vero per rapporti memoria/CPU altamente non standard.

l'articolo La guida definitiva ai costi di Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, pubblicato nel 2018, utilizzava un cluster di riferimento con 100 core vCPU e 400 GB di memoria. Per fare un confronto, secondo i miei calcoli, un cluster simile su ciascuna di queste piattaforme (per istanze on-demand) costerà il seguente importo:

  • AKS: 51465 USD/anno
  • EKS: 43138 USD/anno
  • GKE: 30870 USD/anno
  • FARE: 36131 USD/anno

Spero che questo articolo insieme al notebook ti aiuti a valutare le principali offerte gestite di Kubernetes e/o a risparmiare denaro sull'infrastruttura cloud sfruttando sconti e altre opportunità.

PS da traduttore

Leggi anche sul nostro blog:

Fonte: habr.com

Aggiungi un commento