[go: up one dir, main page]

+

Deutsche Bahn uses GitLab to drive critical rail app used by millions

  • Better quality software
  • Faster development
  • More competitive business

Deutsche Bahn AG / Volker Emersleben

IndustryTransportation
Employees338,000
LocationBerlin, Germany

Want to see what GitLab Ultimate can do for your team?

Start your free trial

Deutsche Bahn’s high-speed trains are national symbols of German engineering and efficiency — so they need an equally high-speed and efficient way to build software for their millions of users. They also need a high-performance application that serves as a comprehensive travel companion for people looking to book tickets and get timely schedule information.

Germany's national railway company and one of Europe's largest railway operators adopted GitLab's end-to-end DevSecOps platform in 2016 to build a world-class booking system, ease compliance needs, and create a collaborative culture where users share code and project insights.

We built our primary digital platform — the interface for millions of our customers — from the ground up with GitLab. This software is critical to our success, so GitLab is, too.

- Lukas Pradel, software engineer, Deutsche Bahn

Based in Berlin, Deutsche Bahn was founded in 1994 following German reunification. It operates as a private company wholly owned by the German government. Today it manages about 33,500 kilometers of tracks, holding a unique position as the country’s transportation backbone, connecting virtually every city and town through its comprehensive network. With nearly 340,000 employees and transporting nearly 2 billion passengers a year, the organization stands out for its integrated business model, including long-distance and regional passenger services, freight operations, and global logistics.

Building DB Navigator: A critical app for 23 million unique visitors

For millions of German travelers, Deutsche Bahn’s DB Navigator isn't just another app — it's their essential connection to the organization's vast railway network. In fact, it is Deutsche Bahn’s most used app, handling 1.5 billion travel information requests in 2023 with an average of 42 million visitors per month the same year. The app serves as the organization's primary digital interface for millions of customers, serving as a critical driver of ticket sales, and a source of real-time travel information and trip planning. It is Deutsche Bahn’s most important piece of software.

The organization built it from the ground up with GitLab.

To build DB Navigator, about 400 people across about 35 DevSecOps teams used GitLab’s platform to share code, documentation, and best practices. GitLab also enabled them to collaboratively share information about different projects and ask each other for guidance.

“We have such a large community and a complex IT landscape at Deutsche Bahn that we have been trying to foster a way for people in different teams to share code, as well as libraries and insights,” says Martin Ortmann, product owner at Deutsche Bahn. “Having a collaborative platform allows us to foster learning and discussions that have definitely been a big benefit to us.

“People have built wide-ranging communities where they discuss all aspects of coding, including fixing bottlenecks and increasing efficiencies,” he adds. “GitLab is important for our collaboration.”

That kind of collaboration made it faster and more efficient to build DB Navigator, their flagship piece of software.

“We built our primary digital platform — the interface for millions of customers — from the ground up with GitLab,” says Pradel. “It’s significant to our success, so GitLab is too.”

When Deutsche Bahn originally adopted GitLab they began using the GitLab Community Edition, which provides basic DevSecOps functionality, including unlimited public and private repositories. “It really helped us,” says Ortmann.

The organization and its DevSecOps teams, however, wanted more – more capabilities that would enable them to efficiently build apps like DB Navigator. And to get more — more planning features, more analytics and reporting, and more priority support — they upgraded to GitLab Premium in 2023. Today they have 11,500 active users, 75,000 hosted repositories, and a 91% success rate in continuous deployments.

Part of that developer happiness came from the fact that Premium gave their team members the opportunity to use more planning features, like merge request boards, Issues, roadmaps, and Epics. These features were available in the Community version but the DevSecOps teams found using them felt more seamless in Premium, encouraging more people to take advantage of the additional features. For instance, approval rules are automatically enforced, and the upgrade also eliminated the need for a separate code search tool. "Since we didn't have to buy another tool, we were able to save that expense and complexity," says Pradel, highlighting Premium's Advanced Search capabilities for cross-repository searches and vulnerability detection.

For the developers it is more seamless because the approval rules are enforced and the fulltext code search is integrated into the product (no switch to separate product needed)

Streamlining: Reducing toolchain complexity and costs

Deutsche Bahn also was able to reduce its toolchain — and the expenses and challenges that come along with it — because of GitLab’s end-to-end DevSecOps platform. In fact, Pradel says GitLab has enabled them to save 15% in infrastructure costs.

Heiko Maaß, system engineer at Deutsche Bahn, notes that they previously had a “very complex” Jenkins setup, including an array of plugins, for their pipeline engine.

They also had at least half a dozen instances of Jenkins running throughout various teams. Each instance, which had its own configurations, was managed by those individual teams. This decentralized evolution led to resource inefficiencies, wasted time, knowledge silos, and maintenance overhead. Today with GitLab, Deutsche Bahn has been able to eliminate most of their Jenkins instances and Ortmann's team alone runs the DevSecOps platform, freeing all the other teams from the mental load of maintaining tools.

Deutsche Bahn is moving toward completely replacing Jenkins with GitLab.

“All those Jenkins plugins often needed to be updated due to security issues, and we had to do plugin upgrades every month. It was very time consuming,” says Maaß. “Those tasks are gone now so we can use that time to create new features, instead of maintaining Jenkins.”

Simplifying compliance: Easing complexities and developer burden

Operating the most extensive transportation network in the country, Deutsche Bahn has to comply with an extensive framework of compliance regulations. And that can be a tough job if an organization has inconsistent processes and documentation, manual coordination of compliance tasks, visibility gaps, and manual handoffs between tools or teams. Deutsche Bahn has been able to avoid these pitfalls by using GitLab’s single application, which has automated compliance checks, eased consistent documentation, enabled policy as code, and standardized workflows.

“Before using GitLab Premium, a lot of our compliance work was manual,” says Maaß. “For instance, in certain cases, you had to write tickets and report that you did a code review to keep up with compliance regulations. We had to worry that approvals would be forgotten. Now we have automation that relieves that stress. And everything is documented so we can prove our compliance whenever we need to. It’s really increased our developer happiness because they have less to worry about.”

Reliability: GitLab Support offers 'immediate' assistance

With GitLab Premium, the Deutsche Bahn team has access to GitLab Support, providing them with assistance when needed, which gives them less to worry about. Ortmann says having this service — which offers help with troubleshooting, multiple support channels, named support contacts, and upgrade assistance — has made work easier and their systems more reliable.

Since the railway services are considered critical infrastructure in Germany, the organization’s technical departments are critical as well. That means Deutsche Bahn’s DevSecOps teams are under constant pressure to supply rapid incident response, maintain app performance under load, and provide continuous availability. GitLab Support helps them do that.

“Having that vendor support is important to us because it enables us to act quickly if something goes wrong,” says Ortmann.

The organization leaned on that support when they needed assistance setting up the GitLab architecture with Kubernetes. “We knew we needed GitLab and its support teams to figure out how best to do it, while keeping the system stable,” says Ortmann. “We received an immediate response from the support team. It was a big relief.”

The immediate value of GitLab Support reinforced that they had made the right decision to upgrade to Premium. And their developers agreed.

“There was a rush of active users who moved to GitLab Premium. It was 40% greater than expected,” says Ortmann. “We shouldn’t have been too surprised, though. People on our teams had started coming to me, saying, ‘Come on. When do we get Premium?’ They were demanding an upgrade. It was all developer driven and the move has really increased their happiness.”

With GitLab Premium powering their critical infrastructure, Deutsche Bahn continues to deliver the reliable railway services that millions of passengers depend on daily, while building the digital innovations that will shape Germany's transportation future.

All information and persons involved in case study are accurate at the time of publication.