pattilabelle - Fotolia
Containers sur AWS : comment choisir entre ECS et EKS
Avec Amazon EKS, AWS a certes répondu à la demande des utilisateurs de Kubernetes. Toutefois ECS représente aussi une option à considérer pour certains cas d'utilisation. Quelle offre correspond le mieux à vos besoins.
Lors de la conférence 2017 re:Invent, AWS a souhaité répondre aux besoins des utilisateurs Kubernetes en annonçant EKS (Elastic Container Service for Kubernetes), un service managé du moteur d’orchestration de containers devenu aujourd’hui le standard par défaut.
Ce n’est toutefois la première incursion d’AWS dans la gestion des containers. Bien avant EKS, le n°1 du Cloud supportait déjà cette technologie grâce à Elastic Container Service (ECS). Avec deux orchestrateurs différents, la communauté des utilisateurs de containers s’interroge désormais quant au choix à faire. Quelles sont les différences entre EKS et ECS ? Et quels sont les cas d'usage pour chacun de ces deux services ?
ECS vs EKS
Amazon ECS est une plateforme de conteneurs entièrement gérée et évolutive. Ce service s'intègre aussi bien aux autres services Cloud d’AWS, comme CloudFormation pour la gestion du déploiement, ainsi qu'à de nombreux autres outils Open Source.
De son côté, Amazon EKS est une plateforme de conteneurs qui se repose sur Kubernetes. Le service fournit trois instances principales qui fonctionnent sur trois zones de disponibilité. Cela assure une haute disponibilité ainsi qu’une forme de résilience. EKS fonctionne sur une version upstream de Kubernetes ; vous pouvez ainsi vous y connecter avec kubectl de la même manière que si vous utilisiez votre propre moteur Kubernetes.
Quelle est votre stratégie
Votre choix entre ces deux services doit dépendre de votre stratégie globale en matière de containers. Si vous souhaitez supporter différents environnements pour vos containers, EKS est un choix plus viable. Les développeurs ont en effet la capacité d’exécuter EKS sur site ou dans un autre Cloud, comme celui de Google par exemple, tandis qu’ECS est un service propriétaire – qui dépend donc uniquement d’AWS. Toutefois, attention : la flexibilité et la compatibilité d'EKS ont un coût. Kubernetes n'est pas un service natif d'AWS, vous devez donc vous débrouiller pas vos propres moyens si vous souhaitez l’intégrer à d’autres services AWS.
Une fois les avantages d'EKS maîtrisé, il est utile de comparer ce service à ECS. Si vous travaillez déjà avec AWS en tant que fournisseur d'Iaas, il y a des chances que vous appréciez ECS. L'évolutivité d'ECS est sa plus grande force. Vous pouvez y exécuter des workloads beaucoup plus importantes que sur EKS. Bien plus important encore, la connexion d’ECS à d'autres services AWS y est bien plus facile. Si vous n'êtes déjà un utilisateur AWS, ECS sera une option plus naturelle.
Entre ECS et EKS, le choix est une affaire de stratégie plus que de technologie. Il convient d’évaluer si votre projet implique, oui ou non, de déplacer vos containers hors d’AWS, et le niveau de sécurité l nécessaire pour réaliser ce type de déploiement. Il ne s’agit pas d’oublier non plus la gouvernance ainsi que la gestion des données.