Industrialiser les développements applicatifs de bout en bout : l’exemple de Generali

Le Groupe d’assurances Generali France a automatisé tous ses déploiements applicatifs pour gagner en agilité, améliorer la performance et sécuriser ses processus de mise en production. Le témoignage de Cyril Thenon, responsable du service Performance & Industrialisation au sein de la direction Production et Services de Generali France.

Pour les DSI, la gestion des releases d’applications, lorsqu’elle est effectuée manuellement, constitue l’une des activités les plus contraignantes. En effet, ce processus cumule quatre handicaps : il consomme beaucoup de temps, il coûte cher, il est d’autant plus complexe que l’entreprise est importante et il est risqué, car source d’erreurs humaines et de perte de maîtrise des mises en production. Avec des conséquences potentiellement désastreuses pour la performance opérationnelle et l’image de l’entreprise.

Selon Melinda-Carol Ballou, analyste chez IDC, « à l’heure où les développements en mode agile s’imposent dans les entreprises, le déploiement d’applications provoque un goulot d’étranglement, il ralentit le processus de mise en production alors que, dans le même temps, les métiers ont rapidement besoin d’applications pour développer le business. »

Réduire la complexité et les coûts, gagner du temps

La solution ? Normaliser, industrialiser et automatiser. C’est l’approche retenue par le groupe Generali, premier assureur vie en Europe avec plus de six millions d’assurés et, en France, deuxième groupe d’assurance généraliste, avec 10 000 collaborateurs et agents généraux. « Notre objectif était triple : réduire le niveau de complexité des mises en production, raccourcir le cycle de déploiement pour le réaliser en quelques clics et se conformer à de nouvelles règlementations », résume Cyril Thenon, responsable du service Performance & Industrialisation au sein de la direction Production et Services de Generali France. Les reportings de déploiement doivent notamment se conformer aux audits FARG (Financial Accounting Risk Gouvernance) et aux initiatives internes au groupe Generali, afin de répondre aux exigences accrues de traçabilité.

L’activité du service de production de Generali est très significative avec, en moyenne par mois, 120 changements applicatifs, 200 déploiements en production pour le mainframe et 190 pour les environnements distribués et plusieurs milliers de traitements batch. Globalement, Generali France gère 470 applications métiers, dont 120 sont majeures et 85 critiques. Le parc applicatif de Generali est le résultat, à 80 %, de développements internes, d’où la pertinence d’industrialiser les déploiements pour gagner en efficacité.

Une solution unique pour tous les déploiements

Le projet de déploiement des releases a été initié chez Generali en 2011, avec deux technologies supportées (JBoss et WebSphere), auxquelles se sont ajoutées WebMethods et Sybase en 2012, Oracle, Datastage et Dollar Universe en 2013, puis SQL Server et les livrables batch en 2014. « Depuis juin 2014, tous les déploiements en production sont réalisés avec les solutions Serena Software. Les demandes sont désormais traitées de façon simple, rapide et efficace », précise Cyril Thenon.

Generali France a ainsi déployé la plateforme de Serena Software pour gérer le cycle de vie des releases dès la sortie de l’usine de développement. Generali utilise trois composants Serena Software :

  • Business Manager, pour construire les interfaces de gestion des demandes et des workflows d’orchestration, avec des fonctionnalités de reporting et d’audit intégrées.
  • Dimensions CM pour assurer la gestion des versions avec une fonction de « coffre-fort » qui garantit l’intégrité et assure, notamment, qu’un même package applicatif reste identique, quels que soient les différents environnements.
  • Deployment Automation, pour automatiser l’exécution des déploiements de manière centralisée et dans lequel le processus de déploiement technique a été modélisé.

Livraison continue au sein des différents environnements

L’automatisation des processus permet d’orchestrer les déploiements complexes au sein des différents environnements de l’entreprise. Les équipes créent et visualisent de manière graphique le processus de déploiement de bout en bout. De plus, la configuration de nouveaux processus de déploiement est simplifiée par des modèles de processus réutilisables.

Garantir l’intégrité et la maîtrise de bout en bout des déploiements applicatifs

La fonctionnalité de type « coffre-fort » est fondamentale car elle garantit l’intégrité des déploiements : en effet, le « coffre-fort » permet de stocker, de façon centralisée, tous les packages applicatifs et de gérer les différentes versions. Surtout, elle permet de revenir aisément sur une version précédente de l’application ou de la déployer sur de nouveaux nœuds applicatifs (pour assurer une montée en charge sur un site Web par exemple).

Autre atout de la solution de déploiement des releases : le recours à un sas de déploiement en recette, utilisable par les équipes Études. « C’est une réelle avancée en terme d’agilité pour les équipes projet lors de cette étape cruciale entre l’intégration et la pré-production où la qualité doit être maîtrisée et les erreurs humaines évitées », affirme Cyril Thenon. La difficulté est, en effet, de pouvoir maîtriser les déploiements de bout en bout.

Cette maîtrise devient incontournable dès lors que les intervenants sont multiples, que plusieurs modes de livraison coexistent, qu’il faut utiliser des outils différents selon les technologies et que les impacts des déploiements sont difficilement identifiables, notamment du fait de livraisons manuelles qui accentuent les risques.

Le sas constitue un point d’entrée unique pour tous les livrables projets, quelle que soit la technologie. Un portail de dépôt des livrables applicatifs pour mise en recette est à la disposition des équipes. Un contrôle des packages déposés est effectué et un rapport de déploiement est élaboré.

La fluidité et la qualité au rendez-vous

Cette solution unique de management des releases améliore considérablement la fluidité du processus, dans la mesure où le déploiement en environnement de recette peut s’effectuer quasiment en continu avec la possibilité de plusieurs livraisons par jour (à midi et à minuit chez Generali), avec un système de « drag & run ». « C’est une simplification du processus de déploiement et une amélioration du suivi pour les équipes projets », souligne Cyril Thenon, qui ajoute : « La souplesse de la solution a permis de l’adapter facilement à nos normes et processus. »

La mise en œuvre d’une solution de management des releases applicatives se traduit par un retour sur investissement quasi immédiat, avec un effet de levier très significatif. Melinda-Carol Ballou, analyste chez IDC, rappelle que « 80 % des coûts en logiciels sont supportés lors des phases de mise en production et de post-déploiement ; même une amélioration de quelques points de l’efficacité du processus permet de gagner beaucoup plus sur l’ensemble du cycle de gestion des applications. »

Pour Cyril Thenon, l’automatisation des déploiements applicatifs apporte trois bénéfices concrets : « D’abord, nous limitons considérablement les erreurs humaines et la qualité est respectée. Ensuite, nous répondons parfaitement aux besoins d’audit : le processus de déploiement est mesurable, répétable et auditable. La solution permet de connaître de manière exhaustive toutes les applications qui passent en production, grâce à un point d’entrée unique.

Enfin, les équipes en charge des déploiements ont vite compris que ce nouveau processus allait leur simplifier la vie : la phase de recette technique est beaucoup plus efficace et la mise en production gagne en qualité. Ainsi, tout collaborateur autorisé peut aisément transférer une application en recette et en pré-production puisque nous sommes certains qu’aucune modification n’y a été apportée. »

Une étape incontournable vers DevOps

Pour la mise en œuvre d’une telle approche de release management, Cyril Thenon recommande plusieurs bonnes pratiques : « Scinder le projet en lots, ne pas hésiter à itérer. Recruter des ressources projets compétentes en développement et les associer à des sachant volontaires. Placer au moins un quick win en début de projet afin de démontrer la valeur de la solution aux équipes, de manière à les faire adhérer rapidement. »

Il convient également d’éviter les deux écueils les plus courants : « D’une part, le fait de sous-estimer le temps à consacrer à la mise en place des normes et à l’analyse de l’existant, et d’autre part, la difficulté à définir le niveau de granularité le plus optimal dans le packaging des applications. »

L’industrialisation et l’automatisation des déploie­ments applicatifs constitue un élément central et un passage obligé pour engager une approche de type DevOps, qui renforce la collaboration entre les équipes de développement et celles qui sont responsables de la mise en production. DevOps garantit un flux orchestré des départements métiers au développement et aux opérations. « C’est notre prochaine étape, annonce Cyril Thenon, afin de passer directement de notre usine de développement vers Serena sans manipulation des codes sources. Ceci afin de simplifier plus encore la vie de nos développeurs et de nos équipes de production. »


DevOps : les réfractaires en minorité

Selon une étude IDC, 38 % des grandes entre­prises françaises ont d’ores et déjà lancé une initiative DevOps, un taux qui atteint même 42 % lorsque l’on considère les structures de plus de 2 000 salariés. Autre enseignement : 60 % des entreprises n’ayant pas lancé une telle initiative sont malgré tout sensibilisées aux apports que pourrait représenter DevOps. En définitive, seules 22 % des entreprises interrogées sont véritablement réfractaires à la mise en œuvre d’une telle initiative. Les déclencheurs principaux concernent la transformation numérique, le contexte économique et la nécessité d’être présent plus rapidement sur le marché. Gartner avance un taux d’adoption similaire à celui d’IDC, avec une entreprise sur trois qui a adopté l’approche DevOps, dont 86 % depuis moins d’un an. Le principal obstacle à l’adoption reste le facteur humain (pour une entreprise sur deux), devant les problèmes de processus (37 %), technologiques (8 %) et liés à l’information (5 %). Les problèmes humains concernent principalement la résistance au changement (43 % des entreprises), l’ina­daptation des compétences (23 %), l’échec dans la collaboration entre les individus (18 %), l’absence de confiance et de motivation (15 %).


Industrialiser les déploiements applicatifs : les six avantages

  1. une réduction des délais de déploiement
  2. une suppression des opérations manuelles
  3. une meilleure stabilité des processus
  4. des processus répétables
  5. des processus auditables
  6. une suppression des scripts spécifiques