Smart Mirroring in Bitbucket Data Center: Das Rezept gegen schwache Git-Performance

Vor allem in großen Software-Unternehmen mit großen Projekten und großen Repositories (die die beteiligten Teams womöglich noch quer durch die Welt miteinander teilen) werden die Entwicklungs-Tools oft bis an ihre Grenzen ausgereizt. Bei massiver Skalierung kann auch Git an seine Grenzen stoßen und so ineffizient werden, dass es die Produktivität im Projekt signifikant beeinträchtigt. Um dem entgegenzuwirken, hat Atlassian für Bitbucket das Feature Smart Mirroring ausgeliefert, das nun in Bitbucket Data Center verfügbar ist.

Wer braucht Smart Mirroring?

Smart Mirroring ist eine Lösung für Teams mit hunderten oder gar tausenden Entwicklern. Solche Mengen an Codern belasten jeden Repository-Server. Und so wichtig die Performance von Bitbucket allein schon ist – es kommen noch andere Faktoren ins Spiel.

Viele große Entwicklungsteams, die Git nutzen, arbeiten an geographisch verteilten Standorten und haben dabei keine oder nur wenig Kontrolle über die Netzwerk-Performance zwischen sich und ihrer Bitbucket-Instanz. Diese Teams leiden unter langen Wartezeiten, und jede durchgeführte Operation konkurriert um die begrenzte Bandbreite. Zusätzlich sind das häufig auch genau die Teams, die aus diversen Gründen mit großen Repositories arbeiten müssen.

Alle diese Faktoren wirken dahingehend zusammen, den Entwicklern wertvolle Zeit dadurch zu stehlen, dass es oftmals Stunden dauert, ein großes Repo vom anderen Ende der Welt zu kopieren. Es kann so schlimm werden, dass man mit der Idee spielt, einfach ein tragbares Laufwerk zu nehmen und per Post zu verschicken. Smart Mirroring packt diese Herausforderungen an.

Wie Smart Mirroring die Git-Performance verbessert

Bitbucket Data Center ist von jeher in der Lage, multiple Anwendungsknoten in einem lokalen Cluster zu betreiben, um den Nutzern und Build-Bots Performance und Verfügbarkeit zu bieten. Smart Mirroring bringt diese Performance-Verbesserungen für Git-Leseoperationen einen Schritt weiter, und zwar auf eine Weise, die auf verteilte Teams, die mit großen Repos arbeiten, zugeschnitten ist.

Smart Mirroring

Das funktioniert, indem man an verteilten Standorten Spiegel-Server mit Read-only-Kopien von Repositories aufsetzt, die automatisch von der primären Bitbucket-Instanz aktuell gehalten werden. Spiegel können alle Repos der Primärinstanz enthalten oder nur einen Teil. Die Spiegel-Server delegieren die Nutzerautorisierung und -authentifizierung an den Primär-Server, sodass kein zusätzliches User-Management erforderlich ist. Und es lassen sich beliebig viele Spiegel mit Bitbucket Data Center verbinden, ohne dass zusätzliche Lizenzkosten entstehen.

Das führt nicht nur zu einer dramatisch verbesserten Git-Performance. Entwickler haben in ihrer Bitbucket-Oberfläche auch automatisch alternative Clone-Orte zur Verfügung, ohne dass Admins etwas anpassen müssen. Einmal aufgesetzt, gehen die Spiegel komplett auf 'Self-Service'.

Performance-Gewinne prognostizieren

Die Performance-Gewinne variieren natürlich je nach Netzwerk-Bandbreite und Repository-Größe. Am Ende kommt es darauf an, wie langsam das Remote-Cloning für ein spezifisches Team heute ist. In einfachen Tests hat Atlassian beobachtet, dass das Klonen eines 5-GB-Repositorys zwischen San Francisco und Sydney über eine Stunde gedauert hat. Smart Mirroring hat diese Zeit um das 25-fache auf wenige Minuten verkürzt.

Atlassian berichtet von einem Kunden, bei dem Remote-Nutzer neun Stunden gebraucht hätten, um ein Repo zu kopieren! In solchen Fällen kann Bitbucket Data Center dramatische Performance-Gewinne bieten. Die Smart-Mirroring-Lösung ist geeignet, die Hürden der räumlichen Distanz signifikant zu senken und verteilte Entwicklungsteams in die Lage zu versetzen, die Vorteile von Git viel besser auszunutzen.

Git und Bitbucket effektiv nutzen? Wir sind Ihr Partner!

Bitbucket bietet eine zentrale Lösung zum Management des gesamten distributierten Codes: Hier kommen alle Git-Repositories im Unternehmen zusammen, hier finden Entwickler immer die letzte offizielle Version eines Projekts, hier können Projektverantwortliche Berechtigungen kontrollieren, um sicherzustellen, dass die richtigen Nutzer Zugriff auf den richtigen Code haben. Möchten Sie mehr erfahren? Wir sind offizieller Vertriebspartner von Atlassian und einer der größten Atlassian Experts weltweit. Gerne unterstützen wir Sie bei der Evaluierung, Lizenzierung und Adaption von Bitbucket.

Weiterführende Infos

99 Argumente für Bitbucket Server (Stash) als Git-Repository-Manager
Branch-basierte Git-Workflows adaptieren
Echte Integration: Das Zusammenspiel von JIRA, Stash und Bamboo
Interview: Die Vorteile von Git in der Software-Entwicklung und die Möglichkeiten von Bitbucket Server (Stash)
So funktioniert die Lizenzierung von Atlassian-Produkten