GitLab, l'élève qui veut dépasser le maître GitHub

GitLab, l'élève qui veut dépasser le maître GitHub Aux côtés de la gestion de codes sources, l'application couvre test, packaging d'applications, intégration et déploiement continus, configuration, monitoring… Bref, tout le cycle du DevOps.

Il existe désormais une alternative à GitHub : la plateforme open source GitLab. Depuis que GitHub a été absorbé par Microsoft en octobre 2018, un grand nombre de développeurs jusqu'ici fidèles à celui-ci se tournent vers elle, préférant une solution indépendante à une offre dans le giron de Microsoft pour orchestrer leur pipeline de déploiement. Et ce, même si le géant américain du logiciel ne cesse d'accroître son implication dans le monde du logiciel libre, avec parmi ses derniers faits d'arme Visual Studio Code.

Incubé par Y Combinator en 2015, GitLab affiche une trajectoire impressionnante. La start-up de San Francisco a levé pas moins de 145,5 millions de dollars depuis sa création en 2013. Bouclé en septembre 2018, son dernier tour de table s'élève à 110 millions de dollars et hisse sa valorisation à 1,1 milliard. Dans le sillage de l'opération, la licorne envisage une entrée en bourse d'ici fin 2020. En attendant, GitLab compte 440 salariés répartis dans 45 pays, dont certains basés en France, et tous en télétravail. 250 sont dédiés à la R&D. A ce contingent s'ajoutent quelque 2 200 programmeurs externes qui contribuent au développement de la plateforme open source.

Comparé à GitHub, la palette fonctionnelle de GitLab se veut nettement plus large. Au-delà de la compilation et de la gestion de dépôts de code source sur lesquels se concentre le premier, GitLab s'étend au test logiciel, au packaging d'applications, à l'intégration et au déploiement continus, à la configuration, jusqu'au monitoring et la sécurité applicative.

Le DevOps 100% intégré

"Nous sommes partis d'un produit très similaire à GitHub, et avons évolué vers un logiciel couvrant tout le cycle du DevOps, avec dans l'idée de proposer un environnement de management unique pour l'ensemble des clouds retenus par nos clients, publics ou privés", résume Sid Sijbrandij, CEO et cofondateur de GitLab. "Au sein de notre plateforme, vous disposez de toutes les informations sur vos projets de développement, en matière de code, de changements, d'évolutions de versions, etc. La coordination est ainsi optimisée entre les développeurs, les responsables de production applicative et de sécurité. Tous accèdent au même outil. Au final, cela se traduit par un nombre plus faible d'erreurs et d'annulation de tâches, et des processus de mise en oeuvre beaucoup plus rapides."

GitLab prend notamment en charge le packaging d'applications containerisées reposant sur Kubernetes. "L'objectif est d'automatiser les processus de test, de déploiement et de supervision sur ce type d'infrastructure. Les développeurs comitent leur code, et GitLab fait le reste, déroule les tests, met à jour les containers, gère les dépendances entre composants logiciels, le staging et supervise la performance et la qualité du code. La complexité de Kubernetes est ainsi entièrement masquée par GitLab", explique Sid Sijbrandij. Mais GitLab peut être utilisé pour des workloads plus traditionnels, de type machine virtuelle ou mainframe.

"100 000 organisations ont recours à notre technologie, et nous comptons plusieurs millions d'utilisateurs actifs"

GitLab se décline en deux lignes de produit. En mode cloud, la première est accessible par abonnement, avec à la clé une édition d'entrée de gamme gratuite. La seconde s'installe sur site. Offrant une version communautaire et entièrement open source, cette dernière dispose aussi d'offres payantes. Reposant sur une grille tarifaire équivalente, elles ouvrent accès à un service de support. Dans les deux cas, des fonctions plus évoluées sont proposées, touchant à la supervision de la sécurité du code ou encore au pilotage d'infrastructure Kubernetes. Un élément qui ferait figure de point fort majeur comparé à Bitbucket.

GitLab revendique quelque 100 000 organisations ayant recours à sa technologie. "La majorité ont déployé GitLab en interne. Quant à celles qui font confiance à notre déclinaison cloud GitLab.com, même si elles restent minoritaires, leur nombre progresse fortement, notamment depuis l'annonce du rachat de GitHub par Microsoft", précise Sid Sijbrandij. "Au total, nous comptons des millions d'utilisateurs actifs. 43% de nos clients sont basés en Europe et 6,1% en France. Il s'agit de notre quatrième pays le plus important, derrière les Etats-Unis, l'Allemagne et le Royaume-Uni."

Le profil des clients de GitLab ? Grâce à son triple positionnement (entre licence communautaire, licence payante et abonnement cloud freemium), la société fait le grand écart. "Nous avons toutes les tailles de structures parmi nos clients, du programmeur indépendant qui peut d'ailleurs contribuer au développement de GitLab jusqu'aux grandes entreprises du Fortune 500 avec des dizaines de milliers d'utilisateurs", constate Sid Sijbrandij.

Le CERN avec 12 000 utilisateurs

En France, GitLab met en avant deux références : le consortium open source OW2 et Worldline, la filiale d'Atos spécialisée dans les services de paiement. Parmi ses principaux clients européens figurent le CERN. Situé sur la frontière franco-suisse, l'institut de recherche nucléaire s'adosse à GitLab pour gérer les codes sources de ses développements logiciels. Au total, 12 000 informaticiens accèdent à la plateforme installée en interne, et plus de 120 000 jobs d'intégration continue y transitent chaque mois.

Pour la suite, GitLab prévoit de se doter d'un PaaS (voir la feuille de route). Une évolution qui se traduira par l'ajout d'une couche d'autoscaling pour adapter à la volée les ressources machines allouées aux applications Kubernetes en fonction du trafic. Pour effectuer ce tour de passe-passe, GitLab entend recourir à Knative. Lancé par Google en 2018, ce middleware automatise la compilation, le déploiement et le management de logiciels basés sur le moteur de containers. "Nous venons de lancer GitLab Serverless pour piloter les workloads serverless. Il s'appuie déjà sur Knative", rappelle Sid Sijbrandij. "Dans le futur, nous prévoyons aussi de recourir à cette brique pour orchestrer des applications serverless au sein de notre PaaS." La finalité ? Proposer un environnement de management unique qui puisse assurer le portage de logiciels, serverless ou non, d'un cloud à l'autre, privé comme public.

En parallèle, GitLab compte plus que jamais booster ses capacités en matière de sécurité. Pour se donner les moyens de son ambition, la société prévoit de faire grossir son équipe dédiée à ce domaine de 10 personnes à pas moins de 400 personnes d'ici la fin de l'année.