Remarque
- Cet article a été initialement rédigé en anglais
- Tous les liens figurant dans cet article mènent à la page github.com
Vous êtes-vous déjà demandé comment un établissement financier majeur tel que PostFinance assure le bon fonctionnement et l’efficacité de ses opérations numériques ? Plongez dans l’univers de Kubernetes chez PostFinance et découvrez comment nous abordons les complexités de l’orchestration du cloud, quelles sont les solutions innovantes que nous avons développées (comme l’outil de monitoring open source kubenurse) et comment ces outils améliorent non seulement nos propres opérations, mais contribuent également à la communauté technologique mondiale.
Kubernetes est devenu la plateforme d’orchestration par excellence dans le secteur, ce qui permet à PostFinance de faire évoluer de manière dynamique et fiable les applications bancaires dans plusieurs centres de données en fonction des besoins de la clientèle. De plus, Kubernetes étant un logiciel libre largement plébiscité, son utilisation nous permet de bénéficier des dernières évolutions dans les technologies d’orchestration cloud et nous offre la possibilité de jouer un rôle dans ce domaine, en proposant nous-même des logiciels open source et en contribuant ainsi à l’écosystème.
Nous exploitons environ 30 clusters Kubernetes partagés à travers plusieurs zones et environnements réseau, basés sur la distribution open source de Kubernetes. Contrairement à de nombreuses entreprises, nous utilisons simplement des outils open source (comme kubeadm et ansible) pour créer et gérer nos clusters, ce qui nous donne une grande liberté et nous permet de mettre à jour et de bénéficier fréquemment des dernières versions.
Étant donné la nature très dynamique et décentralisée de Kubernetes, où les applications sont réparties sur une multitude de nœuds de calcul (ou serveurs, si vous préférez) et sont censées se déplacer fréquemment, garantir des performances réseau adéquates et une faible latence entre tous les nœuds est une tâche complexe. D’autant plus que, pour certaines des applications fonctionnant sur Kubernetes, le moindre problème réseau peut se traduire par un grand retard lorsqu’il s’agit de payer avec votre carte ou de retirer de l’argent.
La cible du lien s'ouvre dans une nouvelle fenêtre Kubenurse est une application open source de monitoring réseau, développée et maintenue par PostFinance. Elle s’exécute sur tous nos nœuds de calcul Kubernetes et effectue constamment une série de vérifications réseau vers les nœuds voisins, vers le point d’entrée http(s) du cluster lui-même, et plus encore. Elle nous aide à surveiller la stabilité et la latence du réseau et nous permet d’identifier rapidement les nœuds ayant des performances anormales ou qui perdent des paquets réseau.
Tout d’abord, nous bénéficions grandement du fait que Kubernetes soit open source. Il est donc juste que nous contribuions à la communauté en mettant à disposition un outil de surveillance réseau pour l’ensemble des utilisatrices et utilisateurs, d’autant plus que cet outil ne contient aucune donnée confidentielle.
Ensuite, cela nous permet aussi de bénéficier des contributions des utilisatrices et des utilisateurs du monde entier (citons, à titre d’exemple, La cible du lien s'ouvre dans une nouvelle fenêtre cette amélioration, La cible du lien s'ouvre dans une nouvelle fenêtre cette correction ou La cible du lien s'ouvre dans une nouvelle fenêtre ce perfectionnement mineur), et d’ouvrir la discussion sur des problèmes que nous n’avons pas encore rencontrés, comme La cible du lien s'ouvre dans une nouvelle fenêtre cette discussion sur l’optimisation de l’outil pour des clusters extrêmement grands, dans laquelle les échanges entre ingénieurs de différentes entreprises ont conduit à une solution appropriée.
Le fait que kubenurse soit open source signifie que son code source est lisible par tout le monde et que toute utilisatrice ou utilisateur peut contribuer au projet, soulever un problème et lancer une discussion.
En général, cela implique aussi que le projet soit publié et mis à disposition de l’ensemble des utilisatrices et des utilisateurs, et idéalement que PostFinance continue à le maintenir (c’est-à-dire à mettre à jour l’outil, à implémenter de nouvelles fonctionnalités et à corriger les bugs ou problèmes potentiels).
L’outil est distribué sur tous les nœuds de calcul du cluster et une série de vérifications est effectuée pour s’assurer que les différents chemins réseau entre les nœuds sont fonctionnels. kubenurse collecte aussi des mesures précises de latence et les expose sous forme de métriques, ce qui nous permet ensuite de créer des visualisations/dashboards et de déclencher des alertes lorsqu’une métrique dépasse notre objectif de niveau de service.
Un La cible du lien s'ouvre dans une nouvelle fenêtre dashboard Grafana est mis à disposition dans le code source du projet, et les utilisatrices et utilisateurs de kubenurse peuvent l’importer dans leur instance Grafana pour commencer à visualiser et interpréter les mesures effectuées par kubenurse.
Une fois l’opération terminée, un dashboard comme celui présenté ci-après est généralement disponible en quelques minutes, fournissant des informations détaillées en temps réel sur l’état global du réseau du cluster.
PostFinance bénéficie des projets open source comme Kubernetes, sa plateforme d’orchestration cloud, et contribue à l’écosystème en mettant plusieurs projets, dont l’outil de monitoring réseau kubenurse, à la disposition de la communauté.
Cette collaboration bidirectionnelle et inter-entreprises permet à PostFinance et à d’autres de bénéficier de logiciels de pointe et de collaborer sur des problèmes complexes, offrant ainsi une plateforme cloud à la pointe de la technologie où la performance et la fiabilité garantissent une expérience utilisateur et développeur fiable.