Comment Sopra Steria a accéléré sa transition DevOps
Il y a trois ans, Sopra Steria a opéré un choix déterminant dans la manière dont ses développeurs participent aux projets de ses clients. L’ESN a fait de GitLab son outil de dépôt de code référence et un composant important de sa chaîne CI/CD.
En France et en Europe, Sopra Steria fait partie des leaders sur le marché des ESN. Présente dans 25 pays, cette entreprise spécialisée dans la consultance, les services numériques et l’édition de logiciels emploie plus de 46 000 collaborateurs. Sopra Steria travaille majoritairement auprès de grands comptes de l’aérospatiale (Airbus par exemple), de l’administration gouvernementale, des services financiers (Transactis, joint-venture de la Société Générale et de la Banque Postale), de la vente au détail, des transports, des services publics et de l’assurance. Le groupe a réalisé un chiffre d’affaires de 4 434 milliards d’euros en 2019.
En tant qu’éditeur de logiciels, Sopra Steria se concentre sur le développement de solutions dédiées à l’immobilier, la gestion financière et aux ressources humaines. Cette activité est particulièrement bien représentée en France, puis en Italie, au Royaume-Uni, en Norvège, en Suède et en Allemagne.
Parmi les défis posés par le cloud, l’automatisation du développement, des exécutions et des déploiements fait partie des priorités des entreprises. Dans ce contexte, la collaboration entre développeurs est primordiale.
Sopra Steria est directement concerné par ces problématiques. Le groupe a décidé d’opter pour GitLab et d’en faire sa plateforme DevOps dans le cloud.
Yves NicolasSopra Steria
« Je rapporte directement à Mohammed Sijelmassi, CTO de Sopra Steria. Je dirige une cellule transverse au sein de Sopra Steria, que l’on appelle Group Digital Transformation Office » déclare Yves Nicolas, Group CTO Office chez Sopra Steria. « Notre objectif est à la fois de repérer des initiatives IT dans le groupe pour leur donner une visibilité plus large et d’en démarrer afin qu’elles infusent dans l’entreprise ».
Après sa prise de poste, il y a trois ans, Yves Nicolas a fait le constat partagé par son équipe et Mohammed SijelMassi que « l’approche DevOps allait se généraliser chez l’ensemble des clients tout comme le cloud et sa forme hybride ». De même, « le rôle des containers devenait très important. Dans toute la gestion de l’infrastructure et d’exécution des systèmes d’information, nous avons perçu que nous allions passer d’une unité de base, la machine virtuelle, vers une nouvelle unité de référence, le container ».
Le groupe a donc lancé en interne le programme « Digital Enabler » afin d’adapter ses pratiques et ses outils à ces nouveaux paradigmes.
« La première pierre de ce programme Digital Enabler devait être l’adoption au niveau du groupe d’une plateforme de code source basée sur GIT afin de permettre le partage, la réutilisation de code et faciliter l’adoption de l’approche DevOps », explique Yves Nicolas.
« Selon mes observations, il y a un bon tiers des collaborateurs qui font du développement et qui sont susceptibles de déposer du code », ajoute-t-il.
Un choix en adéquation avec les pratiques des développeurs
Évidemment, Sopra Steria ne partait pas de zéro en 2017. Les développeurs du groupe utilisaient des outils « institutionnalisés » et d’autres qui n’étaient pas encore officiellement supportés par l’IT.
« Sopra Steria est un acteur important de la gestion d’applications existantes. Nos développeurs utilisaient majoritairement Apache SVN », précise Yves Nicolas. « Nous avions aussi un nombre important de développeurs qui avaient un compte personnel auprès d’un éditeur de dépôts GIT ».
La cellule transverse a donc évalué Microsoft VSTS (Visual Studio Team Services devenu Azure DevOps Services), GitHub et GitLab.
« Nous avons rapidement mis de côté VSTS : la solution était davantage adaptée à une équipe unique qui travaille sur un seul projet ». Il restait donc GitHub et Gitlab.
Yves Nicolas et son équipe avaient trois critères : le prix d’entrée, la connaissance de la solution par les équipes et le support de l’orchestration continue.
« GitLab était utilisé de manière ponctuelle dans le cadre de certains projets parce qu’il dispose d’une version open source », se rappelle le dirigeant. « Nous avions donc déjà des compétences d’administration de la solution ».
Concernant l’intégration continue, Yves Nicolas admet qu’en 2017 GitLab CI n’en était qu’à ses débuts alors que Jenkins monopolisait l’attention. « Cela nous a tout de même paru un aspect intéressant du produit. C’est devenu un élément clé par la suite. Nous avons progressivement remplacé de nos processus industriels Jenkins par GitLab CI ».
Aujourd’hui, la solution de dépôt, de partage de code et d’automatisation du développement de GitLab est utilisée par plus de 9 000 utilisateurs. La solution cloud est hébergée indifféremment sur Microsoft Azure, GCP et Azure, suivant les besoins des projets. Sopra Steria a toutefois débuté ce déploiement à petite échelle.
Du Coporate Hacking à l’industrialisation
« Au départ nous avons commencé en Corporate Hacking. J’ai assemblé une équipe de cinq personnes avec des compétences sur le sujet. Nous avons monté une infrastructure, nous l’avons connectée avec notre système de gestion des identités (SSO) », déclare le Group CTO Office.
Yves NicolasSopra Steria
La petite équipe a ensuite communiqué auprès des communautés de développeurs via Microsoft SharePoint pour leur indiquer la disponibilité de la solution. « Progressivement, des projets se sont agrégés sur notre infrastructure GitLab. Au bout d’un an, l’utilisation de la plateforme DevOps était déjà conséquente », assure Yves Nicolas.
Concrètement, 1 000 utilisateurs ont pris en main la solution au cours des trois premiers mois. Après neuf mois, elle rassemblait 3 000 développeurs.
Ce succès a motivé une collaboration approfondie avec la DSI de Sopra Steria dès 2018. « Au départ, la DSI n’était pas très familière avec ce type d’outils. Ses membres ont pris le sujet à bras le corps pour concevoir une infrastructure redondante dotée d’un niveau de service de haute qualité sur laquelle nous avons basculé à l’automne 2018 », détaille le dirigeant.
En 2018, GitLab bénéficiait alors d’un support industriel de la part de l’ESN. « Nous avons conservé l’esprit de services à l’utilisateur que nous avions insufflé avec l’équipe de départ. Les services de tickets sont remplacés par des groupes Microsoft Teams auxquels les collaborateurs de la DSI répondent rapidement », relate Yves Nicolas.
Yves NicolasSopra Steria
Un autre changement important pour la DSI concerne la gestion de versions induite par la solution cloud. « Les technologies et les plateformes cloud comme GitLab changent de versions tous les mois. Or, les processus habituels de la DSI étaient extrêmement stricts. Elle s’est rapidement adaptée ». Les mises à jour sont effectuées avec un mois de décalage pour tester les nouvelles fonctionnalités avant un déploiement en production. « Cela a donné une vélocité énorme au groupe », considère notre interlocuteur.
La prise en main des fonctionnalités GitLab fait l’objet d’une « piqûre de rappel » lors de la formation des développeurs, mais leur adoption s’avère naturelle selon Yves Nicolas.
GitLab, une solution importante dans la chaîne d’outillage de Sopra Steria
Aujourd’hui GitLab Enterprise est généralement utilisé par les développeurs de Sopra Steria pour déposer et partager du code. Par ailleurs, ils utilisent largement les fonctionnalités disponibles dans GitLab CI pour déployer des microservices, des pipelines et utiliser des templates pour générer les environnements de développement. « Nous avons porté notre chaîne de templates Jenkins vers ceux de GitLab CI pour permettre que chaque projet hérite nativement de la chaîne d’industrialisation standard de Sopra Steria », affirme Yves Nicolas.
De même, les contrôles de sécurité font maintenant partie intégrante des templates, ce qui doit faciliter leur réalisation et éviter les problèmes les plus communs en la matière.
Cependant, tous les projets ne dépendent pas de cette chaîne DevOps. Certains clients disposent de leur propre CI/CD, auxquels cas Sopra Steria s’adapte. « Ce n’est pas notre rôle d’imposer aux clients l’outillage nécessaire au développement ou au maintien d’applications », constate Yves Nicolas.
Sopra Steria n’a pas changé fondamentalement sa chaîne d’outils DevOps. « Notre chaîne CI/CD déclenche automatiquement le lancement de serveurs Sonar sur des clusters OpenShift, par exemple, mais nous n’avons pas changé les autres outils. Nous les avons intégrés avec GitLab » détaille le Group CTO Office.
Yves Nicolas constate que GitLab veut faire de sa plateforme une solution DevOps bout en bout. À l’avenir, l’ESN observera les nouvelles fonctionnalités proposées par GitLab afin d’analyser leur pertinence dans la chaîne d’outillage actuelle de Sopra Steria.
Yves NicolasSopra Steria
« Il y a des enjeux technologiques et fonctionnels, de relation client et des enjeux de tarifications », tempère le responsable.
Par ailleurs, Sopra Steria est intéressé par les fonctionnalités de gestion des droits d’accès, qui permettraient à des clients qui le souhaitent d’accéder aux dépôts de code tout en maintenant des notions de droits séparés. « Des clients issus du même secteur ne doivent pas avoir accès aux projets de leurs concurrents », illustre Yves Nicolas.