Kubernetes managé dans le cloud: pour quel coût ? [FRENCH

Si vous avez envisagé de déployer votre infrastructure sur du Kubernetes, vous êtes vite confronté au casse-tête du choix.

Contrôler votre propre Kubernetes en l’installant dans votre propre Data Center sur site (on parle de “on-premise”) ? Cela nécessite une équipe DevOps dédiée et beaucoup de temps pour le gérer.

Utiliser les services gérés (on parle de “Kubernetes managé”) ? Cela vous décharge de certaines tâches et vous permet de mieux vous concentrer sur votre métier, là où vous avez une vraie valeur-ajoutée.

Ou installer et gérer Kubernetes sur des services Cloud classiques, donc utilisant les services de machine virtuelle, de Load Balancer, DNS, etc … C’est un entre-deux qui vous permet de vous décharger d’une partie des tâches d’administration de l’infrastructure, mais pas de Kubernetes. Des outils comme kops et Terraform par exemple vous simplifie la tâche, mais il reste encore beaucoup de travail. Par contre, en terme de coût, c’est probablement la solution la moins chère en euros, mais pas en humain.

Dans cet article, je vais me focaliser sur l’option du Kubernetes managé. Une fois ce choix fait, une question se pose : quel fournisseur de Cloud choisir ? Ici, nous ne parlerons que des trois principaux : AWS (Amazon Web Services), GCP (Google Cloud Platform) et Azure (Microsoft).

Chacun propose sa propre offre de Kubernetes managé :

  • EKS pour AWS,
  • GKE pour GCP,
  • AKS pour Azure.

Le modèle économique globalement repose sur la location des machines virtuelles pour les noeuds. AWS facture en plus la machine virtuelle utilisée pour le master tandis qu’Azure et Google ne le facturent pas. Cela fait une différence sur le coût global. Et cette différence augmente se creuse avec l’ajout de clusters.

Nous allons donc faire un établir un comparatif des coûts en nous basant sur des machines virtuelles similaires, comme vous le voyez ici :

  • pour AWS : scénario 1 avec t2.large (2 vCPU, RAM 8 Go) et scénario 2 avec m5.xlarge (4 vCPU, RAM 16 Go),
  • pour Google : scénario 1 avec n1-standard-4 (4 vCPUs, RAM 15 Go) et scénario 2 avec n1-standard-2 (2 vCPUs, RAM 7,50 Go),
  • pour Azure : scénario 1 avec D2 v2 (2 vCPUs, 8 Go de RAM, Stockage de 50 Go) et scénario 2 avec D4 v3 (4 vCPUs, 16 Go de RAM, stockage 100 Go).

Voici le résultat du comparatif pour 1 cluster et 3 noeuds :

Cost of EKS
Cost of GKE
Cost of AKS

Voici quelques explications pour bien lire ce tableau :

  • Instance type correspond au type d’instance de la machine virtuelle,
  • On-demand correspond à l’offre sans engagement des machines virtuelles,
  • 3-year RI (Reserved Instance) correspond à l’offre de location d’une machine virtuelle avec un engagement sur 3 ans,
  • Control plan/cluster correspond au master.
  • Seuls les coûts de location des machines virtuelles et du master ont été intégrés.

Ces tableaux permettent d’établir plusieurs conclusions :

  • Le coût du cluster pour AWS plombe les finances.
  • GCP est clairement l’offre la moins chère aussi bien pour l’offre sans engagement qu’avec engagement sur 3 ans.
  • Azure est plus cher qu’AWS en offre à la demande mais moins cher en offre avec engagement sur 3 ans.

Cependant, au-delà des critères purement financiers, AWS présente l’avantage de l’énorme offre de services Cloud dont peut bénéficier le service Kubernetes managé.

Il apparaît cependant clairement que GCP est un très bon candidat pour tous ceux qui veulent découvrir Kubernetes sans trop alléger leur porte-feuille.

J’ai présenté ici le fruit de mes recherches. Si vous avez des précisions ou des correctifs à apporter à cet article, n’hésitez pas. L’estimation du coût est un exercice difficile dans le monde du Cloud.

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×