Die Mercedes-Benz AG gehört weltweit zu den größten Herstellern von Luxus-Pkw und strebt die führende Position bei Elektromobilität und Fahrzeug-Software an. Ihr weltweites Produktionsnetzwerk mit rund 35 Produktionsstandorten auf vier Kontinenten richtet die Mercedes-Benz AG auf die Transformation des Unternehmens zur Nr. 1 in Elektromobilität und umfassender Digitalisierung aus.
Mercedes-Benz und pentacor
Bereits seit 2017 arbeiten die Mercedes-Benz AG (vormals Daimler AG) und die pentacor GmbH zusammen und realisieren zahlreiche API- und API-Management-Projekte. Seit Juni 2021 entwickeln wir gemeinsam mit der Mercedes-Benz AG und Microsoft eine neue API-Management-Plattform zur Verwaltung öffentlicher APIs von Mercedes-Benz. Diese Neuentwicklung wird von vielen Tausenden Nutzern der Plattform verwendet. Über das Mercedes-Benz /developers-Portal werden auf der API-Management-Plattform Geschäftsfunktionen und Daten von Mercedes-Benz als APIs zur Verwendung für Drittapplikationen und Entwickler bereitgestellt und als digitale Produkte verkauft.
Schon in der Vergangenheit war pentacor im Kontext API-Management an der Bereitstellung von internen und öffentlichen APIs zur Verwendung für Drittapplikationen und Entwickler beteiligt, beispielsweise durch die Entwicklung von APIs und Tryouts. Diese ermöglichen es externen Entwicklern API-Produkte mit Testdaten kostenfrei auszuprobieren, bevor kostenpflichtige API-Produkt-Subscriptions abgeschlossen werden. So verfügt pentacor über ein breites Wissen und Know-how zu APIs und API-Management bei Mercedes-Benz.
Diese Erfahrungen bringt pentacor in das international aufgestellte Projektteam aus vier bis elf Entwickelnden sowie vier Product Ownern von Mercedes-Benz ein. Im Rahmen des Projekts übernimmt pentacor die maßgebliche Koordination der Zusammenarbeit des kompletten Teams, inklusive der Beteiligten von Microsoft und den Product Ownern und behält den Architekturplan im Blick, um eine stabile Plattform sicherzustellen.
Dabei legen wir Wert auf eine sehr offene Kommunikation und gestalten unsere Arbeit transparent, so dass das gesamte Team und vor allem der Kunde 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. Dennoch müssen fest vorgegebene Meilensteine eingehalten werden.
Zusätzliche Anpassungen bewerten wir daher agil und schauen realistisch, was on top machbar ist, oder was verschoben werden muss, und setzen die Sprints unter Berücksichtigung, dass alles ohne schwere Einwirkungen auf die Plattform funktioniert, um.
Ausgangssituation und Ziel
Die bisherige API-Management-Plattform für die Public APIs von Mercedes-Benz basierte auf Apigee. Auf Kundenwunsch migrierten wir diese 2022 auf Microsoft Azure in die Azure Cloud. Die Konzeption und Migration in Form eines Proof-of-Concept der neuen Plattform auf Basis von Azure API Management Service setzten wir bereits im Jahr 2021 um und verwendeten sie als maßgebliche Grundlage für die Realisierung der neuen Plattform.
Mercedes-Benz bietet bereits viele Public APIs, auf die die Endkunden zugreifen können. Diese sollten nach der Umstellung auf Azure weiterhin stabil funktionieren. Die Endkunden bewegen sich auf der gewohnten Oberfläche und bemerken von der Migration nahezu nichts. Darunter setzte unser Team ein technisch komplett geändertes System auf. Es handelt sich um eine Migration, die den Ist-Stand abbildet, aber auch neue Funktionalitäten beinhaltet sowie Zukunftsvisionen des Kunden vorbereitet. Das System wird so bereitgestellt, dass der Einbau von weiteren Innovationen flexibel möglich ist.
Herausforderungen im Projekt
Mit der Migration der bestehenden API-Management-Plattform auf Azure betraten wir Neuland. Das gesamte Team wurde auf ein Wissenslevel gebracht und setzte sich mit den neuen Funktionen, Umsetzungsmöglichkeiten und Grenzen von Microsoft Azure und seinen PaaS-Komponenten auseinander. Das Delta zwischen benötigter Funktionalität und der von Azure API Management Service bereitgestellten wurde vom Team selbst umgesetzt.
So standen wir wiederholt vor der Herausforderung, dass manche PaaS-Funktionalitäten von Azure sich, anders als erwartet, als nicht geeignet für die Umsetzung der spezifischen Kundenanforderungen herausstellten und damit nicht den Vorstellungen entsprachen. Diese Hürden konnten wir jedoch stets gemeinsam mit Mercedes-Benz erfolgreich nehmen.
Ergebnisse
Bei der Umstellung der API-Management-Plattform auf Azure haben wir zunächst mit dem deutschen Markt begonnen. Da wir zusammen mit dem Kunden später weitere Märkte hinzunehmen werden, haben wir die komplette Plattform bestehend aus einer Kombination von PaaS-Komponenten und Individuallösungen mittels Terraform, also Infrastructure-as-Code, konfiguriert, implementiert und über Azure DevOps Pipelines automatisiert aufgesetzt. Durch Anpassungen der Konfiguration ist es damit möglich, künftig weitere Stages aufzusetzen oder die Plattform in neue Regionen auszurollen.
Die Bereitstellung der Public APIs innerhalb der API-Management-Plattform wurde ebenfalls mit Terraform umgesetzt und ermöglicht den API-Provider-Teams so die simple Konfiguration ihrer APIs mittels Selfservice auf Grundlage von Azure DevOps Pipelines.
Zusätzlich haben wir im Rahmen dieses Projektes drei neue Services entwickelt und bereitgestellt. Diese wurden in die komplette Landschaft eingebettet, wobei von außen nicht ersichtlich ist, was unsere Services und was die Azure-Plattform-Services sind. Die Integration verlief reibungslos und lässt das API-Management als Plattform aus einem Guss erscheinen.
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 zeichnet ebenfalls verantwortlich für die Automatisierung von Build-, Deployment- und Releaseprozessen und übernimmt das Monitoring der API-Management-Plattform.
Technische Basis
Im Zentrum der API-Management-Plattform stehen PaaS-Komponenten wie Azure API Management Service und Azure Data Explorer. Für die Interaktion zwischen den Komponenten ist darüber hinaus eine Vielzahl weiterer Azure-Plattformservices im Einsatz, zum Beispiel Azure Event Hub, Azure Key Vault oder Azure Application Gateway. Als Persistenz der ergänzenden Services finden Azure SQL-Datenbanken und Azure Storage Accounts Verwendungen.
Die Services selbst sind in Java als Spring-Boot-Anwendungen umgesetzt und werden als containerisierte Azure-App-Services bereitgestellt und nutzen Azure Application Insights für Logging, Monitoring und Alarming.
Für die Konfiguration von sowohl APIs und API-Produkten als auch der Infrastruktur der Plattform selbst nutzen wir Terraform mit automatisierter Ausführung über Azure DevOps Pipelines, die teilweise API-Providern als Selfservice zur Verfügung gestellt werden.
Fazit
Die gesamte neue API-Management-Plattform wurde ins Produktionssystem überführt und die ursprüngliche Plattform planmäßig außer Betrieb gesetzt. Der große Kundenstamm, der die Public APIs bereits nutzt, blieb durch die reibungslose Integration der neueren, flexibleren Plattform und ihren erweiterten Funktionen erhalten und wird stetig erweitert.