Lorsque l'on parle de technologie pour déployer des applications, un nom revient assez souvent : Kubernetes.
Cette technologie est aujourd'hui au cœur des infrastructures de nombreuses entreprises, des start-ups aux grandes organisations internationales. Mais qu’est-ce que Kubernetes et quel est son usage ?
Kubernetes vient du grec ancien et signifie « capitaine » ou « pilote ». C’est le nom que porte cette technologie qui permet de déployer un ensemble d’applications et de les coordonner comme un chef d’orchestre.
Et en informatique, rien ne se passe toujours comme prévu : panne de serveurs, coupure d’Internet, etc. C’est pour toutes ces raisons que l’on a besoin d’un outil capable de s’adapter à tous ces aléas et de faire en sorte que le service délivré par une application puisse continuer de fonctionner sans interruption. Kubernetes coche toutes ces cases.
Pour obtenir véritablement l’effet escompté, on installe cette technologie sur un ensemble de serveurs. On appelle ce concept le cluster.
Pour garder notre image, si Kubernetes est le chef d'orchestre, le cluster représente l'orchestre tout entier (les musiciens, les instruments, etc.).
C'est tout simplement un groupe de serveurs qui travaillent en équipe comme s'ils n'étaient qu'une seule et même machine.
Fonctionner en groupe plutôt que seul présente de nombreux atouts : si l'un de ces serveurs tombe en panne ou est surchargé, les autres prennent immédiatement le relais. Pour l'utilisateur final, le service reste disponible et fluide, comme si de rien n'était.
Vous l’aurez compris, au final, Kubernetes est ce « cerveau » qui permet de coordonner toutes ces prises de décision et de maintenir une application en vie.
À mesure que les infrastructures grandissent et qu’il devient nécessaire de déployer davantage d’applications, une nouvelle problématique pointe le bout de son nez.
Il est très rare de n’avoir qu’un seul cluster Kubernetes. Généralement, on en possède plusieurs. Cela permet notamment de séparer les environnements critiques de ceux qui ne le sont pas, ou tout simplement d’en disposer dans différents endroits : datacenters locaux ou cloud.
Pour déployer et maintenir tous ces clusters, chez Piguet Galland, nous utilisons un outil qui s’appelle Cluster API.
Voyez-le comme une tour de contrôle permettant de déployer des clusters Kubernetes partout où cela est pertinent, sans oublier d’intégrer tous nos processus de sécurité ainsi que la gestion du cycle de vie des machines sous-jacentes.
S’appuyer sur cette couche d’automatisation permet de simplifier bien des choses : le temps de déploiement est considérablement réduit, tout comme la complexité opérationnelle.
Pourquoi ? Parce que les interventions manuelles sont réduites à leur strict minimum, ce qui limite les risques d’erreur.
Au fil du temps, Kubernetes est devenu la plateforme de référence pour le déploiement d'applications au sein de la banque.
Nous avons aujourd'hui l’envie d’aller encore plus loin, notamment en y déployant des bases de données ou des modèles d’intelligence artificielle afin de répondre à l'ensemble de nos besoins.