Nächster Halt: Kostenoptimierung - FinOps @ Deutsche Bahn Reisendeninformation

Mit der Einführung von FinOps haben die kreuzwerker die Reisendeninformation der Deutschen Bahn unterstützt ein neues Betriebsmodell für die Cloud zu implementieren und AWS Kosten einzusparen.

Das Projekt

Pro Tag reisen etwa 13,4 Millionen Menschen mit der Deutschen Bahn. Ein Großteil der Fahrgäste verlässt sich dabei auf die Informationen per Anzeigetafeln im Bahnhof, Zuganzeigern auf den Bahnsteigen, an der DB Information, auf www.bahn.de oder im DB Navigator. Hierbei ist es besonders wichtig, dass die Daten verlässlich und konsistent sind, um Unannehmlichkeiten für die Reisenden zu vermeiden.

Ein Ziel des Bereichs Reisendeninformation bei der Deutschen Bahn ist, die Qualität dieser Daten zu gewährleisten. Vor über zwanzig Jahren ist der Konzern bereits in die Entwicklung der digitalen Reisendeninformation eingestiegen. Seitdem ist viel passiert: von der Schaffung des zentralen Reisendeninformations-Servers, der Anbindung der DB-Kanäle an den Server bis hin zu einer intelligenten, automatisierten Auswertung sowie dem konsequenten Aufbau moderner Plattformen zur Versorgung der Kanäle mit Daten und Services. Informationen sollen für Reisende dabei aktuell, verlässlich, konsistent auf sämtlichen Kanälen und in Echtzeit verfügbar sein. Zur Verarbeitung und Bereitstellung der gigantischen Datenmenge mit über 1 Milliarde Events pro Tag wurden in einem Anwendungs-Ökosystem Lösungen mit dem Fokus “Single Source of Truth” geschaffen. Das Anwendungs-Ökosystem der Reisendeninformation wird komplett in AWS erstellt und betrieben.

Die Herausforderung

Mit der Nutzung dieser Technologie war die Reisendeninformation ein Vorreiter im gesamten DB Konzern und profitiert schon lange von den Möglichkeiten der Cloud: Storage, Instanzen und Services flexibel und automatisiert an den jeweiligen Bedarf anpassen und skalieren zu können, zum Beispiel beim Übergang von lokalen Pilotprojekten zu deutschland-weiten Produktivsystemen.

Allerdings muss die Architektur der Software auch auf diese Form des Betriebs eingestellt sein:

Das heißt, sie darf nicht hardware abhängig sein und muss die flexible Skalierung in der Cloud mit entsprechenden Technologien unterstützen.

Die vielen Vorteile der Cloud haben ihren Preis – ganz wörtlich, denn die Kosten, die bei den Anbietern des Cloud-Service fällig werden, bilden einen nennenswerten Budgetposten. Das geht nicht nur der Deutschen Bahn so, sondern auch anderen Nutzern von Cloud Services aus unterschiedlichsten Branchen. Daher formt sich aus der anfänglichen Euphorie über die neuen technischen Möglichkeiten zur Zeit ein pragmatisches Mindset, das verstärkt die Kosten des Cloud Computings in den Fokus nimmt: FinOps, Cloud Financial Management, ist der Begriff für dieses Mindset und die entsprechenden Maßnahmen, um das Kosten-Nutzen-Verhältnis der Cloud zu optimieren. Um diese Herausforderung zu meistern, wurde das FinOps Team der kreuzwerker als externer Partner engagiert.

Informieren, optimieren, kontrollieren

Am Anfang von FinOps stand die Erkenntnis, dass viele Unternehmen für die Nutzung von Cloud Services zu viel Geld ausgeben – Ressourcen, die eingespart und möglicherweise anderweitig effektiver verwendet werden könnten. FinOps kann als Finanzmanagement über den ganzen Lebenszyklus von Entwicklung bis Betrieb von Software an verschiedenen Punkten ansetzen. Zunächst gilt es, die Cloud-Kosten zu analysieren und zu verstehen: Cloud-Services werden pro Einheit “angemietet”, es ist also eine zeitbezogene, typischerweise stündliche Miete für eine Ressource fällig. Die Abrechnungsmodelle sind dabei komplex und dynamisch.

Gemeinsam mit dem Team Ops, das den Cloud Betrieb steuert, analysierte das kreuzwerker Team zunächst die AWS Nutzung und identifizierte sogenannte “Low Hanging Fruits”, also Maßnahmen, die einfach umgesetzt werden können und zu deutlichen Einsparungen führen.

Um den Kostenverantwortlichen einen einfachen Überblick der anfallenden AWS Kosten zu ermöglichen, war es nötig, eine einheitliche Tagging Struktur zu implementieren durch welche späteres Monitoring und Chargeback der Kosten erst möglich gemacht wurde.

Entscheidend bei dieser Zusammenarbeit ist, dass die Product Owner und alle Teammitglieder eingebunden werden und Verantwortung übernehmen, um eine kontinuierliche Optimierung der Nutzung und Kosten zu ermöglichen.

Ein nächster Schritt ist die kritische Kosten- Nutzen-Betrachtung der einzelnen Anwendungen. Dabei legen sich die Teams gemeinsam auf ein strategisches Optimum im Zielkonflikt von Kosten, Qualität, Flexibilität und Geschwindigkeit fest.

FinOps@DB

Steile Lernkurve, große Einsparungen

Die FinOps Maßnahmen der kreuzwerker haben bei der Reisendeninformation ein beeindruckendes Einsparpotential gezeigt. Die genutzten AWS Ressourcen konnten seit April 2019 um rund ein Sechstel reduziert werden – und die Kosten dafür sanken sogar noch deutlich kräftiger, nämlich um bis zu 27,5 Prozent. Das gelang, indem Managed Services optimal genutzt, Ressourcen besser ausgelastet wurden und viele RI- Services auf andere Instanztypen migriert wurden.

Denn auch bei AWS gibt es “Sonderangebote”, die sogenannten „Spot-Instanzen“. Hierbei handelt es sich um temporäre Überkapazitäten, die der Anbieter zu einem günstigen Preis anbietet. Der Haken: Die Verfügbarkeit solcher Spot-Instanzen kann sich innerhalb von zwei Minuten ändern. Daher lassen sich solche Möglichkeiten der Kostenreduktion nur mit einer darauf ausgerichteten IT-Architektur nutzen – in enger Zusammenarbeit mit den Development Teams hat das kreuzwerker Team relevante Services bewertet und die Erweiterung der Kubernetes Nutzung unterstütz. Neben einer besseren Ressourcenauslastung sollte so auch eine zuverlässige Basis für die Nutzung von Spot Instanzen geschaffen werden was zu weiteren Einsparungen gegenüber dem On-Demand Preis von bis zu 90% geführt hat.

Mit Hilfe von maßgeschneidertem Reporting und Monitoring wurde sichergestellt, dass alle Beteiligten nahezu in Echtzeit einen Überblick der Nutzung und Kosten erhalten. So kann in Zukunft schnell auf Anomalien und Kostenfallen reagiert werden.

Da FinOps kein Projekt ist, dass einmalig durchgeführt wird sondern Kontinuität erfordert war es besonders wichtig die Teams der Reisendeninformation nachhaltig zu schulen. Durch Lunch & Learn Sessions und Workshops hat das Team der kreuzwerker sichergestellt, dass alle Beteiligten die FinOps Prinzipien verstehen und zukünftig bei Nutzung der Cloud anwenden.

Die Prinzipien auf denen in den Workshops im Detail aufgebaut wurde lauten:

  • Teams need to collaborate
  • Business value of the cloud drives decisions
  • Everyone takes ownership of their cloud usage
  • FinOps reports should be accessible and timely
  • A centralized team drives FinOps
  • Take advantage of the variable cost model of cloud.

Mithilfe der neuen FinOps Praxis hat es die Reisendeninformation der Deutschen Bahn nicht nur geschafft die AWS Kosten zu senken, sondern auch Transparenz in die Komplexität der Cloud-Abrechnung durch klare Strukturen und Prozesse zu erlangen. Dank der besseren Kostentransparenz sind sowohl Entwickler als auch Mitarbeiter aus Finance und Controlling in der Lage schnell und proaktiv auf Änderungen zu reagieren und eine nachhaltige Effizienz zu sichern.

Die Deutsche Bahn ist ein internationaler Anbieter von Mobilitäts- und Logistikdienstleistungen und in über 130 Ländern tätig. Die Deutsche Bahn gestaltet und betreibt die Verkehrsnetze der Zukunft. Mit dem integrierten Betrieb von Verkehr und Infrastruktur und der intelligenten Verknüpfung aller Verkehrsträger bewegt die Deutsche Bahn Menschen und Güter - auf Schienen und Straßen, auf See und in der Luft.