Mercedes-Benz AG is one of the world’s largest manufacturers of luxury passenger cars and is striving for the leading position in electromobility and vehicle software. Mercedes-Benz AG is aligning its global production network with around 35 production sites on four continents to transform the company into the No. 1 in electromobility and comprehensive digitalisation.
Mercedes-Benz and pentacor
Mercedes-Benz AG (formerly Daimler AG) and pentacor GmbH have already been working together since 2017, implementing numerous API and API management projects. Since June 2021, we have been working with Mercedes-Benz AG and Microsoft to develop a new API management platform for managing Mercedes-Benz public APIs. This new development is used by several thousand users of the platform. Via the Mercedes-Benz /developers portal, Mercedes-Benz business functions and data are made available on the API management platform as APIs for use by third-party applications and developers and sold as digital products.
In the past, pentacor was already involved in the provision of internal and public APIs for use by third-party applications and developers in the context of API management, for example through the development of APIs and tryouts. These enable external developers to try out API products with test data free of charge before paid API product subscriptions are concluded. Therefore, pentacor has acquired broad knowledge and know-how of APIs and API management at Mercedes-Benz.
pentacor brings this experience to the international project team of four to eleven developers and four product owners from Mercedes-Benz. Within the framework of the project, pentacor takes over the decisive coordination of the cooperation of the entire team, including the participants from Microsoft and the product owners, and keeps an eye on the architecture plan in order to ensure a stable platform.
We emphasise very open communication and make our work transparent so that the entire team and the client, in particular, have full insight into our work and access to all data.
We are responsible for the complete conceptual design and architecture of the platform as well as the individual services that we build and implement. The project is realised i using an agile (Scrum) DevOps approach. Nevertheless, fixed milestones have to be kept.
We therefore evaluate additional adjustments in an agile way and look realistically at what is feasible on top, or what needs to be postponed, and implement the sprints taking into account that everything works without heavy impact on the platform.
Initial situation and goal
The previous API management platform for the public APIs of Mercedes-Benz was based on Apigee. At the customer’s request, we migrated this to Microsoft Azure in the Azure Cloud in 2022. We already implemented the conception and migration in the form of a proof-of-concept of the new platform based on Azure API Management Service in 2021 and used it as the decisive basis for the realisation of the new platform.
Mercedes-Benz already offers many public APIs that end customers can use. These should continue to function stably after the switch to Azure. The end customers move around on the familiar interface and notice almost nothing of the migration. Underneath, our team set up a technically completely changed system. It is a migration that maps the current status, but also includes new functionalities and prepares the customer’s visions for the future. The system is provided in such a way that the installation of further innovations is flexibly possible.
Challenges throughout the project
With the migration of the existing API management platform to Azure, we entered new territory. The entire team was brought up to the same knowledge level and dealt with the new functions, implementation possibilities and limitations of Microsoft Azure and its PaaS components. The delta between required functionality and that provided by Azure API Management Service was implemented by the team itself.
Therefore, we were repeatedly faced with the challenge that some PaaS functionalities of Azure, contrary to expectations, turned out not to be suitable for the implementation of the specific customer requirements and thus did not meet the expectations. However, we were always able to successfully overcome these challenges together with Mercedes-Benz.
When converting the API management platform to Azure, we first started with the German market. Since we will later add other markets together with the customer, we configured and implemented the complete platform consisting of a combination of PaaS components and individual solutions using Terraform, i.e. Infrastructure-as-Code, and set it up automatically via Azure DevOps Pipelines. By adjusting the configuration, it is possible to set up additional stages in the future or roll out the platform to new regions.
The provisioning of the public APIs within the API management platform was also implemented with Terraform, enabling the API provider teams to easily configure their APIs using self-service based on Azure DevOps Pipelines.
In addition, we developed and deployed three new services as part of this project. These were embedded into the complete landscape, whereby it is not visible from the outside what are our services and what are the Azure platform services. The integration went smoothly and makes the API management look like a platform from a single mould.
Throughout the project, the focus has been on a holistic approach to architecture and implementation, including appropriate and comprehensive documentation. The services of the platform are tested on all levels, from white-box unit tests to black-box system integration tests at platform level. The pentacor team is also responsible for automating build, deployment and release processes and monitoring the API management platform.
At the centre of the API management platform are PaaS components, such as Azure API Management Service and Azure Data Explorer. For the interaction between the components, a large number of other Azure platform services are also used, for example Azure Event Hub, Azure Key Vault or Azure Application Gateway. Azure SQL databases and Azure Storage Accounts are used as persistence for the complementary services.
The services themselves are implemented in Java as Spring-Boot applications and are provided as containerised Azure app services and use Azure Application Insights for logging, monitoring, and alerting.
For the configuration of APIs and API products as well as the infrastructure of the platform itself, we use Terraform with automated execution via Azure DevOps Pipelines, which are partly made available to API providers as a self-service.
The entire new API management platform was transferred to the production system and the original platform was deactivated as planned. The large customer base already using the Public APIs was retained and is being steadily expanded through the smooth integration of the newer, more flexible platform, and its extended functions.