Kubernetes
Orchestrateur de conteneurs, projet open source (licence Apache 2.0) hébergé par la Cloud Native Computing Foundation. Tu lui décris l'état voulu (« trois exemplaires de cette appli »), il s'y tient : il relance les conteneurs qui échouent ou ne répondent pas à leur contrôle de santé, ajoute ou retire des exemplaires selon la charge, et répartit le trafic entre eux. Il ne construit pas ton appli : il suppose que les images de conteneurs existent déjà, fabriquées avec Docker ou un équivalent.
Forces
- Auto-réparation : relance les conteneurs en échec et retire du trafic ceux qui ne sont pas prêts
- Mise à l'échelle horizontale : plus ou moins d'exemplaires, à la main ou selon la charge du processeur
- Découverte de services et répartition de charge intégrées, pour que le trafic ne sature pas un seul exemplaire
Limites
- Courbe d'apprentissage lourde : un vocabulaire à part (pods, déploiements, services) avant le premier résultat
- Ne construit ni ne déploie ton code source, et n'est pas une plateforme clé en main : il faut y brancher ta chaîne de livraison
- Surdimensionné en dessous de quelques services : l'hébergeur ou Docker Compose suffisent bien plus longtemps qu'on ne le croit
Pour qui
- Équipes qui exploitent des dizaines de services conteneurisés en production
- Designers et chefs de produit qui doivent suivre une discussion d'infrastructure sans la subir