Enedis, la puissante filiale d’EDF en charge de la distribution de l’électricité en France, s’est doté d’une plateforme afin de centraliser les développements logiciels pour sa DSI et ses directions régionales. Enedis a fait appel à la société de services Ippon afin de bâtir cette solution complète de « Platform Engineering », baptisée Placide. Placide est une forge logicielle centralisée, basée sur GitLab, facilitant la mutualisation des ressources.
Un système d’information complexe chez Enedis
Les métiers d’Enedis sont spécifiques. L’entreprise gère 35,5 millions de compteurs Linky, 37,5 millions de clients et réalise un chiffre d’affaires de 15,2 milliards d’euros. L’entreprise emploie 40 000 salariés. Afin d’assurer ses missions, Enedis a mis en place un système d’information complexe basé sur un ensemble d’applications essentiellement développées par sa DSI.
Placide est conçu pour servir la DSI d’Enedis et ses directions régionales
Le CI-CD sert à automatiser les tâches de développement logiciel et de mises en service. Ce processus comprend les phases de développement, de test (tests d’intégration, tests unitaires, tests de régression) et de déploiement, ainsi que la mise en place de l’orchestration des conteneurs.
L’objectif est d’industrialiser les projets
Placide est une plateforme collaborative de gestion de code avec des outils DevOps. Elle délivre aussi des modèles prédéfinis pour les pipelines d’intégration et de déploiement du logiciel afin d’industrialiser les projets. Des modèles sont créés et maintenus par l’équipe Placide et par d’autres contributeurs au sein de la DSI, en suivant une approche Inner Source.
La plateforme Placide repose sur un socle GitLab Community comme base
Point clé, la maintenabilité et l’évolutivité de la solution sont primordiales. Des processus et des pratiques ont donc été mis en place pour garantir que la plateforme reste évolutive et maintenable à long terme. Les outils CI-CD courants sont des plateformes telles que Jenkins, GitLab, CircleCI, Travis CI ou Azure DevOps. Ils sont utilisés par les équipes de développement de logiciels pour automatiser les processus de construction, de test et de déploiement. Chez Enedis, c’est une base GitLab qui a été retenue.
Diverses plateformes et des équipes de maturité différente
Début 2021, Ippon décrit une situation dans laquelle la DSI d’Enedis devait gérer diverses plateformes CI-CD, permettant l’intégration et le déploiement de nouveaux développements applicatifs, et des équipes présentant des niveaux de maturité différents dans l’utilisation de ces plateformes.
La diversité initiale des solutions rendait difficile le suivi des 500 projets concernés
Le projet Placide s’inscrite dans la démarche globale SRE (Site Reliability Engineering) portée par Enedis. SRE est l’ingénierie de la fiabilité des sites. C’est une approche d’ingénierie logicielle pour l’exploitation informatique. Les équipes de SRE utilisent des logiciels pour gérer des systèmes, résoudre des problèmes et automatiser des tâches liées à l’exploitation.
Des applications développées pour être sur site et dans le Cloud
La nouvelle plateforme devait gérer à la fois les applications « OnPremise » et « OnCloud », sur site et dans le Cloud. Elle devait encourager la réutilisation et éviter le redéveloppement systématique. Elle devait faciliter l’intégration de 500 projets sur la plateforme et en rendant les équipes produits plus autonomes.
1 260 utilisateurs actifs participent à l’écosystème de la plateforme Placide
La phase de réponse a duré 18 mois et a servi à co-construire, avec Enedis, la future plateforme Placide. Le projet a démarré avec la conception et la mise en place d’un premier MVP (Minimum Viable Product) en octobre 2022. Placide est une plateforme conçue pour être résiliente et capable de passer à l’échelle (scalable), à l’état de l’art et qui est déployée sur le Cloud et sur site.
Une communauté active de 350 contributeurs
Placide draine une communauté d’experts DevOps qui partage des intégrations sur l’ensemble de l’écosystème Enedis, des bonnes pratiques pour délivrer de la valeur à leurs clients. La plateforme a engendré une communauté active avec 350 contributeurs qui échangent régulièrement depuis 9 mois.
La plateforme Placide centralise les fonctions de build et de déploiement
Un processus d’accostage structuré a été mis en place, permettant aux projets de s’intégrer et d’être accompagnés sur la plateforme. En moyenne, les projets deviennent autonomes dès la semaine suivant leur accostage. Le processus d’accostage a été uniformisé pour les applications OnPremise et OnCloud. Une suite de gabarits CI/CD et des exemples de projets prêts à l’emploi sont fournis pour accélérer le time-to-market.