Case Studies Erfolgreiche GitLab Migration
Wie wir ein mittelständisches IT-Unternehmen erfolgreich bei der Migration zu b'nerd Managed GitLab unterstützt haben.
Einführung
In dieser Case Study beleuchten wir die erfolgreiche Migration eines mittelständischen IT-Unternehmens auf unsere Managed GitLab Umgebung. Wir zeigen auf, welche Vorteile die Migration mit sich gebracht hat, welche Herausforderungen zu meistern waren und wie der Prozess gestaltet wurde, um einen reibungslosen Übergang zu gewährleisten.
Ausgangssituation
Unser Kunde ist seit über 20 Jahren im IT-Dienstleistungsmarkt etabliert und auf den Einsatz von Open-Source-Systemen für unternehmenskritische Anwendungen spezialisiert. In der Vergangenheit betrieb das Unternehmen einen eigenen GitLab-Server.
Im Laufe der Zeit wurde der Aufwand für Wartung, regelmäßige Updates und Betrieb jedoch so groß, dass der Kunde nach einer Lösung suchte, um sein Team zu entlasten. Aufgrund spezifischer Compliance-Anforderungen sowie der Notwendigkeit individueller Anpassungen kam ein Umzug der Git-Infrastruktur zu gitlab.com nicht in Frage.
Zielsetzung
Das Hauptziel des Unternehmens war es, den Wartungsaufwand und die damit verbundenen Kosten zu reduzieren. Gleichzeitig sollten die Sicherheit und Skalierbarkeit der GitLab-Umgebung erhöht werden. Eine verbesserte Integration in andere Cloud-Services und die Optimierung der Entwicklungs-Workflows standen ebenfalls im Fokus. Durch den Umzug in unsere Managed GitLab Umgebung erhoffte sich das Unternehmen, diese Ziele zu erreichen und die internen Ressourcen effizienter einzusetzen.
Planung und Vorbereitung
Gemeinsam mit dem Kunden wurde ein dediziertes Projektteam aus DevOps-Ingenieuren des Kunden und unseren GitLab-Experten gebildet. In zwei ausführlichen Meetings erörterten wir zunächst detailliert die Ausgangssituation, besprachen spezifische Anforderungen und identifizierten potenzielle Herausforderungen. Zudem führten wir eine umfassende Bestandsaufnahme aller aktiven Projekte, Repositories, Nutzerkonten und bestehenden CI/CD-Pipelines durch.
Aufgrund der komplexen Herausforderungen wurde dabei vereinbart, zunächst eine Testumgebung auf den b'nerd-Systemen einzurichten, um die einzelnen Migrationsschritte vorab zu simulieren. Mögliche Risiken sollten so frühzeitig erkannt werden, um sicherzustellen, dass die Auswirkungen auf den laufenden Betrieb auf ein Minimum reduziert und die Kontinuität der Entwicklungsprozesse gewährleistet wird.
Herausforderungen
Datensicherheit und Compliance
Die Sicherstellung der Datensicherheit während der Migration und die Einhaltung aller Datenschutzrichtlinien hatten oberste Priorität. Es galt, sensible Unternehmensdaten zu schützen und den spezifischen Compliance-Anforderungen gerecht zu werden.
Datenintegrität
Die vollständige und fehlerfreie Übertragung von Repositories, Artifacts und CI/CD-Konfigurationen stellte eine technische Herausforderung dar. Es war essenziell, dass keine Daten verloren gehen und alle Projekte nach der Migration wie gewohnt weitergeführt werden können.
Benutzerakzeptanz
Die Umstellung auf eine neue Plattform erforderte eine umfassende Kommunikation mit den Mitarbeitern. Es war wichtig, Bedenken auszuräumen und Schulungen anzubieten, um eine hohe Akzeptanz und einen reibungslosen Übergang zu gewährleisten.
Migrationsprozess
Die Migration erfolgte in drei Phasen:
Phase 1 – Planung
Gemeinsam mit dem Kunden wurde ein dediziertes Projektteam aus DevOps-Ingenieuren des Kunden und unseren GitLab-Experten gebildet. In mehreren ausführlichen Meetings erörterten wir detailliert die Ausgangssituation, besprachen spezifische Anforderungen und identifizierten potenzielle Herausforderungen. Wir führten eine umfassende Bestandsaufnahme aller aktiven Projekte, Repositories, Nutzerkonten und bestehenden CI/CD-Pipelines durch.
Während dieser Analyse entdeckten wir, dass die GitLab-Instanz des Kunden eine sehr große Anzahl an Job-Artifacts enthielt. Obwohl der insgesamt belegte Speicherplatz dieser Artifacts nicht besonders hoch war, stellte die immense Anzahl einzelner Dateien eine potenzielle Herausforderung für die Datenmigration dar. Jede Dateioperation—Öffnen, Lesen, Schreiben, Schließen—ist mit einem gewissen Overhead verbunden. Bei Hunderttausenden von Dateien summiert sich dieser Overhead und könnte den Migrationsprozess deutlich verlangsamen.
Um diesem Problem vorzubeugen, identifizierten und löschten wir nach Rücksprache alle vom Kunden nicht mehr benötigten Artifacts. Da jedoch nur eine verhältnismäßig geringe Anzahl entbehrlich war, musste die erwartete längere Migrationszeit in der Planung berücksichtigt werden. Dieses wichtige Learning floss in die Zeitplanung ein, um den Migrationsprozess möglichst effizient zu gestalten und den laufenden Betrieb nicht zu beeinträchtigen.
Phase 2 – Test und Produktivmigration
Basierend auf den Erkenntnissen aus der Planungsphase richteten wir eine Testumgebung auf den b'nerd-Systemen ein, um die Migrationsschritte vorab zu simulieren. Dies ermöglichte es, potenzielle Probleme frühzeitig zu identifizieren und Lösungen zu entwickeln. Das Team erarbeitete einen detaillierten Migrationsplan, der sowohl technische als auch organisatorische Aspekte berücksichtigte.
Die eigentliche Datenmigration wurde im Hintergrund über mehrere Tage durchgeführt. Aufgrund der großen Anzahl an Job-Artifacts bestätigte sich die längere Übertragungszeit, die wir bereits in der Planungsphase antizipiert hatten. Um die Auswirkungen auf den Betrieb des Kunden zu minimieren, entschieden wir uns, die endgültige Produktivmigration über das Wochenende durchzuführen. So konnten wir sicherstellen, dass die Kontinuität der Entwicklungsprozesse gewährleistet blieb.
Phase 3 – Post-Migration und Optimierung
Nach der erfolgreichen Migration wurden die Konfigurationen angepasst und optimiert. Dies umfasste:
- Integration in bestehende Cloud-Dienste: Wir verbanden die GitLab-Umgebung nahtlos mit anderen genutzten Cloud-Services.
- Einrichtung erweiterter Monitoring- und Sicherheitsmaßnahmen: Um den hohen Sicherheitsanforderungen gerecht zu werden, implementierten wir zusätzliche Überwachungsmechanismen.
- Anpassung der CI/CD-Pipelines: Die Pipelines wurden auf die neue Umgebung abgestimmt und optimiert.
Während der Post-Migrationsphase stießen wir jedoch auf ein weiteres Problem: Die Benutzeroberfläche der Container Registry war zunächst sehr langsam. Dies beeinträchtigte die Effizienz der Entwickler beim Zugriff auf Container-Images und verzögerte den Entwicklungsprozess.
Um die Performance zu erhöhen, aktivierten wir für den Kunden ein neues Metadaten-Datenbank-Feature. Die Metadaten-Datenbank ermöglicht zahlreiche neue Registry-Funktionen, einschließlich der Online-Garbage-Collection, und erhöht die Effizienz vieler Registry-Operationen. Durch die Implementierung dieser Funktion konnten wir die Geschwindigkeit der Registry UI deutlich verbessern und die Benutzererfahrung optimieren.
Ergebnisse
Die Migration wurde erfolgreich abgeschlossen und alle Ziele unseres Kunden erreicht:
- Reduzierter Wartungsaufwand: Die Verantwortung für Betrieb und Wartung der GitLab-Instanz liegt nun bei uns, was das interne IT-Team entlastet.
- Erhöhte Sicherheit und Skalierbarkeit: Unsere Managed Umgebung bietet aktuelle Sicherheitsstandards und kann flexibel an wachsende Anforderungen angepasst werden.
- Verbesserte Integration: Durch die nahtlose Integration und die Nutzung von Azure Active Directory (Azure AD) für die zentrale Benutzerverwaltung konnten Entwicklungsprozesse optimiert und die Effizienz gesteigert werden.
Fazit & Ausblick
Die Migration in unsere Managed GitLab Umgebung hat unserem Kunden erhebliche Vorteile ermöglicht: Nicht nur der Wartungsaufwand wurde reduziert; ebenso wurden Sicherheit, Skalierbarkeit und Effizienz verbessert.
Der Schlüssel zum Erfolg dieses Projektes lag dabei insbesondere in der konstruktiven und engen Zusammenarbeit des Projektteams und der sorgfältigen Planung vorab. Auf Basis der positiven Erfahrungen plant unser Kunde, künftig weitere Dienste in unsere Managed Services zu integrieren. Wir freuen uns auf die weitere vertrauensvolle Zusammenarbeit - und darüber, dass wir auch weiterhin die IT-Infrastruktur unseres Kunden Kunden zukunftsfähig gestalten können.
Sie haben Fragen oder wünschen ein individuelles Angebot? Wir beraten Sie gerne.
Kontakt
Unsere Cloud Experten beraten Sie gerne und individuell.
- Unser Büro
-
Sartoriusstraße 22
20257 Hamburg, Deutschland
Mo - Fr: 09.00 - 18.00 Uhr - Telefon
- +49 40 239 69 754 0
- hello@bnerd.com