Erfolgsstories
Dieser Link führt zurück

Upstream Mobility: Erstellen einer wiederverwendbaren und cloud-nativen Infrastruktur in der AWS-Cloud

Kunde
Upstream Mobility - die nächste Stufe der Mobilität GmbH
Industrie
Öffentlicher Sektor
Produkte und Dienstleistungen
Amazon Web Services, Terraform, Kubernetes und mehr
Technologien
Amazon Web Services, Kubernetes, Kibana, Grafana, FluentD, Elasticsearch, Prometheus, Terraform, Amazon Aurora PostgreSQL, Amazon EKS, Amazon EC2, Amazon VPC, AWS CloudWatch

Kunde

Upstream Mobility ist ein in Wien ansässiges Unternehmen, das eine digitale Infrastrukturplattform für öffentliche Verkehrsbetriebe anbietet. Sie vereinen eine Vielzahl von digitalen öffentlichen Mobilitätsdiensten auf einer kommunalen Plattform und kombinieren diese mit anpassbaren Anwendungen und Funktionen, die auf die Bedürfnisse ihrer Kunden zugeschnitten sind. Die Plattform ermöglicht es den Kunden, ihre ÖPNV-Daten in eine einzige benutzerdefinierte Anwendung zu integrieren und eine optimierte Erfahrung für ihre Endnutzer zu schaffen. Ein großartiges Beispiel ist eine mobile App, die es den Nutzern ermöglicht, die Fahrpläne aller öffentlichen Verkehrsmittel in Wien einzusehen und mit nur wenigen Klicks Tickets, Taxis und Elektroroller zu buchen.

Herausforderung

Das Projekt verfolgte drei Hauptziele.

Erstens sollten die Kunden von Upstream Mobility nicht mehr gezwungen sein, ihre Anwendungen auf lokaler Hardware auszuführen und die damit verbundenen Nachteile wie schwierige Skalierbarkeit, unzureichende Verfügbarkeit und geringere Zuverlässigkeit in Kauf zu nehmen, was zu schlechter Kundenerfahrung und geringerer Akzeptanz der Lösung führen kann.

Das zweite Ziel bestand darin, alle Lösungskomponenten modular und wiederverwendbar zu gestalten. Dieser Aspekt war für Upstream Mobility als Inhaber einer White-Label-Lösung, bei der jeder Kunde identische Basiskomponenten verwendet und darauf aufbaut, besonders relevant. Bei den Softwarekomponenten wurde die Modularisierung bereits durch den Einsatz einer Microservice-Architektur und die Containerisierung in Kubernetes erreicht. Diese Anforderung musste auf die Infrastrukturkomponenten ausgedehnt werden, mit einem einfachen "Plug n' Play"-Konzept, das mit mehreren Public Cloud-Anbietern funktionieren kann. In diesem Zusammenhang musste die bestehende Continuous-Integration/Continuous-Delivery-Pipeline (CI/CD) von einer kaum skalierbaren zu einer elastischen und hochverfügbaren Lösung modernisiert werden.

Ein letztes Ziel war die Definition eines Mechanismus und Prozesses für eine transparente Kundenfakturierung mit einer detaillierten Aufschlüsselung der einzelnen Kostenelemente und der Trennung von Projekt- und festen Betriebskosten.

Lösung

Um der veralteten Infrastruktur mit all ihren Nachteilen entgegenzutreten, war ein Wechsel in die Public Cloud unumgänglich. Da die Anwendung bereits als containerisierte Microservices in Kubernetes lief, wurde der verwaltete Elastic Kubernetes Service (EKS) des aktuellen Cloud-Marktführers AWS als ideale Lösung ausgewählt. EKS bietet den Vorteil, dass die komplette Kubernetes Control Plane von AWS verwaltet wird und mit Hochverfügbarkeit in mehreren Verfügbarkeitszonen ausgestattet ist. Zudem kann EKS mit anderen Diensten wie dem Elastic Load Balancer kombiniert und integriert werden. Die Kubernetes Worker Nodes befinden sich in einem privaten Netzwerk und sind daher nicht direkt von außen zugänglich. Zusammen mit den anderen Sicherheitselementen von AWS wie Security Groups, Network Access Control Lists und IP-Whitelists konnte so eine hochsichere Infrastruktur geschaffen werden.

Um sicherzustellen, dass die Datenspeicherung mit der Lösung skaliert, und um einfachen Zugang zu Hochverfügbarkeitskonzepten auf der Speicherebene zu erhalten, wurde der verwaltete Datenbankdienst Amazon Aurora für PostgreSQL gewählt. Amazon Aurora ist eine von Amazon direkt für die Cloud entwickelte Datenbank, die einen bis zu dreifachen Durchsatz im Vergleich zu Standard-PostgreSQL bietet. Da es sich bei Amazon Aurora um einen verwalteten Service handelt, bietet sie eine Fülle weiterer Vorteile, wie z.B.: Storage Auto-Scaling; Low-Latency Read Replicas; Instance Monitoring und Repair; Fault-Tolerant und Self-Healing Storage; Automatische, kontinuierliche, inkrementelle Backups und Point-in-Time Restore können im Rahmen der Gesamtlösung eingesetzt werden. Da in der Datenbank sensible Daten gespeichert werden können, war die Sicherheit ein äußerst wichtiges Thema. So ist die Datenbank nicht von außen zugänglich und lässt nur Anfragen von zwei Quellen zu: von der Kubernetes-Anwendung selbst und vom sogenannten "Bastion Host" (einer speziell gesicherten virtuellen Maschine), die wiederum nur Anfragen vom Upstream Mobility-Büro akzeptiert.

Da die Kunden von Upstream Mobility ihre benutzerdefinierten Anwendungen möglicherweise bei jedem der großen Cloud-Anbieter betreiben möchten, musste sichergestellt werden, dass die Infrastruktur einfach und Cloud-unabhängig bereitgestellt werden kann. Das Produkt Terraform von Hashicorp wurde als Werkzeug für diese Aufgabe ausgewählt, da es einen Rahmen für die Beschreibung, Versionierung, Wiederverwendung und Modularisierung von Infrastruktur in Form von Code bietet. Die Verwendung von Infrastruktur als Code legte den Grundstein für die Automatisierung der Infrastrukturbereitstellung und ermöglichte eine einfache Integration in die CI/CD-Pipeline von Upstream Mobility.

Terraform unterstützt eine Vielzahl von Anbietern. Neben den großen Cloud-Anbietern wird auch Kubernetes selbst unterstützt. Damit ist es möglich, neben der Bereitstellung der eigentlichen Infrastruktur auch Logging- und Monitoring-Dienste für den Kubernetes-Cluster automatisch bereitzustellen. Für das Logging wurde der EFK-Stack verwendet. EFK besteht aus den Open-Source-Komponenten Elasticsearch, FluentD und Kibana. FluentD sammelt die Logs der einzelnen Kubernetes-Komponenten, Elasticsearch dient als Such- und Analysemaschine und Kibana visualisiert die Daten. Das Monitoring wurde durch die Open-Source-Software Prometheus und Grafana realisiert, wobei Prometheus für die Bereitstellung der Cluster-Metriken und Grafana für die Visualisierung verwendet wird.Diese Komponenten verfügen über eine große Open-Source-Community, sind gut abgerundet und eignen sich insgesamt sehr gut für eine Cloud-agnostische Lösung.

Mit der Abrechnungskonsole bietet AWS eine einfache Möglichkeit zur übersichtlichen Darstellung der Kosten und ermöglicht die Erstellung von detaillierten Berichten über Services und Projekte. Sie ist damit die ideale Lösung für das Abrechnungsproblem und hat den Vorteil, dass sie leicht konfigurierbar ist. Für die Projektstruktur wird ein eigenes Konto pro Projekt verwendet. Dies entspricht der AWS-Best-Practice und eröffnet nicht nur die Möglichkeit, alle Projektressourcen zusammenzufassen und zu kapseln, sondern erleichtert auch die projektbezogene Rechnungsstellung.

Ergebnis

Durch den Wechsel in die AWS-Cloud konnte Upstream Mobility die Verfügbarkeit und Skalierbarkeit seiner Anwendungen und Infrastruktur erheblich steigern. Durch den Einsatz von Infrastructure as Code und Modularisierung wurde die Markteinführungszeit von Upstream Mobility erheblich verkürzt, die Nachvollziehbarkeit von Strukturänderungen ermöglicht und die Fehleranfälligkeit verringert. Darüber hinaus haben die Kunden von Upstream Mobility nun die Möglichkeit, ihre Lösungen bei beliebigen Cloud-Anbietern einzusetzen.

Mit der AWS-Abrechnungsübersicht konnte Upstream Mobility den Abrechnungsprozess erheblich vereinfachen. Die Kosten sind klar in Services und Projekte unterteilt. Darüber hinaus ermöglichen Budgets und Abrechnungsalarme ein effektives Kostenmanagement im Namen des Kunden und verhindern unangenehme Überraschungen bei der monatlichen Rechnung. Darüber hinaus zahlt Upstream Mobility durch den Wechsel in die Cloud nur noch für die tatsächlich genutzten Ressourcen, und der Übergang von einem Vorauszahlungs- zu einem Pay-as-you-go-Modell bietet ein unglaubliches Einsparpotenzial.

Kontakt

Jens Weimar

Kontakt

Um mehr zu erfahren, stehe ich gerne zu Verfügung. 

Jens Weimar

CRO
Frankfurt a. M.
Anfrage
schwarzer Pfeil rechtsgrüner Pfeil rechts
weißer Pfeil, der nach unten zeigt

Weiter scrollen, um zurückzukehren

Amazon Web Services (AWS)
Kubernetes
Grafana
Kibana
Elasticsearch
Prometheus
Terraform
Dies ist ein "Zurück zum Anfang" Button