Azure DevOps, GitLab, Jenkins, GitHub… On fait le point sur les outils du DevOps !

Le DevOps n’est pas un outil mais des références et plateformes intègrent des fonctionnalités qui vont aider à faire vivre cette philosophie qui reste très ouverte. Dans cet article, on compare Azure DevOps, GitLab, Jenkins, GitHub !
L'équipeMis à jour le 28 Juin 2023
comparatif outils devops podcast gitlab github azure devops jenkins

Retour aux bases : c’est quoi le DevOps ?

L'idée du DevOps, c'est de rapprocher les équipes de développement des équipes opérationnelles qui exploitent les serveurs. Il s’agit d'arriver à faire en sorte que ce petit monde fonctionne mieux et qu'on joigne les deux univers qui, historiquement, étaient très séparés avec d’un côté les développeurs qui produisaient et livraient du code, et de l’autre les équipes infra qui l’exécutaient.

Aujourd’hui le DevOpsEnsemble de techniques permettant l'intégration, les tests et le déploiement d'une application. peut être à la fois un ensemble de bonnes pratiques, un poste, un service et une philosophie.

Pour retrouver tous nos conseils pour se lancer dans le DevOps

DevSecOps : définition

En ajoutant la notion de sécurité, on arrive au DevSecOps, une branche à part entière du DevOps qui se penche sur l’automatisation et les vérification d’intégrations des app.

Les nouveaux outils comme Sonar permettent d’avoir des briques supplémentaires pour vérifier la propreté du code, son optimisation, etc.

L’idée : s’appuyer sur la chaine d’intégration pour ajouter des contrôles de sécurité.

Les plateformes utiles au DevOps

Le DevOps n’est pas un outil mais des références et plateformes intègrent des fonctionnalités qui vont aider à faire vivre cette philosophie qui reste très ouverte.

Attention, elles n’ont pas toute le même périmètre. Contrairement aux langages de programmation, il serait impossible de les comparer point par point.

GitLab

GitLabGitLab, c’est une plateforme permettant d’héberger et de gérer des projets web de A à Z. est l’un des leaders du secteur, celui qui utilise chez AXOPEN !

L’outil permet de déposer entre autre son code et le versionner.

Depuis quelques années, il s’est enrichi avec des fonctionnalités DevOps : compilation du code et déploiement avec CI/CDProcessus d'automatisation : Intégration Continue et Déploiement Continu

Il est possible d'utiliser Docker dans vos pipelines CI/CD ce qui permet l'utilisation d'un grand nombre d'outils tel que Sonar pour ne citer que le plus connu.

Le défaut selon nous n’est pas des moindre. GitLab n’est pas facile d’accès. Pour un novice, il est difficile de comprendre la configuration des runners et les fichiers YAML. La marche d’entrée est haute mais facile à répliquer. À la clé : un gros gain de temps.

Attention, il y a souvent des mises à jour à faire !

Jenkins

Jenkins propose une autre approche du DevOps.

Il s’agit d’un projet open source qui date de 2011.

Attention, Jenkins est une plateforme qui n’est pas toujours très stable à cause des plugins.

Contrairement à GitLab et aux autres outils, Jenkins ne permet pas de versioning de code mais simplement de faire des pipelines d’intégration et de déploiement avec une gestion des différents agents.

Est-ce une faiblesse ? Pas forcément. C’est même parfois un avantage pour avoir tout au même endroit, au prix d’un peu de configuration

Attention avec Groovy langage compilé propre à Jenkins : tant qu’on a pas lancé la pipeline, on ne sait pas si ça va marcher… Impatients s’abstenir !

Azure DevOps

AzureAzure est la plateforme de Cloud de Microsoft. DevOps est un outil qui fonctionne en mode SaaS. De fait, l’outil intègre plus facilement des services Azure.

Sa philosophie est d’ajouter plein d’outils pour coller à l’agilité : Kanban, gestionnaire de tickets…

A notre sens, c’est le plus simple pour démarrer une démarche DevOps.

C’est la plateforme qui a racheté GitHub, dont nous parlons juste après !

GitHub

Lancé en 2018, GitHub est l’un des plus importants gestionnaires de sources qui hébergement des tas de projets open source, dont de très gros !

Le principal avantage de GitHub : l’outil est très bien intégré et rassemble une communauté nombreuse.

Parti après les autres, GitHub rattrape son retard petit à petit en misant sur la communauté. En effet, il existe un marketplace sur lequel il est possible de partager ces scripts de CI/CD. Avec près de 20 000 scripts écrits par la communauté, vous devrez trouver votre bonheur.

Pour conclure sur les outils du DevOps

Il est possible d’utiliser plusieurs outils en même temps comme GitLab et Jenkins.

Une chose est sûre, les tests de pipeline ne sont pas toujours une partie de plaisir. Sans maîtriser ce qu’on fait, le DevOps et les pipelines peuvent être une grande perte de temps car une pipeline compliquée peut durer plusieurs dizaines de minutes.

Alors, comment choisir sa plateforme DevOps ?

Tout va dépendre de la typologie de projet

  • Petit et mature : GitLab
  • Petite entreprise moins tech : Azure ou GitHub
  • Grosses équipes avec des problématiques de sécurité et une DSI mature Jenkins

Faites également attention à la tarification : souvent c’est à l’usage de l’outil mais cela peut être également à la minute avec le CI/CD et ça peut devenir très cher, très vite/

Pour débuter, nous vous conseillons la lecture de notre article dédié.

Pour auditer votre système d’information, nous pouvons également vous aider.

Pour échanger sur ce vaste sujet, n’hésitez pas à nous contacter !