Haut de page

Pourquoi choisir Bitbucket


Publié par
Abdulrazaq OMAR

7 décembre 2017

Bitbucket est une des solutions de gestion de dépôt Git les plus populaires sur le marché. Même s’il existe de nombreux outils et services différents, il y a des domaines dans lesquels Bitbucket est meilleur – que vous soyez une petite équipe de développement ou une grande équipe. Laissez-moi vous les présenter.

Bitbucket à grande échelle

Bitbucket est conçu pour vous accompagner à toutes les étapes de votre croissance. Il offre d’intéressantes fonctionnalités pour les grandes équipes et les grandes organisations.

Haute disponibilité

Pour les grandes équipes, Bitbucket est souvent un logiciel critique. Si vous choisissez l’option de déploiement Data Center, vous n’aurez jamais à vous inquiéter du fait que votre application soit momentanément indisponible. En effet, cette option vous permet d’avoir plusieurs nœuds sur lesquels l’application tourne, ce qui réduit grandement la probabilité d’avoir une interruption de service non prévue.

De plus, l’offre Data Center propose une option de reprise de service quasi instantanée et automatique grâce au clustering Actif-Actif afin que vos utilisateurs ne s’aperçoivent pas qu’un nœud est en panne. Les résultats sont exceptionnels!

 

Performances à grande échelle

Quand on doit faire évoluer Bitbucket pour supporter une plus grande charge, ce qui est le plus consommateur de ressources sont les nombreuses requêtes Git en provenance de milliers d’utilisateurs concurrents.  En effet, quand les utilisateurs initient une commande Git qui doit communiquer avec un dépôt de code sur Bitbucket, votre client Git ouvre une ou plusieurs connections avec votre instance Bitbucket. Quand cette commande passe l’authentification, cela initie un processus sur le serveur de Bitbucket et renvoie la réponse au client. Tout les processus Git sont consommateurs de ressources. Imaginez donc des milliers d’utilisateurs concurrents qui exécutent ces commandes en même temps et vous comprendrez que le CPU et la mémoire du serveur doivent être conséquents.

 

Maintenant, pour corser un peu les choses ajoutons l’intégration continue et vous comprenez que vos serveurs seront sous pression constante.

Si vous avez Bitbucket Server (et non Data Center), votre seule solution est de dépenser plus d’argent dans votre serveur et d’acheter une machine plus performante. Par contre, si vous avez l’option Data Center, vous pouvez faire évoluer votre configuration en ajoutant d’autres nœuds derrière le répartiteur de charge, afin de gérer des pics continus de requêtes sur votre serveur Bitbucket. Vous pouvez même aller plus loin et dédier un ou plusieurs nœuds à la gestion de l’intégration continue, ce qui enlèvera de la pression sur les autres nœuds.

 

Stockage de fichiers volumineux Git

Git LFS est une technologie développée par Atlassian en collaboration avec d’autres entreprises, telle que GitHub. Elle améliore la gestion de fichiers lourds présents sur votre dépôt sans baisse de performances. Cette fonctionnalité est essentielle pour les équipes qui travaillent avec de gros fichiers binaires pour leurs développements et rends Git utilisable à un niveau entreprise.

Voici en synthèse comment il fonctionne :

  1. Quand un développeur commite un fichier sur un dépôt, Git LFS remplace le contenu par un pointer et stocke le fichier dans un cache Git LFS local.
  2. Quand un push de commits a lieu sur les serveurs, tout les fichiers lourds qui sont référencés par les nouveaux commits seront transférés depuis le cache local vers le stockage distant de fichiers Git LFS lié à votre dépôt.
  3. De même, quand vous synchronisez votre dépôt et récupérez une série de nouveaux commits contenant de gros fichiers, seuls les pointeurs sont transférés. Les fichiers gérés par Git LFS ne seront téléchargés à la demande que lors du checkout. Le système Git LFS remplacera les fichiers de votre cache local Git LFS, ou s’il n’existe pas, il seront téléchargés depuis le stockage du serveur Git LFS.

La vidéo ci-dessous d’Atlassian explique cela de manière très simple:

Smart Mirroring

Pour les grandes entreprises , avoir des équipes distribuées sur plusieurs sites et parfois sur plusieurs continents, toutes connectés à un dépôt hébergé dans un de ces sites, peut très rapidement entraîner des problématiques de performances. Bitbucket résout ce problème en implémentant le Smart Mirroring, qui fourni des miroirs hébergés localement du dépôt principal. Ainsi, le temps de clonage Git et le temps de commit vers le dépôt principal se trouvent réduits, tandis que toutes les instances du dépôt restent synchronisées.

« Quand un utilisateur clone ou fetch depuis un miroir, le miroir délègue automatiquement l’authentification et l’autorisation de leurs identifiants au serveur principal. Ainsi aucune gestion des utilisateurs supplémentaire n’est requise sur les miroirs, et tout les utilisateurs, groupes, et permissions de l’instance Bitbucket principale ( qu’ils soient fournis par le répertoire utilisateur de l’application et son système de gestion des droits ou par vos propres répertoires utilisateurs et/ou extensions personnalisées) sont toujours répliqués de manière identiques sur tous les miroirs. »
– Atlassian

De nombreuses extensions

La marketplace Atlassian regorge d’extensions pour Bitbucket. En voici quelques examples :

  • Awesome Graphs for Bitbucket Server: fournit d’intéressantes statistiques et des graphes à propos de la performance de l’équipe ansi que des métriques sur le dépôt.
  • Code Review Assistant: assiste les reviewers en intégrant une analyse du code statique sur le serveur Bitbucket
  • Smart Search: vous permet d’étendre les fonctionnalités de recherche dans Bitbucket à des recherches par commits, pull requests, etc.
    Dans les dernières versions de Bitbucket, un module de recherche fonctionnant à base d’une technologie Elastic Search est disponible. Cela peut représenter une alternative intéressante à cet app, mais nécessite d’être configuré à part à l’installation du serveur.
  • Yet Another Commit Checker: vous permet de valider que les messages de commits contiennent bien des clefs de demande JIRA pour assurer l’intégration entre les deux outils.

Securité

Atlassian prends la sécurité au sérieux et Bitbucket n’y fait pas exception. Bitbucket propose des fonctionnalités d’authentification avancées pour les grandes entreprises et une authentification SAML. Afin de compléter ces fonctionnalités, Bitbucket permet de définir des permissions d’accès sur les dépôt et aussi au niveau des branches directement. 

Bitbucket pour les petites équipes

Bitucket est aussi un excellent choix pour les petites équipes. Voyons pourquoi.

Dépôts de code source gratuit pour les petites équipes

Bitbucket offre des dépôts illimités et gratuits pour les équipes d’au plus 5 personnes. L’intégration avec Jira est aussi gratuite, même via les builds en pipeline sur Bitbucket Cloud.

License gratuite pour les associations et les étudiants

Si vous êtes une association ou un groupe d’étudiants, vous avez de la chance. Bitbucket est gratuit pour votre équipe, avec un nombre illimité d’utilisateurs et de dépôts. Atlassian propose aussi un guide d’utilisation et des tutoriels sur Git gratuits. 

Démarrage en quelques minutes

Grâce à l’offre Cloud, votre équipe peut être en ligne, collaborer et commiter en seulement quelques minutes. Cela vous enlève la charge de devoir configurer vos propres serveurs – ce qui est idéal pour les petites équipes.

Pipelines

L’intégration continue, directement dans votre instance Bitbucket Cloud, c’est la promesse des pipelines Bitbucket. Cette fonctionnalité fait économiser un temps précieux aux équipes qui veulent un moyen rapide de faire des builds et de déployer leur application sans perte de temps. Elle va même jusqu’à permettre à votre équipe de créer leur configuration via un code dans un fichier yml.

Prêt à tester Bitbucket?

Il y a beaucoup d’autres fonctionnalités qui font de Bitbucket une solution qui fournit exactement le bon équilibre entre des fonctionnalités utiles aux petites équipes ou pour de grands groupes qui ont plusieurs milliers d’utilisateurs… sans oublier les intégrations avec de nombreux logiciels tels que Jira.

Si vous êtes une petite équipe, il est très simple de démarrer. Cependant, si vous souhaitez déployer Bitbucket à grande échelle, nous vous recommandons d’échanger d’abord avec l’un de nos consultants certifiés. Cliquez-ci dessous et nous serons heureux de parler de votre projet avec vous !