Siemens a créé une culture DevOps open source grâce à GitLab
Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?
Siemens utilise GitLab pour améliorer la réactivité et le rendement des développeurs, ainsi que la satisfaction des clients.
Siemens a transformé son workflow organisationnel et son approche de la collaboration avec les fonctionnalités de gestion du code source (SCM) de GitLab, CI/CD et DevOps.
Pionnier mondial de l'innovation
Fondée en 1847 à Berlin, en Allemagne, Siemens était à l'époque un modeste atelier de fabrication. Siemens AG (Berlin et Munich) est quant à elle une puissance technologique mondiale, synonyme d'excellence dans le secteur de l'ingénierie, d'innovation, de qualité, de fiabilité et d'internationalité depuis plus de 170 ans. Présente dans le monde entier, l'entreprise est spécialisée dans les infrastructures intelligentes pour les bâtiments et les systèmes énergétiques distribués, ainsi que l'automatisation et la numérisation dans les secteurs des processus et de la fabrication.
Siemens met en rapport le monde physique et le numérique au profit des clients et de la société. Par le biais de Mobility, l'un des principaux fournisseurs de solutions de mobilité intelligente pour le transport ferroviaire et routier, Siemens contribue à façonner le marché mondial des services de transport de passagers et de marchandises. Investisseur majoritaire dans la société cotée en bourse Siemens Healthineers, Siemens est également l'un des fournisseurs mondiaux majeurs de technologies médicales et de services de santé numériques.
Siemens détient de plus une participation minoritaire dans Siemens Energy, leader mondial du transport et de la production d'énergie électrique coté en bourse depuis le 28 septembre 2020. Au cours de l'exercice 2019, clos le 30 septembre 2019, le groupe Siemens a généré un chiffre d'affaires de 58,5 milliards d'euros et un bénéfice net de 5,6 milliards d'euros. Au 30 septembre 2019, la société employait environ 295 000 personnes à travers le monde sur la base de ses activités continues.
Une grande entreprise et des besoins à grande échelle
Comptant plus de 20 000 développeurs, Siemens est divisée en plusieurs entreprises œuvrant dans des domaines différents, principalement axées sur les initiatives B2B. Fabio Huser, Software Architect, résume ainsi le défi auquel Siemens fait face : « Comment pouvons-nous développer une culture DevOps qui s'articule autour de cette structure d'entreprise fédéraliste et fracturée ? »
Siemens avait besoin d'une plateforme DevOps favorisant la collaboration, la transparence et la gestion appropriée du code pour atteindre son objectif : instaurer une communauté pour les employés du monde entier et une source unique de vérité pour le code. Pour assurer le succès de l'outil, sous la forme d'une plateforme évolutive capable de supporter son propre développement, Siemens a exigé que les développeurs adoptent un état d'esprit collaboratif, aient des connaissances en ingénierie full-stack et disposent d'une expérience en tant que contributeurs open source. La vision d'un workflow amélioré impliquait la possibilité de collaborer sur du code et de le partager en quelques minutes, d'accélérer le délai de mise sur le marché, de permettre aux employés de posséder leur propre code et de poser les bases technologiques des futurs modèles commerciaux.
Première étape : adopter l'open source
Une petite équipe au sein de Siemens a adopté GitLab en 2013 à des fins de collaboration et de contrôle de version, afin de développer des périphériques intégrés basés sur Linux. Dans le cadre typique d'une approche locale, l'équipe a ouvert la plateforme à l'ensemble de l'entreprise et l'a étendue à plus de 40 000 utilisateurs. La plateforme DevOps permet à différentes équipes de travailler sur le même projet, tout en offrant la possibilité de partager du code en quelques minutes et de collaborer facilement à travers le monde.
« Dans le monde de l'open source, de nouveaux outils sont publiés chaque semaine. Mais au bout du compte, nous essayons de résoudre la situation dans une démarche humaine. La collaboration est essentielle et l'outil est secondaire », a déclaré Fabio Huser. « Avec GitLab, nous avons trouvé un outil qui soutient cette idéologie. L'essentiel, ce sont les personnes. Pour donner vie à cette idée et maintenir l'esprit d'équipe chez Siemens, il est nécessaire de créer une communauté. »
En 2015, l'équipe de code.siemens.com a commencé à s'intéresser à CI/CD DevOps, appelant son style de workflow spécifique « Junkyard computing » (informatique de récupération) à ses débuts. Celui-ci permettait les compilations d'intégrations pour les composants open source. Selon Fabio Huser, « la facilité d'utilisation de GitLab Runner permet de configurer de nouvelles machines en quelques minutes ». « Si de vieilles machines sont disponibles et que la configuration en termes de réseau est assez bonne, on peut littéralement configurer de nouveaux runners et de nouvelles capacités en une minute. Cette démarche est assez rentable. »
Code, collaboration et communauté
Aujourd'hui, code.siemens.com dispose de son infrastructure informatique sur AWS. Plus besoin de « Junkyard computing » : code.siemens.com est un service établi qui regroupe une vaste communauté interne de développeurs fournie par la division informatique de Siemens.
L'évolution de l'infrastructure a mené à une configuration hautement adaptée et sophistiquée, comptant un grand nombre d'instances EC2 toutes gérées en tant qu'Infrastructure as Code. Elle fait également appel à des solutions SaaS telles que S3, RDS, ElastiCache, EFS et ELB, car celles-ci peuvent être remplacées par des solutions open source standard pour réduire au maximum le blocage fournisseur. GitLab est hébergé sur AWS, tout comme les services complémentaires tels que les runners CI de GitLab, la surveillance, la journalisation, les rapports de plantages et plus encore. Depuis qu'elle a adopté GitLab, Siemens a dépassé plus de 38 millions de compilations CI. « Chez Siemens, il est possible de collaborer avec différents dépôts. Nous nous efforçons d'intégrer la culture de l'open source, et jusqu'à présent, nous y sommes parvenus. Avec CI/CD, nous avons un million et demi de compilations par mois. Toute la culture a complètement changé », a déclaré Fabio Huser.
Avec GitLab, Siemens économise du temps et de l'argent, car il n'est pas nécessaire de maintenir l'application de correctifs locaux ou de mettre à jour manuellement les correctifs. L'équipe de code.siemens.com applique un workflow « upstream first ». « Nous n'utilisons pas de correctifs. Nous ne déployons que des versions upstream, rien d'autre. Si nous voulons disposer de nouvelles fonctionnalités, nous les publions sur GitLab. Nous n'appliquons pas un correctif à notre instance », a déclaré Roger Meier, Principal Key Expert et Service Owner de code.siemens.com chez Siemens IT. « Dès que les merge requests sont fusionnées en amont, nous déployons la version suivante. Nous livrons donc du code tous les mois. Nous effectuons environ quatre déploiements de production par mois. »
La plateforme code.siemens.com est gérée de manière agile par une équipe de seulement huit personnes opérant dans quatre pays. Tous les membres de l'équipe s'engagent à utiliser la méthode de travail open source. Ils encadrent, soutiennent et guident la communauté des développeurs internes, en plus de gérer l'ensemble de l'infrastructure et de l'application. Ils utilisent GitLab au quotidien pour gérer toutes leurs activités. Chaque membre de l'équipe contribue et/ou maintient plusieurs projets open source, en plus de fournir un service fiable à toute la communauté des développeurs Siemens pour augmenter leur satisfaction.
La collaboration sous-tend l'ensemble de l'entreprise, qui compte plus de 40 000 utilisateurs de GitLab et peut encore se développer. GitLab aide Siemens à assurer l'évolutivité en interne et à offrir des opportunités de développement client. « Nos clients et nos développeurs veulent simplement disposer d'un service fiable qui fonctionne en permanence », a ajouté Roger Meier.
Les équipes de Siemens contribuent beaucoup à GitLab : plus de 150 merge requests ont été fusionnées sur la plateforme. De plus, Fabio Huser et Roger Meier sont des GitLab Heroes et ont été sélectionnés comme MVP GitLab. Les équipes ne se contentent pas d'utiliser la plateforme DevOps : elles en ont une connaissance si fine qu'elles n'ont pas besoin d'avoir recours à l'assistance de GitLab. « Nous avons évoqué toutes nos idées dès le début et nous souhaitions que toute l'entreprise ait accès à notre feuille de route. Il faut aller au bout des choses, c'est la clé. Bien sûr, il faut aussi se concentrer sur ses clients : pour les développeurs, par les développeurs », a déclaré Roger Meier.
À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.