Lors de la phase de modernisation, FlowFactor a utilisé trois composants primaires pour transformer les applications de cette société de transport en architectures modulaires et conteneurisées :
- Le logiciel IBM Transformation Advisor a analysé les applications et leurs configurations, mais aussi recommandé les étapes à suivre pour remiser WebSphere Application Server au profit d'une exécution en conteneurs avec IBM WebSphere Liberty, léger et cloud natif. Si le grand nombre d'étapes par application pouvait sembler de prime abord intimidant, FlowFactor a utilisé son expérience pour identifier le code commun qui pouvait être réutilisé parmi les applications. Résultat ? Une fois la première application modernisée, le reste du travail fut somme toute assez simple.
- IBM WebSphere Liberty a fourni un contexte d'exécution d'application léger, idéal pour des applications modernisées dans un environnement de cloud hybride et conteneurisé. (Transformation Advisor, WebSphere Liberty et WebSphere dans sa version traditionnelle sont tous disponibles dans IBM WebSphere Hybrid Edition.)
- La plateforme Red Hat® OpenShift® (lien externe à ibm.com) et l'opérateur Open Liberty ont permis d'automatiser le déploiement et d'orchestrer les conteneurs, rationalisant ainsi l'automatisation des flux de travaux entre les environnements de développement, de test et de production.
FlowFactor a également repensé le pipeline de version du client, créant ainsi des processus normalisés et réutilisables. Ensuite, l'équipe a appliqué le logiciel d'automatisation open source Jenkins de bout en bout, des processus de construction initiaux au déploiement en production. Grâce à cette nouvelle architecture d'application, le logiciel Jenkins peut automatiser le flux du code conteneurisé tout au long du cycle de vie du logiciel.
Mais ce projet ne s'arrêtait pas là.
Dans la modernisation des applications, l'adoption est cruciale. Mettre en œuvre une technologie qui automatise les processus est une chose ; amener ses utilisateurs finaux à changer leurs habitudes de travail pour tirer le meilleur parti de l'automatisation en est une autre.
FlowFactor devait également aider l'entreprise de transport à transformer sa culture pour favoriser l'adoption de l'automatisation et des pratiques DevOps.
« Il s'agit sans aucun doute d'un sujet sensible pour les grands clients plus traditionnels et les gouvernements », explique Kilian Niemegeerts. Les ingénieurs et les autres experts des processus existants se demandent si ce changement si drastique ne viendra pas rompre une machine qui à leurs yeux fonctionne bien. Ils s'inquiètent aussi de savoir si l'automatisation ne va pas les remplacer.
« L'important ici », précise-t-il, « c'est pour nous de trouver le bon équilibre, d'automatiser dans une grande mesure tout en impliquant les ingénieurs originaux et en leur expliquant ce qui restera inchangé. Nous leur montrons que leur rôle n'est pas menacé, mais simplement altéré et que c'est pour eux l'occasion de se concentrer sur les missions les plus intéressantes, loin des tâches répétitives. Cela leur donne le temps de résoudre plus de problèmes, de rechercher des informations et d'innover davantage. »
Kilian Niemegeerts poursuit : « Dès que nous commençons à livrer les premières applications modernisées, les clients remarquent les avantages. Ils constatent des temps de déploiement plus rapides, avec moins d’impact. Finis les longs délais de maintenance pour déployer un nouvel outil ! »
Pour tirer le meilleur parti de ces processus plus rapides et plus flexibles, le DevOps est indispensable. C'est là que les équipes auparavant cloisonnées apprennent à équilibrer leurs responsabilités et à collaborer avec plus d'efficacité et d'agilité. Comme l'explique Johan Janssen, « par le passé, la disponibilité des applications relevait de l'équipe chargée de l'infrastructure. Mais quand elle voit que l'équipe de développement prend l'initiative pour apporter de la stabilité - et pas seulement de nouvelles fonctionnalités - en production, le changement de mentalité s'opère et le processus commence réellement à fonctionner et à fournir de nouvelles applications ».
Pour lui, « les développeurs détiennent ainsi beaucoup plus de pouvoir. Ils peuvent désormais déployer quand ils le souhaitent, dans l'environnement de leur choix ».