+

Agence spatiale européenne : cap sur les missions spatiales avec GitLab

  • Chaîne d'outils simplifiée
  • Déploiements de code plus rapides
  • Collaboration améliorée
Agence spatiale européenne : cap sur les missions spatiales avec GitLab
SecteurScience et recherche
Employés5 000
EmplacementFrance, Pays-Bas, Italie, Allemagne, Espagne, Royaume-Uni, Belgique

Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?

Commencer un essai gratuit

L'Agence spatiale européenne (ESA) a toujours déployé de nouvelles technologies avec prudence. Mais sans système centralisé de contrôle de version, les opportunités de collaboration, de synergies et de réutilisation des travaux étaient peu visibles.

Grâce à GitLab, les employés de l'ESA peuvent désormais collaborer et partager du code ainsi que des informations avec leurs collègues directs et d'autres équipes. GitLab permet de dépasser les frontières, de renforcer la coopération et de transformer la culture au travail.

La collaboration est contagieuse. Les employés ont envie d'avoir un projet similaire ou de participer. Cette réalité est possible parce que tout le monde a accès aux projets.

- Redouane Boumghar, Research Fellow, ESA

En première ligne en tant que porte d'entrée de l'Europe vers l'espace

L'ESA assure un programme spatial européen, conçu pour approfondir nos connaissances sur la Terre, son environnement spatial immédiat, notre système solaire et l'Univers, ainsi que pour développer des technologies et des services basés sur les satellites et promouvoir les industries européennes. L'ESA travaille également en étroite collaboration avec des organisations spatiales en dehors de l'Europe.

L'ESA est chargée de coordonner les ressources financières et intellectuelles de ses 22 États membres afin de garantir que les investissements dans l'espace continuent de bénéficier aux citoyens de l'Europe et du monde entier. L'organisation se concentre sur un vaste éventail de missions axées sur l'exploration spatiale et la recherche continue. Parmi ses missions récentes figurent l'envoi d'orbiteurs vers Mercure et l'étude des étoiles hypervéloces dans la Voie lactée.

Absence de contrôle de version et de collaboration

L'ESA a toujours déployé de nouvelles technologies avec prudence. La validation et la sécurité sont au premier plan, et il y a moins d'incitation à adopter de nouvelles pratiques ou technologies pour le simple plaisir de la nouveauté, à moins qu'elles n'apportent des avantages supplémentaires clairs pour le cœur de métier de l'ESA. Cette approche a parfois conduit l'ESA à utiliser des outils plus anciens et éprouvés pour partager du code, au détriment de la réactivité.

En 2015, différentes équipes au sein de l'ESA utilisaient une approche hétérogène en matière de système de contrôle, comme Subversion ou CVS. L'émergence de Git, et son adoption ultérieure par le département informatique de l'ESA, a fait converger harmonieusement les besoins des utilisateurs et une technologie sécurisée. GitLab a été validée et adoptée par l'ESA comme plateforme de dépôt de code en 2016. L'utilisation était initialement limitée à un groupe restreint d'utilisateurs triés sur le volet, mais la demande a rapidement explosé.

En seulement deux ans, plus de 140 groupes ont adopté GitLab comme outil de gestion de versions logicielles. Au sein de l'ESA, plus de 1 500 projets logiciels ont été créés. Ceux-ci vont des systèmes de contrôle de mission et des logiciels embarqués pour les engins spatiaux aux outils de traitement d'images et de surveillance pour les laboratoires. Le département informatique de l'ESA utilise également GitLab pour héberger ses outils de code et son infrastructure de configurations.

Je pense que le cas d'utilisation de l'ESA est assez intéressant. Notre équipe développe des logiciels, et nous pilotons également des engins spatiaux. Le développement logiciel s'ajoute donc à notre activité principale. Nous avons besoin de nombreux outils pour nous accompagner dans notre travail quotidien. En ce sens, nous voulons minimiser le temps consacré à la création de ces outils. De plus, GitLab s'est également révélée très efficace pour partager nos outils avec d'autres équipes.

- Bruno Sousa, Spacecraft Operations Manager, ESA

Mise en place d'une culture où la collaboration est contagieuse

GitLab a été présentée à l'ensemble du personnel de l'ESA en 2016 et adoptée dans tous les établissements et sites de l'ESA d'Europe. Les employés peuvent désormais collaborer et partager du code et des informations avec leurs collègues directs et d'autres équipes. Le processus est plus rapide, en temps réel, et produit des résultats fiables et stables. Les utilisateurs consacrent davantage de temps à leurs tâches essentielles et passent moins de temps à maintenir les outils.

Le taux d'adoption a été élevé. En une semaine, 40 projets étaient en cours d'exécution dans GitLab. « À l'heure actuelle, 15 % du personnel utilise GitLab », a commenté un représentant du projet GitLab du département informatique de l'ESA.

Pour l'ESA, cela représente une rupture avec la culture de développement logiciel précédente. Auparavant, on supposait qu'il y avait moins de synergies à exploiter. Les systèmes de contrôle de version étaient individualisés, ou les équipes ne les avaient pas mis en place. Étant donné que la technologie correspond désormais aux besoins de l'ESA, GitLab permet à l'agence de tendre vers davantage de standardisation et d'efficacité.

Initialement, l'ESA a mis en œuvre GitLab pour exploiter ses capacités de contrôle de version. Cependant, la communauté d'utilisateurs a également bénéficié des capacités d'intégration et de livraison continues (CI/CD) de GitLab. L'ESA a commencé à utiliser les capacités CI/CD en novembre 2017 et compte actuellement 60 000 jobs dans GitLab. Les utilisateurs du département informatique de l'ESA ont exprimé leur satisfaction face à cette évolution. Un utilisateur a rapporté : « Nous avons d'abord commencé à utiliser le contrôle de version, mais nous avons découvert que nous pouvions utiliser l'intégration continue sur notre projet. Nous l'avons essayée et avons été extrêmement impressionnés par la façon dont tout fonctionnait ensemble ».

La diversité des équipes et des tâches de l'ESA présente des défis uniques. Bruno Sousa explique pourquoi ses tâches nécessitent le CI/CD : « Pour notre cas d'utilisation en particulier, les capacités CI/CD sont extrêmement importantes. Dans mon rôle, je suis simultanément responsable du pilotage d'un engin spatial et du développement d'un outil pour nous, et potentiellement pour d'autres missions. Je n'ai pas le temps de déployer le logiciel encore et encore : GitLab est donc très utile pour faciliter l'ensemble du processus. La plateforme simplifie tout pour que je puisse me concentrer sur ma tâche principale, à savoir piloter l'engin spatial. »

Un enthousiasme et une rapidité accrus autour des déploiements de code

GitLab a offert à l'ESA une vitesse d'exécution en matière de développement logiciel qu'elle n'avait jamais pu atteindre auparavant. Le code est désormais déployé en continu en quelques minutes au lieu de plusieurs semaines.

GitLab est capable de relever les défis à de nombreuses étapes du pipeline de développement logiciel. Par le passé, différentes équipes de l'ESA utilisaient une variété de moteurs CI/CD. Ces derniers ont désormais été remplacés par GitLab CI, car GitLab est plus conviviale. À mesure que davantage d'utilisateurs migrent vers GitLab, l'obligation de l'ESA de maintenir d'autres outils disparaît. GitLab CI est ensuite intégré à davantage de systèmes de contrôle de version.

Dans GitLab, l'automatisation permet également d'économiser les ressources du département informatique. Étant donné que l'exploitation et la sauvegarde sont entièrement automatisées, les spécialistes informatiques peuvent se concentrer sur la surveillance et, surtout, relever davantage de défis informatiques pour l'agence.

Toutes les informations et personnes mentionnées dans cette étude de cas sont exactes à la date de publication.