p.portfolio
Referenzen, Case Studies und Lösungsportfolio

12. März 2024

Konzeption und Realisierung von API-Produkten zur Bereitstellung anonymisierter Fahrzeugdaten

Bereits seit 2017 arbeiten die Mercedes-Benz AG und die pentacor GmbH zusammen und realisieren zahlreiche API- und API-Management-Projekte. Seit März 2023 unterstützen wir das Unternehmen bei der Entwicklung neuer Versionen von API-Produkten zur Bereitstellung von anonymisierten Fahrzeugdaten. Die Daten werden von verschiedenen Sensoren in vernetzten Fahrzeugen im Feld erfasst und von Fachbereichen oder externen Partnern analysiert, um schließlich standortbezogen aggregierte Daten anonymisiert zur Verfügung zu stellen. Das umfasst Informationen zum Zustand von Straßen (wie beispielsweise Welligkeit oder Oberflächenbeschaffenheit), Verkehrszeichen, potenziellen Gefahrenstellen oder auch Wetterdaten. Diese anonymisierten Daten werden als digitale „Data-as-a-Service“-Produkte für Konsumenten wie beispielsweise Länder und Kommunen bereitgestellt. 

Zuvor haben die Mercedes-Benz AG und pentacor in Zusammenarbeit mit Microsoft die neue API-Management-Plattform zur Verwaltung öffentlicher APIs konzipiert und realisiert. Die API-Management-Plattform ging im November 2022 produktiv in Betrieb und wird seitdem weiterhin von pentacor betreut. Darüber hinaus war pentacor schon in der Vergangenheit im Kontext API-Management an der Bereitstellung von internen und öffentlichen APIs zur Verwendung für Drittapplikationen und Entwickler beteiligt. So verfügen wir über langjährige Erfahrung und ein breites Wissen und Know-how zu APIs und API-Management. 

Diese Erfahrungen bringen wir in das international aufgestellte Projektteam ein. Im Rahmen des Projekts übernimmt pentacor die Konzeption und Umsetzung der Infrastruktur und der Backend-Systeme der APIs und unterstützt bei der Integration in die API-Management-Plattform. Dabei legen wir Wert auf eine sehr offene Kommunikation und gestalten unsere Arbeit transparent, so dass das gesamte Team und vor allem der Auftraggeber volle Einsicht in unsere Arbeit und Zugriff auf alle Daten erhalten. Wir sind verantwortlich für die komplette Konzeptionierung und Architektur der Plattform sowie der einzelnen Services, die wir bebauen und implementieren. Das Projekt wird agil mit Scrum realisiert, bei gleichzeitiger Berücksichtigung vorgegebener Meilensteine.

Photo by Joseph Chan on Unsplash

 

Ausgangssituation und Ziel

Bei der Umsetzung der Backend-Systeme für die Bereitstellung der anonymisierten Fahrzeugdaten handelt es sich um eine Neuentwicklung mit dem Ziel die vorherige Umsetzung abzulösen, um den Anforderungen an Qualität und Performance gerecht zu werden. 

Die von uns neu entwickelte Lösung basiert auf Microsoft Azure und setzt insbesondere auf Azure Data Explorer als leistungsfähige Datenplattform für die Speicherung und den Abruf der Daten über in Azure Kubernetes Service deployte Services. Für die flexible Entgegennahme von Daten kommen Event Hubs und Storage Accounts zum Einsatz, und konfigurierbare Mappings für Input sowie Output ermöglichen eine weitreichende Entkopplung von den Daten-Providern. 

Wesentliche Qualitätsziele fokussieren dabei auf Zuverlässigkeit, Performance und Skalierbarkeit. Darüber hinaus ist Erweiterbarkeit ein wichtiger Aspekt der Konzeption und Realisierung der Backend-Plattform, da die Mercedes-Benz AG nicht nur eine Reihe von API-Produkten für den Zugriff auf anonymisierte Fahrzeugdaten bietet, sondern auch bereits eine Reihe weiterer Datenprodukte plant. Weiterhin liegt ein Augenmerk auf der Wiederverwendung gemeinsamer Aspekte der Backend-Services für die einzelnen Produkte bei gleichzeitiger Unterstützung produktspezifischer Besonderheiten, beispielsweise für die Filterung von Daten.

Herausforderungen im Projekt

Die neue Lösung zur Bereitstellung von anonymisierten Fahrzeugdaten wurde parallel zur Weiterentwicklung der bisherigen Version konzipiert und realisiert, so dass immer wieder auf neue und sich ändernde Anforderungen reagiert werden musste. Gleichzeitig wurde die neue Version zum Anlass genommen, um Konsistenz und Developer Experience bzw. Consumer Experience der APIs zu verbessern. 

Wiederholt standen wir vor der Herausforderung, dass die von Microsoft Azure bereitgestellten „Platform-as-a-Service“-Standard-Komponenten die spezifischen Anforderungen von Mercedes-Benz nicht vollumfänglich abgedeckt haben. Gemeinsam mit dem Kunden haben wir kreative Anpassungen und Erweiterungen entwickelt, um Anforderungen und Ziele mit den gegebenen generischen Plattformkomponenten erfolgreich in Einklang zu bringen.

Ergebnisse

Bei der Umsetzung der API-Produkte für die Bereitstellung anonymisierter Fahrzeugdaten konnten wir von der technischen Basis, die wir mit der Arbeit an der API-Management-Plattform selbst geschaffen hatten, profitieren. Dennoch betrachten wir beide als weitestgehend unabhängige Projekte, um spezifische Belange zu separieren. Insbesondere die verwendete Tool-Chain hat jedoch von den Gemeinsamkeiten der API-Management-Plattform und den API-Produkten profitiert. In beiden Fällen wurde auf ein hohes Maß an Automatisierung über Azure DevOps Pipelines und die konsequente Verwendung von Infrastructure-as-Code mittels Terraform gesetzt. Auch bei der Realisierung der Individual-Services wurden die gleichen Konzepte und Ansätze verwendet, um für das Team eine vertraute Entwicklungsumgebung zu schaffen, die eine effektive und effiziente Arbeit ermöglicht und von früheren Erfahrungen profitiert. 

Dass API-Management-Plattform- und API-Produkt-Entwicklung Hand in Hand gehen und vom gleichen Team vorangetrieben werden, ermöglicht wechselseitige Weiterentwicklung und erleichtert die Integration sowie Abstimmung mit Stakeholdern. 

Für die API-Produkte zur Bereitstellung anonymisierter Fahrzeugdaten wurde der Beginn des Produktivbetriebs in mehreren Wellen vereinbart. In der ersten Welle Mitte Oktober 2023 gingen insgesamt fünf Produkte mit jeweils zugehörigen Services live. Alle Services und die benötigte Infrastruktur, bestehend aus Azure-PaaS-Komponenten, können unabhängig voneinander bereitgestellt werden, basieren dabei jedoch auf einer gemeinsamen Kern-Implementierung, die es ermöglicht, produktspezifische Besonderheiten allein konfigurativ umzusetzen. Dazu trägt dazu bei, dass alle API-Produkte über eine identische Grundfunktionalität verfügen und erst die für die Zukunft geplante produktspezifische Datenfilterung oder -aufbereitung dedizierte Implementierungen erfordern wird, für die die Integrationspunkte bereits vorgesehen sind. 

Während des gesamten Projektverlaufs lag das Hauptaugenmerk auf einem ganzheitlichen Ansatz für Architektur und Realisierung, einschließlich entsprechender umfassender Dokumentation. Die Services der Plattform werden auf allen Ebenen getestet, angefangen von Whitebox-Unit-Tests bis hin zu Blackbox-Systemintegrationstests auf Plattform-Level. Das pentacor Team ist ebenfalls verantwortlich für die Automatisierung von Build-, Deployment- und Releaseprozessen und übernimmt das Monitoring der Backend-Systeme.

Technische Basis

Im Zentrum der API-Backends stehen PaaS-Komponenten wie Azure Data Explorer und zusätzlich Event Hubs und Storage Accounts für die Entgegennahme der Daten der Daten-Provider. Als ergänzende Persistenz findet für die Verwaltung geografischer Bereiche für das Data Scoping auch eine Azure-SQL-Datenbank Verwendung. 

Die Services selbst sind in Java als Spring-Boot-Anwendungen umgesetzt und werden als containerisierte Deployments in einem Kubernetes-Cluster auf Basis von Azure Kubernetes Service unter Verwendung des Azure Application Gateway Ingress Controllers bereitgestellt. Für Logging, Monitoring und Alarming werden ebenfalls von Azure bereitgestellte Werkzeuge und Services eingesetzt. 

Für die Konfiguration der Infrastruktur der Plattform nutzen wir Terraform und Helm für das Deployment von Anwendungen in Kubernetes, jeweils automatisiert ausgeführt über Azure DevOps Pipelines.

Fazit

Die bereits bestehenden API-Produkte für die Bereitstellung anonymisierter Fahrzeugdaten wurden durch gezielte Neu-Konzeption und Überarbeitung optimiert, um insbesondere Performance, Developer Experience und Konsistenz der einzelnen Produkte zu verbessern. Dabei wurde der Grundstein für die künftige Erweiterung der Funktionalität sowie die effiziente Umsetzung weiterer verwandter API-Produkte gelegt. Als Basis dient eine weitreichende Entkopplung von den Daten-Providern mit der Möglichkeit zur flexiblen Integration in eine stabile und einheitliche Architektur der Backend-Systeme.

Übersetzen

Teile diesen Beitrag