Wenn Software-Teams wachsen, ist das eine Herausforderung für die IT. Git richtig zu skalieren, ist dabei oftmals eine der wichtigsten Aufgaben. Es gilt sicherzustellen, dass Entwickler effizient zusammenarbeiten können – dazu benötigt man die Unterstützung von Provisionierung und Berechtigungen sowie genügend Leistung für die Systemlast. Falls ein verteiltes Team Git einsetzt, multipliziert sich die Komplexität nochmals. Wie lässt es sich sicherstellen, dass Ihre Entwickler einerseits konsistente Arbeitsabläufe und andererseits eine hohe Produktivität erreichen?

Bitbucket Data Center hilft genau hier – aber was kann man erwarten, wenn man Bitbucket und damit Git skaliert? Wo sind die Grenzen? Atlassian hat einige interessante Zahlen veröffentlicht, die wir Ihnen nicht vorenthalten möchten.

Mehr Nutzer an Bord holen

Die größten Bitbucket-Kunden haben mehr als 11.000 lizenzierte Nutzer in einer einzigen Instanz

Alles fängt mit einem Benutzer an. Oder direkt Dutzenden. Sie können sich auf Wachstum innerhalb der Teams einstellen, indem Sie einen Blick auf die Anzahl der Angestellten und voraussichtlichen Neueinstellungen werfen (z. B. fünf weitere Entwickler im nächsten Quartal). Gibt es Teams mit Interesse daran, ihre Repositories in die organisationsinterne Bitbucket-Instanz umzuziehen?

Weitere Nutzer heißt aber auch: Mehr Git-Betrieb, mehr Test-Builds und mehr Bedarf an entsprechender Werkzeug-Power. Sie können Bitbucket Data Center entweder horizontal mit weiteren Knoten oder vertikal mit mehr Hardware (z. B. CPU oder RAM) skalieren, um lästige Leistungseinbrüche durch mehr Nutzer zu vermeiden.

Wachstum vorhersagen und sich darauf einstellen

Einer der größten Bitbucket-Kunden hat mehr als 10.000 Projekte in einer einzigen Instanz

Projekte sind in Bitbucket wie in Jira praktisch, um Teams innerhalb des Tools zu organisieren und zu gruppieren. Ein einziges Projekt kann viele Repositories beinhalten, was Neueinsteigern ermöglicht, schnell zu sehen, wer welche Komponenten betreut.

Indem Sie Repositories in Projekten organisieren, können sich Teams besser an bestimmten Zielen, Produkten oder Prozessen ausrichten.

Tipp vom Experten
Mittels eines Audits Ihrer existierenden Projekte lässt sicherzustellen, dass diese den Bedürfnissen Ihrer Entwicklerteams entsprechen.

 

Branches: Genug für einen ganzen Wald

Ein großer Bitbucket-Kunde hat mehr als 57.000 Repositories in einer einzigen Instanz

Repositories sind der Kern einer jeden Operation mit Git, egal ob Sie gerade Git zum ersten Mal benutzen oder den hundertsten Commit in diesem Monat tätigen. Für jede neue Komponente, neu erstelltes Projekt oder Änderung an der bestehenden Architektur gibt es das entsprechende Repository mit dem betreffenden Code.

Die tagtägliche Nutzung von Git durch Teams ist eine Sache – eine wachsende Anzahl von Repositories und die wachsenden Anforderungen durch CI/CD-Tooling eine weitere Herausforderung. Entwickler mögen zwar jeden Tag Clones und Fetches durchführen, aber die meisten solcher Operationen werden durch Werkzeuge wie Bamboo und Jenkins ausgelöst. Ein Build mit mehreren Stufen ist quasi eine Ansammlung von dutzenden Operationen mit hoher CPU-Last, da für das Repository mehrfach clone und fetch ausgeführt wird.

Haben Sie bemerkt, dass sich eine große Anzahl an Repositories negativ auf Ihre CI/CD-Pipeline auswirkt? Warten Entwickler länger auf Testergebnisse von Builds? Mittels eines Bitbucket Data Center Smart Mirrors lässt sich viel von der Last der primären Instanz nehmen – und Ihre Entwickler können ungestört weiterarbeiten.

Tipp vom Experten
Wenn Sie Ihr CI/CD-Tooling zu einer entsprechenden Smart Mirror-Instanz von Bitbucket Data Center umleiten, wird die CPU-Last Ihrer primären Instanz verringert.

Repositories können auf viele Arten wachsen, nicht nur in der Anzahl. Über die Lebensdauer eines Repositories wächst der Speicherbedarf – ein Repository wird speichertechnisch niemals kleiner werden, sondern stets größer. Das liegt in der Natur von Git, da jeder Commit und jede Revision einer Datei aufwändig historisiert wird und stets auf Abruf bereitsteht. Das gilt auch für Binärdateien – was natürlich Auswirkungen auf den Speicherbedarf hat.

Ein großer Bitbucket-Kunde hat mehr als 68 GB Code in einem einzigen Repository

Für verteilt arbeitende Teams bietet es sich an, mittels eines geographisch geschickt platzierten Smart Mirrors Clone- und Fetch-Operationen zu beschleunigen.

Push kommt vor Pull Request

In Instanzen von Bitbucket-Kunden mit ca. 10.000 Nutzern werden 173 Pull Request im Schnitt erstellt - pro Tag

Pull Requests sind ein zentrales Ereignis im täglichen Arbeitsablauf eines Entwicklers. Software-Teams operieren immer im Takt von Pull Request öffnen – überarbeiten – schließen. Mehr Pull Requests sind ein gutes Anzeichen für ein wachsendes Team und können Entwicklern dabei helfen, Probleme zu finden bevor diese auftreten. Pull Requests sind die Synthese von geteilter Verantwortung für Code, Codequalität und gelebten Mentoring von Team-Mitgliedern untereinander.

Im Zeitalter von DevOps hilft die Automatisierung von Aufgaben rund um Pull Requests dabei, Teams schneller voranzubringen – und erlaubt es, mehr Pull Request zu öffnen. Wird Bitbucket mit Jira Software verbunden, können Jira-Issues automatisch mit Pull Requests verknüpft und der Status eines Vorgangs ebenfalls automatisiert angepasst werden.

In Instanzen von Bitbucket-Kunden mit ca. 10.000 Nutzern werden im Schnitt pro Stunde 127 Kommentare an Pull Requests erstellt.

Jeder Pull Request sollte mit entsprechenden Kommentaren versehen werden – das ist die halbe Miete. Pull Requests helfen Teams dabei, Erwartungen handzuhaben, Code besser zu dokumentieren oder über Anpassungen der Architektur zu entscheiden. Um einen schnellen Einstieg für Neulinge zu ermöglichen, sollten Sie sicherstellen, dass Code-Style-Guidelines und Standards entsprechend dokumentiert sind.

Mit Apps noch mehr aus Bitbucket Server und Data Center herausholen

Mit Bitbucket Data Center lassen sich die Anforderungen an die tagtägliche Zusammenarbeit rund um Source Code in einer großen Organisation gebündelt lösen: Nutzerverwaltung und Berechtigungen, Projekte, skalierbare Datenspeicherung, Ausfallsicherheit und geographisch verteiltes Arbeiten sind kein Problem.

Neben der Integration mit vielen anderen Entwicklerwerkzeugen sind Apps ein probates Mittel, um Bitbucket Server und Data Center an die Abläufe und Anforderungen Ihrer Organisation anzupassen. Die derzeit beliebtesten Apps sind:

Auch wenn Apps eine nützliche Ergänzung sind: Bedenken Sie, dass das Entfernen einer App eventuell auf Widerstand bei den Nutzern stößt und manche Erweiterungen sich überschneidende Funktionen anbieten. Dennoch kann der Rollout einiger mit Bedacht gewählter Erweiterungen für Bitbucket Data Center vielleicht sogar die Anschaffung weiterer Werkzeuge überflüssig machen.

Git richtig skalieren

Atlassian stellt auch ein Whitepaper zum Thema Git richtig skalieren zur Verfügung. In diesem Whitepaper behandelt Atlassian Themen wie skalierbare Performance dank Smart Mirrors und Disaster-Recovery. Falls Sie sich dafür interessieren, wie Bitbucket Data Center und dessen Features Ihrer Organisation helfen könnte – kontaktieren Sie uns einfach.

Das interessiert Sie?

Dann sind wir als Atlassian Platinum Solution Partner Enterprise für Sie da.