GitHub affine son offre en direction des entreprises

Bien décidé à renforcer son empreinte auprès des grands comptes, GitHub a présenté des mesures prises en vue d’améliorer la gouvernance et la sécurité de sa plateforme DevOps. La filiale de Microsoft tente par ailleurs d’attirer les entreprises vers ses offres cloud managées.

Après avoir largement mis en avant Copilot lors de son événement Universe, GitHub s’est concentré sur les fonctionnalités administratives de sa plateforme. Elle complète les annonces rattachées à la solution Advanced Security qui avait été en partie évoquée lors du lancement de la version 3.10 de GitHub Enterprise Server en septembre.

L’une des plus importantes n’est autre que la prise en charge de l’exploration des paquets à travers Dependabot, en vue de constituer une nomenclature logicielle (SBOM) des dépendances au sein des dépôts GitHub. Pour cela, la plateforme produit un graphe de dépendances, qui est « un résumé des manifestes et fichiers de verrouillage stockés dans un référentiel et de toutes les dépendances soumises pour le référentiel ». Il est disponible depuis l’interface utilisateur ou via API.

« Cela va de pair avec la détection de vulnérabilités et la synchronisation avec notre base de données CVE – soit dit en passant nous sommes l’un des plus gros émetteurs de CVE [plus de 5 000, N.D.L.R.] », déclare Jacob DePriest, responsable adjoint de la cybersécurité chez GitHub. « Nous voulons fournir le plus d’informations qui peuvent servir directement à la prise d’actions ».

Mais avant d’arriver ce niveau de contrôle, le CSO adjoint estime qu’il faut mettre en place les « basiques de la sécurité », ce qui passe, entre autres, par une meilleure gouvernance des pratiques DevOps.

Renforcer la gouvernance et la gestion des rôles

Une petite mesure devrait simplifier l’expérience des développeurs qui pourront changer de compte depuis GitHub.com sans devoir rentrer leur identifiant à chaque fois.

Cette simplification s’accompagne d’une prise en charge étendue des systèmes d’authentification du marché. En septembre, l’éditeur a annoncé le support en disponibilité générale de Ping Federate, en sus d’Okta et d’Azure Active Directory pour les utilisateurs de GitHub Enterprise et d’Enterprise Managed Users (EMU).

À cela s’ajoute en bêta public un moyen pour obtenir des métadonnées sur les événements d’authentification liés à des tokens OAuth, FGP, des clés SSH ou de déploiement. La piste d’audit permet également de mettre en évidence les identités SAML des usagers importants. De manière générale, cette piste d’audit a été mise à jour afin d’enregistrer les départs et les changements de groupe des développeurs au sein d’une organisation.

En matière de gestion des rôles, l’éditeur proposait déjà un mécanisme de personnalisation. Il prend désormais en charge ce qu’il appelle les « collaborateurs invités », c’est-à-dire les freelances et les consultants amenés à partager des ressources et du code dans le cadre de certains projets.

En bêta limitée, il est possible de contraindre l’accès des utilisateurs à certains dépôts. « Cette option est utile dans les cas où vous souhaitez limiter l’accès d’un usager spécifique à un nombre minimum de référentiels et se combine bien avec des fonctionnalités telles que les collaborateurs invités pour exécuter une stratégie d’accès au moindre privilège », lit-on dans la documentation

Dans cette même veine, GitHub a mis en place en juillet ce qu’il nomme des propriétés personnalisées. Ces propriétés sont stockées sous forme de métadonnées dans un magasin clé-valeur pour chaque dépôt. Les entreprises peuvent donc les utiliser pour étiqueter des dépôts comme ils le souhaitent. Ces métadonnées servent ensuite à appliquer des règles. Cette évolution des règles de protection des branches est maintenant applicable à l’ensemble de l’organisation GitHub. Elles permettent d’empêcher certaines pull requests, les push forcés, de supprimer des branches, de rendre obligatoire les tests, d’empêcher les commits non signés, etc.

Selon GitHub, 1 dépôt open source sur 5 serait déjà soumis ces règles. L’éditeur ne prêche pas une vision de la sécurité en imposant ses critères. « Nous souhaitons que les entreprises puissent ajuster ces paramètres suivant leurs exigences en matière de sécurité, car chacune d’entre elles est différente », affirme Jacob DePriest.

Certains clients seraient d’ailleurs plus attentifs à ce type de fonctionnalités qu’à l’IA générative. « Les clients nous ont réclamé un meilleur contrôle et nous avons tenu compte de leurs demandes pour mettre à jour nos solutions consacrées aux entreprises », indique Inbal Shani, Chief Product Officer chez GitHub,

« Au-delà de GitHub Copilot, ce qui m’enthousiasme, ce sont les moyens pour automatiser les contrôles dans la chaîne de développement », confirme Gerard McMahon, responsable des outils ALM et des plateformes DevOps chez Fidelity Investments, lors d’un keynote de GitHub Universe.

Davantage d’options pour exécuter les pipelines CI/CD Actions

Justement, en matière d’automatisation, GitHub n’a de cesse de vanter le succès de GitHub Actions. L’éditeur présente sa solution comme l’outil de pipeline CI/CD le plus déployé sur le marché et revendique l’exécution de plus 7 milliards de minutes de jobs en tout genre.

En ce sens, GitHub étend sa palette de runners managés pour GitHub Actions sur l’infrastructure de Microsoft Azure. « Les clients qui utilisent GitHub Actions peuvent héberger eux-mêmes les runners, mais les runners managés (hosted runners en VO) leur permet de ne pas avoir à s’occuper de cette charge supplémentaire », argumente Inbal Shani.

L’éditeur dispose d’instances plus importantes pour les VM exécutant macOS (et en bêta public pour macOS 14) et il propose des serveurs équipés de puces Apple M1, assemblés à partir… de Mac Mini M1 désossés. C’est une réponse directe à une offre similaire dévoilée en mars par CircleCI.

En outre, des runners pour GitHub Actions pourront être montés sur des serveurs propulsés par des processeurs ARM Ampere.

« Grâce aux images personnalisées, les développeurs peuvent désormais personnaliser ces outils préinstallés, ce qui leur permet de gagner du temps en créant une machine “préchauffée”. »
Documentation GitHub

Il n’est pas uniquement question d’une meilleure prise en charge des architectures matérielles et des OS disponibles sur le marché. Au deuxième trimestre 2024, les runners hébergés par GitHub pourront accueillir des VM personnalisés en bêta. « 33 % des actions exécutées par les utilisateurs consistent à installer des outils/dépendances sur leur machine avant même de commencer à télécharger des images/paquets dont leur application dépend », explique la documentation. « Cela prend du temps à chaque exécution de ce flux de travail. Grâce aux images personnalisées, les développeurs peuvent désormais personnaliser ces outils préinstallés, ce qui leur permet de gagner du temps en créant une machine "préchauffée" ».

Les Ops se servent également de GitHub Actions pour automatiser la configuration d’environnement cloud en confiant aux runners l’exécution de jobs Terraform ou de scripts PowerShell, par exemple. C’est le cas des équipes d’Air France KLM qui témoignaient lors de GitHub Universe 2023.

C’est aussi le cas dans le monde open source. Selon le rapport Octoverse 2023 de GitHub, l’adoption d’HCL, le langage de configuration d’HashiCorp connaît une croissance de 36 % par rapport à l’année dernière dans les dépôts open source.

En bêta privée, les data scientists ont le droit à des runners GitHub Actions s’exécutant sur des instances équipées de GPU afin de maintenir des pipelines CI/CD consacrés à des tâches de machine learning ou de deep learning. GitHub met là discrètement un pied dans le monde du MLOps, un terrain également exploré par son concurrent GitLab.

En attendant, les entreprises peuvent exécuter leur runners hébergés par GitHub derrière le réseau privé virtuel Azure VNET en dans le cadre d’une bêta publique. C’est une sécurité supplémentaire, en sus des gateway VPN pour des ressources Azure ou pour accéder à des composants on premise via ExpressRoutes.

Favoriser les migrations vers GitHub Enterprise Cloud

Enfin, GitHub entend attirer à lui les entreprises qui utiliseraient Bitbucket, GitHub Server et Azure DevOps et qui souhaiteraient adopter GitHub Enterprise Cloud et GitHub Actions. Ainsi, il prétend améliorer ses outils, dont son importateur de dépôts.

Selon GitHub, « des milliers de clients » utilisent son importateur tous les mois. Celui-ci serait efficace en moyenne « dans 99 % des cas ». Or, pour les 0,1 % des dépôts les plus importants, ce taux tombe à 50 %. « Nous travaillons sur des changements architecturaux significatifs de l’outil qui devraient rendre ces grandes migrations plus rapides et plus fiables », expliquent les ingénieurs de GitHub, dans sa documentation. Une première version de cette nouvelle architecture au premier trimestre 2024.

En ce qui concerne la migration des pipelines CI/CD, GitHub a aussi lancé des outils d’importation compatibles avec Travis CI, Jenkins, GitLab, et CircleCI. « Nous nous concentrons sur la conception d’une architecture CI/CD qui s’adapte bien à GitHub et nous voulons aider nos clients à obtenir des résultats similaires, voire supérieurs, à ce à quoi ils sont habitués », avance Inbal Shani.

En face, des acteurs tels CloudBees et GitLab tentent également d’attirer les entreprises vers leurs offres SaaS. Pour autant, GitHub conserve une longueur d’avance, selon la Chief Product Officer.

« Plus de 90 % du Fortune 100 et plus de 4 millions d’organisations utilisent GitHub. Que devons-nous dire d’autre au marché pour montrer que nous sommes les leaders ? », lance Inbal Shani.

Pour approfondir sur DevOps et Agilité