Le Blog Amazon Web Services

Amazon ECS ou Amazon EKS : le choix du service de conteneurs sur AWS

L’une des demandes les plus fréquentes que nous recevons de la part de nos clients est la suivante : « Aidez-moi à choisir le service de conteneurs à utiliser ». Nous recommandons en général de commencer par sélectionner une solution de conteneurs dont les attributs correspondent le mieux aux exigences de leurs applications ou à leurs préférences opérationnelles. Cet article couvre certains des éléments critiques permettant de choisir le service de conteneurs adapté sur AWS.

Déploiement de conteneurs à l’échelle

Lorsque les équipes étendent leurs applications conteneurisées, elles finissent par avoir besoin de plus d’hôtes ou de nœuds de calcul pour lancer les conteneurs supplémentaires. On passe rapidement d’un hôte de conteneur à des centaines, avec des tailles et des capacités différentes, et chacun pouvant héberger un grand nombre de conteneurs individuels.

Face au nombre croissant de nœuds de calcul hébergeant des conteneurs, les équipes ont besoin d’outils offrant une meilleure allocation des ressources et une meilleure résilience. Elles ont besoin de solutions permettant de transformer des nœuds individuels en clusters pour gérer leurs conteneurs. Elles recherchent des solutions de conteneurs plus robustes qui assurent une gestion complète de leurs applications déployées sous forme conteneurs dans ces clusters. À l’échelle, l’exploitation indifférenciée de la plateforme d’orchestration de conteneurs, des clusters et des nœuds de calcul peut rapidement épuiser même les équipes les plus expérimentées.

En effet, c’est un véritable défi de créer une équipe disposant des ressources et connaissances requises pour fournir une plateforme de conteneurs hautement disponible, sécurisée et à jour pour vos utilisateurs. Nous avons remarqué un schéma similaire au cours de la dernière décennie, lorsque les entreprises ont adopté les machines virtuelles (VM) et ont dû faire face aux problèmes de gestion liés à la prolifération de ces VMs. Tout comme pour cette dernière transformation de l’informatique, le manque d’automatisation des opérations et d’outils efficaces pour les conteneurs représente un obstacle important à leur adoption.

Nos clients nous ont demandé si AWS pouvait leur faciliter l’adoption des conteneurs à l’échelle. En 2015, nous avons lancé Amazon ECS, notre premier service d’orchestration de conteneurs – et nous ne nous sommes pas arrêtés là. AWS continue à investir massivement afin de faciliter l’adoption des conteneurs par nos clients via l’ajout régulier de nouvelles fonctionnalités et capacités (certains articles sont en anglais). Nous proposons une large gamme de services de conteneurs entièrement managés. AWS prend en charge les opérations, la disponibilité, les patches, la mise à l’échelle et la sécurité de l’infrastructure sous-jacente. Ces services réduisent le temps que vous consacrez à la gestion des ressources, à la maintenance et à la planification des capacités, ce qui vous permet de vous concentrer sur les fonctionnalités à valeur ajoutée pour vos clients, l’amélioration continue et de votre vitesse d’exécution.

Quel service de conteneur à choisir ?

Les clients AWS ont le choix entre deux services de conteneurs entièrement managés, notamment Amazon Elastic Container Service (Amazon ECS) et Amazon Elastic Kubernetes Service (Amazon EKS). Ces deux services prennent en charge un large éventail d’options de calcul, sont bien intégrés aux autres services AWS et offrent l’échelle mondiale et la fiabilité que vous pouvez attendre d’AWS. Mais en quoi sont-ils différents ?

Simplicité vs flexibilité

Nos clients nous disent que la simplicité d’Amazon ECS est ce qu’ils apprécient le plus dans ce service. Amazon ECS offre une solution conçue par AWS pour l’exécution de conteneurs à l’échelle. Il réduit le temps nécessaire aux clients pour créer, déployer ou migrer leurs applications conteneurisées avec succès. Conçu pour être simple dès le départ, Amazon ECS réduit le nombre de décisions que les clients doivent prendre concernant le calcul, le réseau et les configurations de sécurité, sans sacrifier la scalabilité ou les fonctionnalités. Par exemple, si vous avez besoin d’un équilibreur de charge, AWS Application Load Balancer (ALB) ou Network Load Balancer (NLB) s’intègrent de manière transparente à Amazon ECS, de sorte que vous n’avez pas besoin de construire ou de maintenir des couches de liaisons.

Amazon ECS supporte de plus en plus de services AWS populaires, tels que Amazon SageMaker, Amazon Polly, Amazon Lex et AWS Batch. Des centaines de milliers de clients, dont Samsung, GE, Expedia et Duolingo, font confiance à Amazon ECS. Les clients qui adoptent les conteneurs à l’échelle et recherchent une simplification puissante devraient commencer avec Amazon ECS.

Les équipes choisissent Kubernetes pour son écosystème et sa communauté dynamiques, sa richesse d’APIs Open Source et sa flexibilité étendue. Elles s’appuient sur Amazon EKS pour se décharger des tâches complexes et indifférenciées liées à la construction et à la gestion de Kubernetes à l’échelle.

Amazon EKS offre la flexibilité de Kubernetes avec la sécurité et la résilience d’un service géré par AWS, qui est optimisé pour les clients créant des services hautement disponibles. Amazon EKS fournit un environnement Kubernetes sécurisé, fiable, scalable et résilient à des clients tels qu’Intel, Snap, Intuit, GoDaddy et Fidelity, et il aide Amazon.com à offrir une expérience client incroyable. Les clients qui adoptent Kubernetes et souhaitent bénéficier de la résilience d’AWS devraient commencer par Amazon EKS.

Où dois-je faire héberger mes conteneurs ?

Amazon ECS et Amazon EKS gèrent l’exécution de vos conteneurs, mais vous avez toujours besoin d’une couche de calcul. AWS vous propose diverses options de calcul intégrées pour cette couche. Vous pouvez choisir le bon outil pour obtenir la bonne combinaison de coûts, de performances et de fonctionnalités.

Avec Amazon EKS et Amazon ECS, vous avez la possibilité d’exécuter vos conteneurs sur les options de calcul suivantes :

  • AWS Fargate – un moteur de calcul de conteneurs « sans serveur » qui permet de ne payer que les ressources nécessaires à l’exécution de vos conteneurs. Il convient aux clients qui ne veulent pas se préoccuper de la gestion des serveurs, de la planification de capacité ou de la sécurité des charges de travail de conteneurs,
  • EC2 instances – offre le plus grand nombre de choix de types d’instances, y compris le processeur, le stockage et le réseau. Idéal pour les clients qui souhaitent gérer ou personnaliser l’environnement de calcul sous-jacent et le système d’exploitation,
  • AWS Outposts – exécutez vos conteneurs en utilisant l’infrastructure AWS en local pour une expérience hybride consistante. Il convient aux clients qui ont besoin d’un traitement des données en local, de la domiciliation des données et de scénarios d’utilisation hybrides,
  • AWS Local Zones – une extension d’une région AWS. Il convient aux clients qui ont besoin de placer des ressources dans des emplacements plus proches des utilisateurs finaux,
  • AWS Wavelength – Calcul mobile “at Edge” à très faible latence. Adapté aux applications 5G, aux expériences interactives et immersives, et aux véhicules connectés.

Conclusion

Le choix du service de conteneurs chez AWS n’a pas à être une décision binaire. Amazon ECS et Amazon EKS fonctionnent ensemble de manière transparente avec des opérations partagées, des outils de sécurité intégrés, une intégration avec AWS IAM commune et des outils de gestion cohérents pour les options de calcul et de réseau. Profitez de la simplicité des services AWS cohésifs dans Amazon ECS, ou déployez vous-même vos propres services en utilisant la flexibilité de Kubernetes sur Amazon EKS.

Utilisez les exigences d’une application spécifique, ou les préférences d’une équipe, pour vous guider dans votre choix. Vous n’avez pas besoin de prendre une décision définitive : la portabilité des conteneurs garantit que, quelle que soit votre décision, elle n’est pas à sens unique.

Si vous souhaitez la simplicité puissante, la flexibilité ouverte, ou les deux, AWS peut vous aider. En savoir plus sur les conteneurs chez AWS.

Article original écrit par Deepak Singh tech lead pour AWS container services, et adapté en Français par Kun Song, Solutions Architect dans l’équipe AWS France.