+
Deutsche Bahn AG / Volker Emersleben
Möchtest du sehen, wie GitLab Ultimate dein Team unterstützen kann?
Die Deutsche Bahn betreibt eines der größten Hochgeschwindigkeitsbahnnetze Europas – und benötigt entsprechend schnelle und effiziente Methoden, um Software für Millionen von Nutzern zu entwickeln. Das Unternehmen benötigt außerdem eine leistungsstarke Anwendung, die als umfassender Reisebegleiter für Menschen dient, die Tickets buchen und aktuelle Fahrplaninformationen abrufen möchten.
Einer der größten Bahnbetreiber Europas hat sich 2016 für die End-to-End-DevSecOps-Plattform von GitLab entschieden, um ein erstklassiges Buchungssystem aufzubauen, Compliance-Anforderungen zu vereinfachen und eine kollaborative Kultur zu schaffen, in der Nutzer Code und Projekteinblicke teilen.
Wir haben unsere primäre digitale Plattform – die Schnittstelle für Millionen unserer Kunden – von Grund auf mit GitLab aufgebaut. Diese Software ist entscheidend für unseren Erfolg, daher ist GitLab es auch.
Die Deutsche Bahn mit Sitz in Berlin wurde 1994 nach der deutschen Wiedervereinigung gegründet. Sie operiert als privates Unternehmen, das vollständig im Besitz der deutschen Bundesregierung ist. Heute verwaltet sie rund 33 500 Kilometer Gleise und nimmt eine einzigartige Position als Rückgrat des deutschen Verkehrs ein, das praktisch jede Stadt und Gemeinde durch ihr umfassendes Netz verbindet. Mit fast 340 000 Mitarbeitern und der Beförderung von nahezu 2 Milliarden Passagieren pro Jahr zeichnet sich das Unternehmen durch sein integriertes Geschäftsmodell aus, das Fern- und Regionalverkehr, Güterverkehr und globale Logistik umfasst.
Für Millionen von Reisenden in Deutschland ist der DB Navigator der Deutschen Bahn nicht einfach nur eine weitere App – er ist ihre essenzielle Verbindung zum weitläufigen Bahnnetz des Unternehmens. Tatsächlich ist dies die meistgenutzte App der Deutschen Bahn und bearbeitete 2023 insgesamt 1,5 Milliarden Reiseinformationsanfragen bei durchschnittlich 42 Millionen Besuchern pro Monat im selben Jahr. Die App dient als primäre digitale Schnittstelle des Unternehmens für Millionen von Kunden, als entscheidender Treiber für den Ticketverkauf und als Quelle für Reiseinformationen in Echtzeit sowie Reiseplanung. Kurz gesagt: Sie ist die wichtigste Software der Deutschen Bahn.
Das Unternehmen hat die DB-Navigator-App von Grund auf mit GitLab entwickelt.
Um den DB Navigator zu entwickeln, nutzten etwa 400 Personen in rund 35 DevSecOps-Teams die Plattform von GitLab, um Code, Dokumentation und Best Practices zu teilen. GitLab ermöglichte es ihnen auch, kollaborativ Informationen über verschiedene Projekte auszutauschen und sich gegenseitig um Rat zu fragen.
„Wir haben eine so große Community und eine komplexe IT-Landschaft bei der Deutschen Bahn, dass wir versucht haben, einen Weg zu schaffen, mit dem Personen in verschiedenen Teams Code sowie Bibliotheken und Erkenntnisse teilen können", sagt Martin Ortmann, Product Owner bei der Deutschen Bahn. „Eine kollaborative Plattform ermöglicht es uns, Lernen und Diskussionen zu fördern, was definitiv ein großer Vorteil für uns war.
„Die Mitarbeiter haben weitreichende Communities aufgebaut, in denen sie alle Aspekte des Programmierens diskutieren, einschließlich der Behebung von Engpässen und der Steigerung von Effizienz", fügt er hinzu. „GitLab ist wichtig für unsere Zusammenarbeit."
Diese Art der Zusammenarbeit machte es schneller und effizienter, den DB Navigator, das Flaggschiff-Produkt des Unternehmens, zu entwickeln.
„Wir haben unsere primäre digitale Plattform – die Schnittstelle für Millionen von Kunden – von Grund auf mit GitLab aufgebaut", sagt Pradel. „Sie ist für unseren Erfolg von großer Bedeutung, daher ist GitLab es auch."
Als die Deutsche Bahn ursprünglich GitLab einführte, begann das Unternehmen mit der GitLab Community Edition, die grundlegende DevSecOps-Funktionalität bietet, einschließlich unbegrenzter öffentlicher und privater Repositories. „Das hat uns wirklich geholfen", sagt Ortmann.
Das Unternehmen und seine DevSecOps-Teams wollten jedoch mehr: mehr Funktionen, die es ihnen ermöglichen würden, Apps wie den DB Navigator effizient zu entwickeln. Und um mehr Planungsfunktionen, mehr Analyse und Reporting sowie mehr Priority Support zu bekommen, wechselte das Unternehmen 2023 zu GitLab Premium. Heute hat es 11 500 aktive Nutzer, 75 000 gehostete Repositories und eine Erfolgsrate von 91 % bei Continuous Deployments.
Ein Teil dieser Entwicklerzufriedenheit kam daher, dass Premium den Teammitgliedern die Möglichkeit gab, mehr Planungsfunktionen zu nutzen, wie Merge Request Boards, Issues, Roadmaps und Epics. Diese Funktionen waren in der Community-Version verfügbar, aber die DevSecOps-Teams empfanden die Nutzung in Premium als nahtloser, was mehr Personen ermutigte, die zusätzlichen Funktionen zu nutzen. Beispielsweise werden Genehmigungsregeln automatisch durchgesetzt, und das Upgrade eliminierte auch die Notwendigkeit eines separaten Code-Such-Tools. „Da wir kein weiteres Tool kaufen mussten, konnten wir diese Kosten und Komplexität einsparen", sagt Pradel und hebt die Advanced Search-Funktionen von Premium für Repository-übergreifende Suchen und Schwachstellenerkennung hervor.
Für die Entwickler ist es nahtloser, weil die Genehmigungsregeln durchgesetzt werden und die Volltext-Code-Suche in das Produkt integriert ist (kein Wechsel zu einem separaten Produkt erforderlich).
Die Deutsche Bahn konnte aufgrund der End-to-End-DevSecOps-Plattform von GitLab auch ihre Toolchain reduzieren – und die damit verbundenen Kosten und Herausforderungen. Laut Pradel konnte das Unternehmen mit GitLab 15 % der Infrastrukturkosten einsparen.
Heiko Maaß, System Engineer bei der Deutschen Bahn, merkt an, dass das Unternehmen zuvor ein „sehr komplexes" Jenkins-Setup hatte, einschließlich einer Vielzahl von Plugins, für seine Pipeline-Engine.
Das Unternehmen hatte auch mindestens ein halbes Dutzend Jenkins-Instanzen, die in verschiedenen Teams liefen. Jede Instanz, die ihre eigenen Konfigurationen hatte, wurde von diesen einzelnen Teams verwaltet. Diese dezentrale Entwicklung führte zu Ressourcenineffizienzen, verschwendeter Zeit, Wissenssilos und Wartungsaufwand. Heute konnte die Deutsche Bahn mit GitLab die meisten ihrer Jenkins-Instanzen eliminieren, und Ortmanns Team allein betreibt die DevSecOps-Plattform, wodurch alle anderen Teams von der mentalen Belastung der Tool-Wartung befreit werden.
Die Deutsche Bahn ist dabei, Jenkins vollständig durch GitLab zu ersetzen.
„All diese Jenkins-Plugins mussten oft aufgrund von Sicherheitsproblemen aktualisiert werden, und wir mussten jeden Monat Plugin-Upgrades durchführen. Es war sehr zeitaufwendig", sagt Maaß. „Diese Aufgaben sind jetzt weg, sodass wir diese Zeit nutzen können, um neue Features zu erstellen, anstatt Jenkins zu warten."
Als Betreiber des umfangreichsten Verkehrsnetzes des Landes muss die Deutsche Bahn einen umfangreichen Rahmen von Compliance-Vorschriften einhalten. Und das kann eine schwierige Aufgabe sein, wenn ein Unternehmen inkonsistente Prozesse und Dokumentation, manuelle Koordination von Compliance-Aufgaben, Sichtbarkeitslücken und manuelle Übergaben zwischen Tools oder Teams hat. Die Deutsche Bahn konnte diese Fallstricke vermeiden, indem sie die Anwendung von GitLab nutzte, die automatisierte Compliance-Prüfungen ermöglicht, konsistente Dokumentation erleichtert, Policy as Code ermöglicht und Workflows standardisiert hat.
„Bevor wir GitLab Premium nutzten, war viel von unserer Compliance-Arbeit manuell", sagt Maaß. „Beispielsweise mussten Sie in bestimmten Fällen Tickets schreiben und melden, dass Sie ein Code-Review durchgeführt haben, um Compliance-Vorschriften einzuhalten. Wir mussten uns Sorgen machen, dass Genehmigungen vergessen würden. Jetzt haben wir Automatisierung, die diesen Stress lindert. Und alles ist dokumentiert, sodass wir unsere Compliance jederzeit nachweisen können. Das hat die Zufriedenheit unserer Entwickler wirklich erhöht, weil sie sich weniger Sorgen machen müssen."
Mit GitLab Premium hat das Team der Deutschen Bahn Zugang zu GitLab Support, der ihnen bei Bedarf Unterstützung bietet, was ihnen weniger Sorgen bereitet. Ortmann sagt, dass dieser Service – der Hilfe bei der Fehlerbehebung, mehrere Support-Kanäle, benannte Support-Kontakte und Upgrade-Unterstützung bietet – die Arbeit erleichtert und ihre Systeme zuverlässiger gemacht hat.
Da die Bahndienste in Deutschland als kritische Infrastruktur gelten, sind auch die technischen Abteilungen des Unternehmens kritisch. Das bedeutet, dass die DevSecOps-Teams der Deutschen Bahn unter ständigem Druck stehen, schnelle Incident Response zu liefern, die App-Performance unter Last aufrechtzuerhalten und kontinuierliche Verfügbarkeit zu gewährleisten. GitLab Support hilft ihnen dabei.
„Der Support des Anbieters ist wichtig für uns, weil er es uns ermöglicht, schnell zu handeln, wenn etwas schiefgeht", sagt Ortmann.
Das Unternehmen stützte sich auf diesen Support, als es Unterstützung beim Einrichten der GitLab-Architektur mit Kubernetes benötigte. „Wir wussten, dass wir GitLab und seine Support-Teams brauchten, um herauszufinden, wie wir das am besten umsetzen, während wir das System stabil halten", sagt Ortmann. „Wir erhielten eine sofortige Antwort vom Support-Team. Es war eine große Erleichterung."
Der unmittelbare Wert von GitLab Support bestätigte, dass das Unternehmen die richtige Entscheidung getroffen hatte, auf Premium zu wechseln. Und die Entwickler stimmten zu.
„Es gab einen Ansturm aktiver Nutzer, die zu GitLab Premium wechselten. Es war 40 % größer als erwartet", sagt Ortmann. „Wir hätten nicht zu überrascht sein sollen. Die Leute in unseren Teams waren zu mir gekommen und sagten: ‚Wann bekommen wir Premium?' Sie forderten ein Upgrade. Es war alles von den Entwicklern getrieben, und der Wechsel hat ihre Zufriedenheit wirklich erhöht."
Mit GitLab Premium, das ihre kritische Infrastruktur antreibt, liefert die Deutsche Bahn weiterhin die zuverlässigen Bahndienste, auf die Millionen von Passagieren täglich angewiesen sind, während sie die digitalen Innovationen entwickelt, die die Zukunft des deutschen Verkehrs gestalten werden.
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung aktuell.