Le secteur bancaire : la haute disponibilité grâce au cloud

Avr 1, 2021

Une consultante Agyla.cloud accompagne notre client, acteur majeur du secteur bancaire sur deux projets : la migration des applications vers le Cloud et la création des pipelines CI/CD dans le Cloud.
Elle nous raconte son expérience. 

 

J’ai commencé ma mission en juin 2019, au sein de l’équipe intégration. Le projet avait déjà commencé et ils avaient besoin de quelqu’un qui maîtrise Kubernetes et l’implémentation des chaînes CI/CD. J’ai également rejoint une autre équipe, celle de la migration Cloud, en octobre 2019. 

 

Les besoins du client et les solutions d’Agyla.cloud

 

  • La migration des applications Legacy vers le Cloud

Dans le cadre du projet de notre client, je travaille avec une grande équipe de développeurs qui s’occupe de la migration des différents modules du projet de Spring MVC vers Angular et Spring Boot. 

Nous avons deux projets de migration. Dans les deux cas, nous visons à migrer le plus de modules possibles vers le Cloud. Un des projets concerne la partie applicative, et le Cloud, la partie CI/CD et le déploiement. 

Une fois que les applications sont développées, nous faisons le déploiement et la migration vers le Cloud avec Kubernetes et cela par l’implémentation des charts helm pour le one-click deployment, déployer et configurer en un seul clic les pods, l’ingress, service, les configmaps…

Nous stockons les informations sensibles – comme les mots de passe et certificats – dans des secrets, pour gagner en flexibilité et en sécurité. 

Pour les modules Standalone, au lieu d’utiliser des Dockerfiles nous utilisons le plugin Jib qui permet de dockerizer les applications dans des images prêtées au déploiement.

Après le déploiement, notre première priorité est d’assurer l’Autoscaling et la disponibilité de l’application

En ce moment, nous faisons du déploiement blue-green. Nous créons donc deux environnements identiques : une fois que nous avons testé la deuxième URL et que nous nous sommes assurés que tout va bien, nous basculons vers cette dernière. 

Cependant, le Canary Deployment est hors de portée pour des limitations imposées par le fournisseur cloud.

  • L’intégration

Pour ce volet, je travaille avec l’équipe intégration. Avant, nous utilisions Jenkins et Nexus, hébergés sur des serveurs Legacy. Maintenant, nous utilisons une infrastructure Cloud ICP, un cluster Kubernetes, ainsi que Jenkins, Artifactory et Ansible. (Jenkins est installé dans un cluster Kubernetes dont les agents Jenkins sont des pods dans les workers node du cluster.)

Pour le moment, il y a deux parties. Nous sommes en train de migrer des applications vers Spring Boot, mais nous avons toujours certaines applications Legacy. Il y a, donc, deux déploiements :

  • Le déploiement sur le Cloud
  • Le déploiement sur des serveurs Legacy. 

Nous créons les pipelines CI/CD des modules Standalone et des modules Legacy. En effet, il s’agit de chaînes CI/CD différentes. Une autre équipe s’occupe du déploiement Ansible des applications, nous collaborons étroitement avec cette équipe par des interventions au niveau des playbooks 

 

Les avantages des solutions d’Agyla.cloud

 

Notre solution a plusieurs avantages : 

  • Une haute disponibilité des applications
  • Des gains en termes de portabilité
  • Des gains de temps considérables. 
  • Des gains en terme de budget 

Nous assurons la haute disponibilité des applications grâce à des probes et l’autoscalling (HPA). Avec le déploiement blue-green, nous avons la possibilité de tester sur une URL et en même temps faire tourner l’application sur une autre URL. 

Nous avons pu effectuer des gains en termes de portabilité avec Kubernetes. Avant, quand il n’y avait que des applications Legacy, s’il y avait un problème avec le serveur, nous perdions l’application. Là, avec Kubernetes, nous déployons des containers au sein des pods. Si le pod ne tourne pas, ou s’il y a un souci au niveau du container, il va automatiquement créer un autre pod pour que l’application reste toujours disponible.

La priorité pour 2021 est donc de migrer 60% à 70% des modules vers le Cloud. S’il y a une modification, l’objectif est de pouvoir déployer uniquement le micro-service ou module, et non d’y consacrer des journées.

 

Retours sur le plan personnel

 

Cette mission m’a permis de renforcer mes compétences sur Kubernetes et Groovy pour l’implémentation des chaînes CI/CD, de travailler avec ELK pour la gestion des métriques des pods (avec metricbeat) et améliorer mes connaissances de Helm. Aujourd’hui, je suis en mesure de lancer une commande avec Helm et avoir l’application en statut “ready”  

Travailler pour ce grand projet, au sein d’une petite équipe, représente une opportunité très instructive pour moi. C’est très enrichissant de travailler sur ces projets avec une grande variété de technologies. Nous avons également un coach Agile au sein de notre équipe, qui nous aide à apprendre les bonnes pratiques de l’agilité. 

Poursuivre ma lecture

Aucun résultat

La page demandée est introuvable. Essayez d'affiner votre recherche ou utilisez le panneau de navigation ci-dessus pour localiser l'article.

Accueil
Expertises
Formations
Contact