Comparatif des Kubernetes as a Service : Google ressort (toujours) du lot

Comparatif des Kubernetes as a Service : Google ressort (toujours) du lot Les applications containérisées s'imposent désormais comme des références sur le front du cloud. Un terrain sur lequel se positionne également Microsoft et Amazon.

La gestion des containers logiciels est devenue un levier clé pour les entreprises souhaitant déployer et gérer des applications à grande échelle en mode cloud. Sur ce terrain, Kubernetes, en tant que système open source d'orchestration, s'est imposé comme outil de référence pour automatiser le déploiement, la mise à l'échelle et la gestion des applications containerisées. Les principaux hyperscalers se positionnent sur ce segment en proposant des solutions Kubernetes managées. Il s'agit d'Elastic Kubernetes Service (EKS) chez Amazon, d'Azure Kubernetes Service (AKS) chez Microsoft, et de Google Kubernetes Engine (GKE) chez Google. Parmi ces trois services, c'est ce dernier qui ressort du lot compte tenu de sa maturité. Un constat qui est loin d'être surprenant, Google étant à l'origine de la technologie open source Kubernetes.

Comparaison des principales offres de Kubernetes as a Service
Caractéristique Amazon EKS Google GKE Azure AKS
Tarification du plan de contrôle 0,10 dollars par heure par cluster 0,10 dollars par heure par cluster 0,10 dollars par heure par cluster
Autoscaling machine Semi-automatiques Autoscaling automatique Autoscaling automatique
Surveillance et logging Intégration avec CloudWatch Intégration avec Stackdriver. Prometheus en mode managé.  Intégration avec Azure Monitor. Prometheus et Grafana en mode managé.
Gestion des identités Intégration avec AWS IAM Intégration avec Google Cloud IAM Intégration avec Azure Active Directory
Disponibilité Haute disponibilité avec déploiement multi-zones Haute disponibilité avec options de clusters régionaux Haute disponibilité avec options de zones de disponibilité

"Les entreprises ayant pour vocation d'avoir une maîtrise avancée de leur architecture auront tendance à se tourner vers les offres cloud de Kubernetes managé plutôt que vers un PaaS traditionnel orienté applications web", reconnaissent de concert Eric Datei et Daniel Begue, respectivement senior IT architect cloud et architect solution cloud & data chez Onepoint. Et Tom Nguyen, architecte technique cloud chez Sopra Steria, de rappeler : "Les services de Kubernetes managés facilitent les déploiements sans avoir à se soucier de l'infrastructure machine sous-jacente. Ils optimisent aussi le DevOps via un process d'automatisation fluide de livraison et d'intégration continues tout en permettant la portabilité applicative." Globalement, le choix de l'un ou l'autre de ces services dépendra de la stratégie numérique de l'entreprise et du ou des choix qu'elle aura réalisés en matière de cloud provider(s).

EKS : une interface intuitive

Amazon EKS se distingue d'abord par son intégration profonde avec l'offre cloud d'Amazon qui demeure la plus riche du marché. Cette intégration permet une gestion unifiée des identités et des accès via AWS IAM, facilitant ainsi le contrôle des permissions et des rôles au sein des clusters. De plus, EKS permet de déployer des clusters Kubernetes sur des instances EC2 ou en utilisant AWS Fargate pour des déploiements serverless. Cependant, cette flexibilité s'accompagne d'une complexité accrue lors de la configuration initiale et de la gestion des mises à jour.

"L'interface d'AWS se démarque par son caractère intuitif. Il s'agit là de son principal facteur de différentiation", constate Tom Nguyen, architecte technique cloud chez Sopra Steria. "Il est beaucoup plus simple de manipuler des clusters Kubernetes sur AWS que sur Azure." Autre différence d'EKS comparé à ses concurrents : sa facilité d'utilisation avec les outils de DevOps.

GKE : la gestion de cloud hybride

GKE se démarque de son côté par son haut degré d'automatisation et son intégration étroite avec les services Google Cloud. Étant le créateur de Kubernetes, Google offre avec GKE une plateforme mature et riche en fonctionnalités. Elle inclut des mises à jour automatiques du plan de contrôle et des nœuds, réduisant ainsi la charge opérationnelle pour les équipes techniques. GKE propose également un autoscaling intégré qui ajuste automatiquement la taille du cluster en fonction des besoins applicatifs. L'intégration native avec Stackdriver permet en outre une surveillance et une journalisation complètes des clusters.

"GKE, via l'offre GKE Enterprise, se présente comme l'offre la plus mature pour gérer un cloud hybride", maintient Christophe Annereau, consultant architecte et solutions cloud public chez Devoteam. "GKE Enterprise permet de déployer des clusters Kubernetes à la fois sur Google Cloud, mais aussi sur AWS, sur Azure et sur site." Amazon et Microsoft proposent néanmoins des solutions assez similaires, à travers respectivement EKS Anywhere et AKS enabled by Azure Arc.

AKS : l'intégration d'Active Directory

Quant à AKS, il propose une gestion simplifiée des clusters avec des options de mise à jour automatique et manuelle. "L'intégration avec Azure Active Directory offre une gestion unifiée des identités et des accès, simplifiant l'authentification et l'autorisation au sein des clusters. C'est particulièrement intéressant lorsqu'on utilise aussi Active Directory en lien avec des ressources sur site", constate Tom Nguyen chez Sopra Steria. "AWS propose des solutions pour gérer cet aspect, mais la mise en œuvre sera moins fluide."

AKS propose par ailleurs des fonctionnalités d'autoscaling configurables, permettant aux clusters d'ajuster leur taille en fonction de la demande. "Un autre point fort d'AKS est de permettre l'intégration de stacks Prometheus et Grafana managés au sein des clusters Kubernetes. C'est un point fort en termes de monitoring qui n'est pas proposé chez Google ni chez Amazon", ajoute Tom Nguyen.

En conclusion, le choix entre Amazon EKS, Azure AKS et Google GKE, même si ce dernier tend à se démarquer, dépendra largement des besoins spécifiques de l'organisation, de l'infrastructure existante et de la stratégie cloud. Chaque service offre des avantages distincts et des intégrations spécifiques qui peuvent influencer les décisions en fonction des priorités en matière de coûts, de gestion opérationnelle et d'écosystème technologique.