4 mars 2021 • Technologie par Marketing Skaleet

Le Continuous Delivery chez Skaleet 👨‍💻

Déployer les changements de production est le cœur et le métier stratégique de toute entreprise moderne et technologique. Peu d’éditeurs de logiciels historiques et de banques appliquent ce type de processus de mise à jour de la plateforme de production du Core Banking et continuent à développer de nouvelles versions pour apporter de nouvelles fonctions via migrations tous les 12 à 18 mois. 

" If it hurts, do it more often "

Martin Fowler - Écrivain, Blogueur, Programmeur et Informaticien

Définition du Continuous Delivery 💡

Le Continuous Delivery permet de mettre à jour un logiciel (ou plateforme) de production à tout moment (ou à intervalles courts et réguliers). Ce processus continu de mise à jour est entièrement automatique. Cela facilite la création et les nouveaux déploiements, notamment le développement de nouvelles fonctionnalités, l’intégration de nouveaux partenaires, mais aussi d’éliminer les bugs tout en apportant des correctifs et des améliorations à l’existant. 

Skaleet a pris la décision de s’orienter vers le Continuous Delivery dans l’optique de réaliser des mises à jour plus régulières pour ses clients, mais aussi pour construire plus rapidement la prochaine génération de fonctionnalités bancaires digitales

Notre approche du Continuous Delivery peut être répartie dans les catégories suivantes:

  • Une Architecture au sein du Cloud
  • Des Tests automatisés et réguliers
  • Gérer la configuration
  • Une culture agile et durable 
  • Une qualité supérieure

Une Architecture au sein du Cloud ☁️

Notre solution de Core Banking Platform est construite dans le Cloud. Cette plateforme couvre l’ensemble des services bancaires digitaux et commercialisés à nos clients via des APIs (création de compte, obtenir l’historique des transactions ou encore effectuer des paiements). Au sein du Cloud, l’ensemble de nos fonctionnalités, fonctions et processus sont développés indépendamment afin de personnaliser les Core Banking Platforms de nos clients, donc adaptés à leurs besoins. L’avantage de cette architecture nous permet d’évoluer plus rapidement pour le client. Nous pouvons apporter des correctifs, des améliorations ou encore de nouvelles fonctionnalités en continu. De plus, l’architecture permet d’intégrer facilement tout nouveaux partenaires, via des APIs, apportant de la valeur ajoutée aux clients mais surtout aux consommateurs finaux.

Des tests automatisés et réguliers 

Les tests sont les freins les plus reconnus dans une volonté de déploiement rapide de nouvelles fonctionnalités. En effet, les développeurs codent et déploient les nouvelles fonctionnalités, fonctions ou encore processus dans un environnement de tests. Pendant ce temps, aucune valeur ajoutée n’est livrée aux clients. L'équipe produit s’intéresse aux développements réalisés sur un temps planifié pour remonter les correctifs ou les améliorations à réaliser. Presque tous les tests sont automatisés car les développeurs partagent la responsabilité d’automatiser les tests de code qu’ils écrivent. 

Ensuite, nous permettons à l’ensemble de nos clients de tester l’ensemble de ces nouvelles fonctionnalités sur des plateformes de tests pendant 15 jours. Après ces 15 jours révolus, ces nouvelles fonctionnalités sont mises en production et disponibles sur les Core Banking Platforms des clients. Durant cette période, appelée UAT, les clients sont en capacité de remonter les bugs rencontrés et les équipes répondent en temps réel pour résoudre les problèmes de développement. 

Gérer la configuration 👨‍🔧

Chaque détail de notre infrastructure de développement, de test et de production est codifié et hébergé dans le Cloud. Avoir une infrastructure en tant que code permet de reproduire des environnements de tests et de production à la demande, tout en déployant notre solution en quelques clics sur plusieurs régions géographiques dans le monde. Nous n’avons pas de conflit d’environnement car chaque modification est stockée dans un historique de contrôle. Cela permet de savoir ce qui a été changé et quand, et il est possible de revenir en arrière si nécessaire. Les développeurs reçoivent des alertes sur Slack quand un test ne réussit pas les épreuves automatisées (et tant que le problème n’est pas résolu). 

Une culture agile et durable 

Ce processus de Continuous Delivery doit reposer sur une culture de confiance. Que vous soyez au bureau ou au télétravail, la confiance est donnée aux employées qui savent ce qui doivent faire et nous leur donnons les ressources et outils nécessaires pour y parvenir. Ce sont les garants de la réussite du Continuous Delivery, du développement de nouvelles fonctionnalités innovantes et de la satisfaction de nos clients. 

Une qualité supérieure 

Grâce à notre culture agile, cela permet d’obtenir une meilleure qualité dans les produits, notamment dans la sécurité, les performances ou encore l’intégration du code. Avec une approche Microservices, chaque fonction est découpée en sous-tâches indépendantes et réalisables, en peu temps et sans impacter le fonctionnement général. Elles sont, par la suite, intégrées sur la plateforme de production et apparaîtront dans la solution globale « client » au moment de la mise à jour. Cela apporte une efficacité accrue dans l’évolution du produit. Les nouvelles fonctionnalités étant délivrées plus rapidement et de façon plus fiable, le Continuous Delivery permet une satisfaction accrue des utilisateurs et un meilleur Time To Market pour les clients.

  • #innovation

  • #corebanking

  • #continuousdelivery

  • #agile