LuckyStep - stock.adobe.com

DevOps : GitLab étend sa stratégie de la plateforme unique

Bien moins visible que son concurrent GitHub, GitLab poursuit son ambition de fournir une plateforme DevSecOps la plus complète possible afin de prendre des clients à son principal adversaire, mais aussi – pourquoi pas – aux autres acteurs du marché, dont Jira, Snyk ou Datadog.

Avec son forfait Ultimate, l’éditeur entend, tout comme son concurrent, proposer l’ensemble des fonctionnalités nécessaires à la mise en place de l’approche DevSecOps en entreprise.

Cette volonté, l’éditeur l’affiche clairement depuis 2021. Toutefois, le cabinet d’analystes Gartner constatait alors qu’aucune plateforme ne couvrait l’ensemble du cycle de vie du développement. Sous la pression du marché, les éditeurs s’adaptent.

« Nous constatons que les grandes organisations du monde entier souhaitent adopter une plateforme unique. Elles sont fatiguées d’avoir des dizaines, voire une centaine d’outils pour livrer des logiciels. Elles essaient donc de les consolider », avance David DeSanto, Chief Product Officer auprès du MagIT.

Dans son Magic Quadrant de juin 2023 consacré aux plateformes DevOps, Gartner définit la plateforme de GitLab. Le cabinet évoque « un produit unique qui comprend des fonctionnalités de planification, de gestion du code source, d’intégration continue, d’automatisation du déploiement, d’observabilité, de tests de sécurité des applications, de sécurité de la chaîne, d’approvisionnement des logiciels, de rapports de conformité, d’analyse de la chaîne de valeur et de gestion des incidents ».

En ce sens, GitLab indique qu’il fournissait 31 fonctionnalités en 2019. En septembre 2023, il en revendiquait 54. Huit autres sont déjà planifiées.

DevSecOps : GitLab renforce le contrôle des pipelines CI/CD

Dernièrement, GitLab a mis l’accent sur son centre de conformité, un environnement pour vérifier « l’adhérence aux standards » des pipelines CI/CD.

Cela va de pair avec une gestion fine des rôles, la signature des paquets (via Cosign et Sigstore), l’apport d’un outil de scans en continu, de détection de secrets dans les dépôts Git et la mise en place d’un SBOM fondé sur CycloneDX (Dependancy Lists).

« Notre objectif est de pouvoir donner une vue organisationnelle de ce à quoi ressemble votre inventaire logiciel et de pouvoir le partager avec la direction ».
David DeSantoChief Product Officer, GitLab

« Notre objectif est de pouvoir donner une vue organisationnelle de ce à quoi ressemble votre inventaire logiciel et de pouvoir le partager avec la direction », indique le Chief Product Officer. « Nous mettons également en place des contrôles pour veiller à ce que les analyses de sécurité soient exécutées lorsqu’elles sont censées l’être et que leurs résultats soient appliqués ».

Dans son édition Ultimate, GitLab a mis en place de nouvelles règles pour autoriser ou empêcher les merge requests en fonction de différentes conditions.

« Aujourd’hui, nous pouvons vous dire s’il y a une violation de la conformité, si quelqu’un a approuvé un merge de code contenant une vulnérabilité ou si quelqu’un prend des mesures qui enfreignent vos règles de conformité », poursuit David DeSanto.

Ces règles peuvent être appliquées par défaut à tous les développeurs ou à quelques rôles.

Pour ce faire, GitLab a développé un moteur de règles qui permet d’enclencher la prise d’actions en cas de détection de vulnérabilités dans le code ou d’exiger le respect d’un processus de publication du code.

« L’on peut jouer sur les deux tableaux : prendre des actions en réaction d’une analyse du code ou imposer des analyses de sécurité dès la création d’une nouvelle branche de code », illustre le Chief Product Officer.

Idéalement, ces règles sont gérées par les équipes de sécurité. « Tout cela est immuable, ce qui signifie que le développeur ne peut pas le désactiver », avance-t-il.

En sus, les équipes de GitLab étudient la possibilité de prendre nativement en charge l’outil de gestion de policy-as-code OPA (Open Policy Agent, à prononcer Oppa, comme « grand frère » ou aîné en coréen).  

« OPA permet d’apporter un contrôle des accès aux API, de gérer les aspects multifactoriels des communications entre les microservices », distingue le Chief Product Officer. « Nos développeurs étudient les moyens de l’implémenter pour gérer les opérations qui se déroulent dans le flux de travail du développeur afin d’empêcher l’injection de code ou les opérations de merge non autorisées ».

Si GitLab dispose de ses propres outils de scans de secrets, SAST (Semgrep), de conteneurs, d’analyses des dépendances ou encore de tests unitaires, David DeSanto affirme que le centre de conformité est agnostique.

« Ce qui est bien avec les politiques de sécurité et les cadres de conformité, c’est qu’ils fonctionnent avec n’importe quel outil tiers nécessaire au fonctionnement des pipelines CI », déclare-t-il. « Nous avons donc des clients qui continueront à utiliser leurs scanners de sécurité ou leurs produits de test unitaire existants ».

Pour autant, l’idée est bien de les convaincre de l’intérêt des outils internes à la plateforme. Puisque ceux-ci sont développés en prenant en compte le contexte de GitLab, les clients sont plus enclins à les adopter et à ne plus utiliser les outils tiers, selon David DeSanto.

« Nous sommes en mesure de construire un modèle du code parce que nous avons l’accès à la plateforme SCM, ce qui nous permet d’identifier automatiquement le code à scanner en fonction des changements apportés », assure le Chief Product Officer. « Nous pouvons également identifier les faux positifs parce que nous savons distinguer les potions de code qui ne sont pas exécutables ».

C’est aussi pour des raisons de sécurité que GitLab a lancé son offre SaaS monotenant au cours de l’année. La plateforme peut toujours être déployée sur site.

IA générative : GitLab court après GitHub

Un autre volet d’investissement important et connexe pour GitLab n’est autre que l’IA. Clairement, l’éditeur veut prouver qu’il peut rattraper son concurrent GitHub, qui, sous l’épaule de Microsoft, a pris un train d’avance. Il y a quelques jours, Satya Nadella, président de Microsoft, annonçait que GitHub Copilot est utilisé par un 1 million d’utilisateurs payants dans 37 000 organisations.

En juillet dernier, GitLab a présenté Duo, une offre qui rassemble 14 fonctions, dont une accessible en disponibilité générale, deux en bêta et les autres le sont sous forme expérimentale.

GitLab exploite les grands modèles de langage de son partenaire Google Cloud (via Vertex AI), d’OpenAI et d’Anthropic, ainsi que des modèles de machine learning de son cru.

La fonction « Suggested Reviewers », en disponibilité générale dans l’édition Ultimate SaaS, déploie un modèle ML pour chaque projet afin d’identifier la personne la plus à même de réviser une portion de code spécifique.

En bêta, Code Suggestion est l’outil de complétion et de génération de code de GitLab. Dans le premier cas, il utilise les modèles code-gecko de Google Cloud et Claude-instant-1.2 d’Anthropic. Dans le deuxième cas, il exploite code-bison et Claude 2 des mêmes fournisseurs.

Ces deux mêmes LLM sont utilisés pour effectuer un résumé des vulnérabilités.

GitLab explore des cas d’usage autour de la génération de tests, de documentations de merge requests, de résumés de revue de code, de la description à partir d’un fil « issue », de la suggestion de commandes Git ou encore de l’analyse de causes profondes d’échecs d’exécution de pipelines CI/CD.

À cela s’ajoute un algorithme pour prédire les métriques de productivité et identifier les anomalies lors du cycle de développement. Cet outil sera intégré à la suite d’outils de Value Stream Management, un volet d’intérêt pour l’éditeur.

Non loin, il y a la volonté d’améliorer les fonctionnalités de planification agile, dans l’espoir de faire de l’ombre à Jira. GitLab regarde également du côté du monde APM : ses équipes sont en train de développer des outils d’observabilité capables de surfacer les logs, traces, métriques et suivre les erreurs (grâce à l’acquisition d’Opstrace) à même la plateforme.

Les applications d’IA générative doivent favoriser l’expérience utilisateur de GitLab et améliorer l’accès à la documentation, un des points faibles de l’éditeur, selon Gartner.

« GitLab est un produit qui est vendu depuis environ dix ans. À nos débuts, nous le vendions aux doctorants et aux experts du DevOps. Nous sommes maintenant utilisés par des entreprises qui n’ont pas nécessairement accès à ce niveau d’expertise », reconnaît le Chief Product Officer.

« Tous ceux qui s’occupent du développement logiciel vont bénéficier d’un coup de pouce de l’IA ».
David DeSantoChief Product Officer, GitLab

« C’est pourquoi nous ajoutons de l’IA dans tous les domaines, de la planification à l’exploitation. Ainsi, tous ceux qui s’occupent du développement logiciel vont bénéficier d’un coup de pouce de l’IA », avance-t-il. « C’est ce qui ressort de notre dernière enquête sur l’approche DevSecOps. Les personnes interrogées nous ont dit que seulement 25 % du temps des développeurs est consacré à l’écriture du nouveau code, tandis que le reste de leur activité consiste à corriger l’existant ou relire les modifications ».

GitLab se penche sur le MLOps et le DataOps

Enfin, GitLab entend se positionner sur le MLOps et le DataOps, en poursuivant les initiatives entamées en 2021.

La fonctionnalité la plus avancée en la matière n’est autre que Model Registry, qui doit permettre de gérer des modèles de machine learning et d’IA, l’historique de modification et les différentes versions accessibles.

Plus tard, GitLab envisage de couvrir l’aspect DataOps, « en commençant par le versionning de jeux de données ».

« Certaines de nos activités liées aux DataOps que nous réalisons aujourd’hui sont le fruit d’un partenariat avec Meltano, qui faisait autrefois partie de GitLab, et qui s’est séparée de la société », relate David DeSanto. « Les ingénieurs de GitLab ont travaillé sur l’utilisation de Meltano afin de gérer des flux ELT et l’obtention de jeux de données prêts à être utilisés par GitLab pour l’entraînement de modèles d’IA ». D’après la documentation de l’éditeur, d’autres pistes sont envisagées, dont celle du recours à DBT.

Dans son bilan financier du deuxième trimestre fiscal 2024 terminé le 31 juillet, GitLab revendique 30 millions d’utilisateurs et plus de 7815 clients payants, dont plus de 810 dépensent plus de 100 000 dollars par an. L’éditeur affiche un chiffre d’affaires de 139,6 millions de dollars, en hausse de 38 % par rapport à l’année dernière, pour 51,2 millions de dollars de pertes nettes (contre 61,4 millions à la même période l’année passée).

Pour approfondir sur Open Source