Il y a 5 ans -

Temps de lecture 4 minutes

Série spéciale AWS re:Invent 2017 – Orchestration de conteneurs

Cette année l’AWS re:Invent avait lieu à Las Vegas du 27 novembre au 1er décembre. L’occasion pour nos Xebians de vous résumer les annonces qui ont retenu leur attention.

Au programme : des conteneurs, du Serverless, du GraphQL et bien d’autres nouveautés chez AWS… tant d’annonces que nous vous les présenterons sous forme diluée au cours des prochaines semaines, en guise d’ersatz de calendrier de l’avent, avec comme cadeau de Noël un retour sur les services que nous aurons testé d’ici là !

Vous pourrez donc retrouver un résumé des annonces nous ayant marqué, regroupées par thématique :

  1. Vendredi 8 décembre : Orchestration de conteneurs (vous êtes ici)
  2. Lundi 11 décembre : Une flopée d’annonces pour Lambda
  3. Jeudi 14 décembre : Stockage de données
  4. Lundi 18 décembre : Service mobile, EC2 et Active MQ
  5. Jeudi 21 décembre : Réalité virtuelle & augmentée et Machine Learning

Enfin du Kubernetes managé

 Annonce sans une once de surprise tant elle était attendue, mais néanmoins fracassante : EKS, de son nom complet Amazon Elastic Container (ECS) pour Kubernetes.

Pour rappel, Kubernetes est un orchestrateur de conteneurs open-source développé par Google et désormais sous la direction de la Cloud Native Computing Foundation (CNCF). Ce côté GIFEE l’a rapidement propulsé et a entraîné une dynamique communautaire qui en fait maintenant un projet très complet et plébiscité par de plus en plus d’entreprises.

Outre la possibilité d’héberger un cluster Kubernetes chez soi grâce à son côté Open Source, Google propose de son côté GKE, un cluster Kubernetes managé sur Google Cloud Platform. Même Microsoft propose du Kubernetes sur Azure ! De son côté, Docker vient d’annoncer le support de Kubernetes, et Mesosphere a présenté le support de Kubernetes comme framework DC/OS il y a déjà un bon moment.

Bon dernier dans la course à Kubernetes, AWS ne fournissait jusqu’ici qu’ECS pour gérer des conteneurs, et vient donc combler l’écart avec la concurrence. C’était assez prévisible au vu des éléments précédemment évoqués.

AWS propose donc désormais de gérer un cluster Kubernetes pour vous, avec la prise en charge de tous les pain points habituels : haute disponibilité, ajout de noeuds, mise à jour, monitoring du cluster, … L’intégration avec les autres services d’AWS est également un gros point positif : load balancing par ELB, gestion des permissions par le service IAM, partie réseau via VPC, PrivateLink, etc.

En revanche, il est toujours nécessaire de gérer la quantité de noeuds pour les clusters ECS/EKS « manuellement », ce dont on aimerait bien se passer et qui sera notamment possible avec AWS Fargate, lui aussi annoncé lors de cette re:Invent 2017.

Fargate, ou comment lancer des conteneurs sans se soucier de l’infrastructure

… en parlant d’AWS Fargate, celui-ci fait justement partie des nouveaux services annoncés lors de ce re:Invent 2017 !

Fargate est là pour palier le bémol associé plus haut dans cet article à ECS/EKS : celui de la gestion des instances sous-jacentes du cluster ECS/EKS. En effet, le but de Fargate est de totalement abstraire la notion d’instances sur lesquelles l’orchestrateur de conteneurs va tourner ! Ainsi, on est vraiment sur de l’orchestration de conteneurs « as a service », ne se souciant que de ces derniers.

Les questions qui se posent immédiatement sont :

  • Quid de la facturation, qui n’est donc plus basée sur les tailles d’instances EC2 ? 
  • Qu’en est-il de l’isolation ? AWS fait-il entièrement confiance aux namespaces et cgroups sur lesquels reposent les conteneurs, ou y a t-il toujours un niveau de virtualisation qu’il nous abstrait totalement ?

Pour le premier point, on se retrouve sur un modèle de facturation se rapprochant des Lambdas : $0.0506 par vCPU par heure, $0.0127 par Go de mémoire par heure, avec une facturation effectuée à la seconde. On est donc bien sur un esprit de conteneurisation, où l’on préfèrera des unités d’exécution minimales mais en grand nombre.

Pour l’isolation, le mystère reste entier, mais il y a fort à parier qu’Amazon conserve une couche de virtualisation en dessous des conteneurs.

Enfin, notons que Fargate n’est actuellement disponible que pour des tâches ECS, et non EKS, dont le support est prévu pour 2018. En revanche, la gestion de la cohabitation de Fargate et EC2 comme supports pour ECS est la bienvenue : il est possible d’avoir des clusters ECS hétérogènes, ayant des tâches à la fois sur des instances EC2 ou reposant sur Fargate.

Notons au passage qu’une fois les tâches EKS gérées par Fargate, nous serons enfin dans le cas tant demandé depuis des mois :

Publié par Alexis "Horgix" Chotard

Alexis "Horgix" Chotard est DevOps chez Xebia et s'intéresse particulièrement à tout ce qui est infrastructure moderne et dynamique (infra-as-code, containérisation, automatisation, self-healing, déploiement continu, ...). Alexis est également formateur au sein de Xebia Training .

Commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.