90 % de l'équipe d'ingénieurs dédiés au développement de Windows a déjà migré vers Git
En l'espace de trois mois

Le , par Stéphane le calme, Chroniqueur Actualités
En février, Microsoft a annoncé que son équipe de développement de Windows allait passer à l'utilisation du système de contrôle de version open source Git notamment en raison de Git Virtual File System (GVFS). Brian Harry, Vice President for Cloud Developer Services chez Microsoft, a expliqué que « GVFS, couplé à un ensemble d'améliorations à Git, permet à Git d’échelonner de TRÈS gros dépôts en virtualisant le dossier .git et le répertoire de travail. Plutôt que de télécharger l'intégralité du dépôt et de cocher tous les fichiers, il se limite à télécharger de manière dynamique les portions dont vous avez besoin en fonction de ce que vous utilisez. »

Trois mois plus tard, Microsoft a publié un billet par l’entremise de Brian Harry où l’entreprise fait le point.

Avant tout, il a rappelé que la base de code Windows comporte environ 3,5 millions de fichiers et, lorsqu'elle est enregistrée dans un compte Git, cet ensemble donne lieu à un dépôt de 300 Go. En outre, l'équipe de Windows compte environ 4000 ingénieurs et le système d'ingénierie produit 1760 « compilations de laboratoire » quotidiennes sur 440 branches en plus de milliers de compilations de validation de pull request.

Le passage à Git a été influencé par un certain nombre de choses. En 2013, la société a entrepris son projet OneCore, unifiant ses différents domaines du développement de Windows et faisant en sorte que le système d'exploitation soit une plateforme en couches plus modulaire. À l'époque, Microsoft utilisait Source Depot, une version personnalisée du système de contrôle de la version Perforce commercial, pour tous ses projets majeurs.

Source Depot n'a pas pu gérer un projet de la taille de Windows, donc, au lieu d'avoir l'ensemble du système d'exploitation dans un seul dépôt, le code Windows a été divisé en des dizaines de référentiels, avec une sorte de couche de virtualisation en tête pour produire une vue unifiée de tout le code. Parmi ces dépôts figuraient des composants isolés, autonomes, d’autres ont été développés verticalement ou horizontalement à travers le système d'exploitation. En définitive, en tant que telle, la structure ne correspondait pas au module OneCore.

« Toutes les trois dimensions (nombre de fichiers, taille et activité du dépôt), indépendamment, fournissent des défis de mise à l'échelle énormes et, ensemble, rendent incroyablement difficile de créer une expérience formidable. Avant le passage à Git, dans Source Depot, il a été réparti sur plus de 40 dépôts et nous avons eu un outil pour gérer les opérations qui les couvraient », a expliqué Harry.

La transition de ses ingénieurs a été amorcée par vagues comme l’explique Harry : au départ, il y a trois mois, « nous avions tout le code dans un compte Git, quelques centaines d'ingénieurs l'utilisant et une petite fraction (<10%) de la charge de compilation quotidienne ».

Ce qu’Harry considère comme le plus grand saut vers cette transition a eu lieu le 22 mars, lorsque Microsoft a déployé l'équipe Windows OneCore d'environ 2000 ingénieurs. « Ces 2000 ingénieurs ont travaillé dans Source Depot vendredi, sont rentrés chez eux pour le week-end et sont revenus lundi matin à une nouvelle expérience basée sur Git. Les gens de mon équipe ont retenu leur souffle durant tout ce week-end, en priant pour que nous ne soyons pas lynchés par une foule d'ingénieurs en colère qui se seraient montrés incapables d’accomplir quoi que ce soit ce fameux lundi. En vérité, l'équipe de Windows a fait un excellent travail en préparant des plans de sauvegarde en cas de malheur et, heureusement, nous n'avons pas eu à utiliser l'un d'entre eux. »

Même s’il y a eu quelques soucis ce premier jour, Harry a été surpris de voir que la transition s’est passée sans accrocs dès le lundi. Un sondage a même été lancé auprès des ingénieurs pour savoir entre autres leur degré de satisfaction avec Git : d’après les résultats, ils se sont visiblement montrés quelque peu satisfaits.

Une autre manière dont Microsoft a mesuré le succès a été d'examiner les « activités d'ingénierie » pour voir si les gens faisaient encore leur travail. « Par exemple, nous avons mesuré le nombre de “check-in” dans les branches officielles. Bien sûr, la moitié de l'équipe était toujours sur Source Depot et la moitié était sur Git, alors nous avons examiné l'activité combinée au fil du temps. Dans le tableau ci-dessous, vous pouvez voir la grande baisse des check-in de Source Depot et le grand saut dans les pull request de Git, mais dans l'ensemble, la somme des deux est restée raisonnable. Nous avons estimé que les données ont montré que le système fonctionnait et qu'il n'y avait pas de bloqueurs majeurs » .


« Le 22 avril, nous avons lancé la vague suivante d'environ 1000 ingénieurs. Et puis, le 12 mai, nous avons lancé une autre vague de 300 à 400. Chaque vague successive suivait à peu près le même modèle et nous avons maintenant environ 3500 sur environ 4000 ingénieurs Windows sur Git. Les équipes restantes travaillent actuellement à des détails et tentent de déterminer le meilleur moment pour planifier leur migration, mais je m'attends à ce que, dans les prochains mois, nous achevions la migration de l'équipe d'ingénierie au complet ».

Source : blog Microsoft

Voir aussi :

Microsoft annonce Git Virtual File System (GVFS) pour Windows 10, une solution destinée à supporter les énormes dépôts et bases de code


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de gstratege gstratege - Membre régulier https://www.developpez.com
le 26/05/2017 à 8:48
Quoi Microsoft n'utilise pas TFS ?!
Avatar de hotcryx hotcryx - Membre chevronné https://www.developpez.com
le 26/05/2017 à 10:27
TFS 2013 apporte le support de Git
Offres d'emploi IT
Responsable de projets - actionneurs H/F
SAFRAN - Ile de France - MASSY / MANTES
Ingénieur produit (Landing gear) H/F
Safran - Ile de France - MASSY Hussenot
Ingénieur produit (FADEC militaire) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil