SwissLife passe à Devops pour assurer sa transformation numérique
La transformation numérique se traduit sur les DSI par une pression accrue des métiers sur les délais de développement des nouvelles applications. Pour répondre à ces exigences, SwissLife a totalement revu son architecture IT et ses processus de développement, avec un objectif : DevOps.
Pour Denis Bourdon, DSI de SwissLife, la transformation numérique du premier groupe d'assurance-vie suisse n'est pas un vain mot. Celle-ci a déjà eu un profond impact sur la DSI. Le rythme de développement des nouvelles versions des sites Web et de ses nouvelles applications mobiles proposés aux clients s'est accéléré de manière spectaculaire.
« Dans une approche traditionnelle, nous avions des sorties de versions tous les trois mois, confie le DSI. Avec les nouvelles méthodes de développement agiles et l'accroissement des exigences métier, nous sommes sur des cycles de mise en production toutes les trois semaines ».
Les « pizza teams » travaillent au rythme de sprints de trois semaines, mais il n'est pas exceptionnel que trois « pizza teams » travaillent en parallèle sur un même projet. Si bien que la DSI doit mettre en production une nouvelle version chaque semaine.
Un projet de Cloud interne initié en 2012
Atteindre un tel niveau d'efficacité opérationnelle ne s'est pas fait en un jour. « Il faut voir DevOps comme l'aboutissement de tout un programme de transformation » explique Denis Bourdon. Celui-ci a mené dès 2012 une restructuration profonde des infrastructures informatiques de l’assureur.
« Lorsque j'ai pris la direction des infrastructures, mon constat était que si nous ne transformions pas nos infrastructures et nos processus côté opération, nous serions spectateurs de la transformation numérique et non des acteurs de celle-ci. Nous avons remplacé les serveurs et le stockage, mis en place un plan de continuité d'activité, outillé les processus ITIL, standardisé nos environnements et mis en place le provisioning automatique. »
Le DSI a opté pour une approche Cloud privé. L'architecture du Cloud SwissLife s'appuie sur des serveurs Cisco, des baies de stockage EMC et sur la solution vRealize Automation de VMware pour le volet provisioning automatique. Au total, 1 300 machines virtuelles fonctionnent actuellement sur ce Cloud privé.
Du côté des développements, SwissLife s’est doté très tôt d’une plateforme d’intégration continue basée sur la solution Open Source Jenkins. Dans le portefeuille des projets gérés par la DSI, deux types d'applications sont éligibles à l'intégration continue. D'une part tous les portails existants développé en Java et tous les nouveaux sites web et Apps développés en technologie node.js et angular.js.
L'agilité conduit à un resserrement des liens entre études et production
Les équipes de développement fonctionnent en mode agile via la méthode Scrum et dans ce cadre, un premier rapprochement avec les équipes de production s'est opéré. Ainsi, en fonction de l'avancement des projets, un intégrateur venu de la production vient participer aux mêlées quotidiennes Scrum sur les plateaux projet afin de faciliter les mises en production.
« Côté production, la vraie nouveauté a été l'automatisation de nombreuses tâches qui étaient jusqu'à maintenant manuelles, explique le DSI. Le déploiement était réalisé par les intégrateurs, avec tous les risques que peuvent présenter les opérations manuelles en termes de qualité, de réactivité. L'automatisation a permis de libérer des ressources et apporté un gain en termes de qualité puisqu'on est bien certains que tous les composants sont bien sur les bons serveurs. »
Outre la mise en production elle-même, chaque sprint de développement implique des phases de recettes et donc disposer d'environnement de test adaptés en termes d'infrastructures et de jeux de données.
DevOps implique donc d'être en capacité de provisionner et déprovisionner ces environnements afin de disposer des infrastructures applicatives et des bons jeux de données. Le tout pour tester chaque composant applicatif dans différents environnements de développement, d'intégration, de recette et de pré-production pour enfin aboutir en production.
Clé de voute de DevOps, la plateforme d'automatisation de la mise en production
Pour assurer ces déploiements, SwissLife a fait le choix de la solution d’automatisation de la mise en production des applications Release Automation de CA Technologies.
« En amont d’un tel déploiement, il faut avoir travaillé sur le provisioning automatique d'infrastructure, et disposer d’un portail de service à l'image d'un cloud provider afin de pouvoir provisionner les infrastructures » prévient le DSI.
« Cela implique une standardisation de ces environnements, de normaliser les composants logiciels et les serveurs, pour ce qui est du déploiement. »
Pour la mise en place de Release Automation, impossible pour la DSI de geler les développements. « Nous avons mis en place la solution pour une première application, puis deux, puis trois en sachant que, une fois qu'une application a rallié la plateforme, le déploiement de tout nouveau composant doit obligatoirement passer par CA Release Automation. […] Nous avons commencé par des déploiements "à la main" par les équipes sur les environnements de recette et de production, puis les environnements d'intégration et de développement, de manière à remonter vers les équipes études pour qu'elles déploient elles-mêmes leurs composants, ce qui leur permet de vérifier très vite la qualité de leur déploiement et d'itérer plus rapidement. »
Le DSI souligne l’effort d'accompagnement des équipes études pour utiliser une plateforme qui représente une évolution majeure pour elles de leur façon de travailler. « Devops, c'est le rapprochement de deux cultures, avec d'un côté la culture du développement où il faut aller très vite et la culture de la production qui privilégie la qualité, la stabilité et la performance. Au-delà des processus et des outillages, c'est le rapprochement de deux cultures qui ont longtemps été en conflit. » Deux mondes que le DSI connait bien pour avoir été successivement directeur de la production, puis directeur des études.
Deux membres de la DSI très qualifiées ont été dédiés au projet. Elles ont reçu l'assistance des ingénieurs de CA Technologies afin de mettre en place la solution, mais surtout pour s'appuyer sur les bonnes pratiques afin de définir les Workflow standards.
Une formation d’une demi-journée a été donnée à toutes les personnes amenées à alimenter les processus de déploiement automatique. Sur les 300 jours/hommes du projet, 80 ont été consacrés à l’accompagnement des équipes études. Un forfait d'accompagnement de 50 000 €, c’était le prix à payer pour rapprocher les équipes études des équipes production.
« La mise en œuvre de CA Release Automation n’est pas très complexe à partir du moment où un gros travail amont avait été mené sur la standardisation des composants. Il faut définir une convention de nommage, une standardisation des serveurs afin d'être très clair sur ce que l'on déploie et où on le déploie. Cela permet ensuite de limiter le nombre de workflow à mettre en place. »
Désormais, grâce aux workflow mis en place, le déploiement d’un nouveau composant est réalisé en 1 à 5 minutes contre 15 à 30 minutes avant le déploiement.
Si les nouvelles applications SwissLife ont rejoint la plateforme en priorité, d'anciennes applications ont peu à peu rejoint la plateforme de déploiement. C'est notamment le cas des portails internes de l'assureur, des workflow de GED qui ont été basculées dans un deuxième temps. Aujourd'hui, toutes les applications "candidates" au lancement de ce projet de neuf mois ont rejoint la plateforme, soit 42 des 150 applications utilisées par SwissLife.