How we help a large automotive company to build an internal developer platform

We help a large automotive company build an internal developer portal (IDP) to provide a centralized software catalog and bring order to their microservices and infrastructure.

Wir haben eine zentrale Plattform entwickelt, die die Erstellung von Entwicklungsumgebungen auf no-code oder low-code Ebene ermöglicht. Durch die Implementierung und Anpassung des Open-Source-Projekts Backstage, der Integration von Code-Repositories und der Einrichtung von Deployment-Pipelines haben wir die Zeit und Ressourcen, die für das Aufsetzen von Umgebungen erforderlich sind, erheblich reduziert. Jetzt können Entwicklerteams in wenigen Stunden oder sogar Minuten, statt in Wochen oder Monaten, produktive Entwicklungsumgebungen erstellen.

Challenges

Due to a historically grown construct of a diverse way to set up development environments across the group, one of the core pain points was that environments had to be set up by hand in all dev teams – many teams had the same challenges setting up, configuring, maintaining and servicing Kubernetes clusters. The new approach of a central solution to set up development systems on no-code or low-code level is the solution to the problem, saving time and resources and reducing the set-up of development environments from weeks, sometimes months, to minutes to a few hours.

What have we done?

We used the popular open source Backstage project on Kubernetes for IDPs and customized it by adding frontend and backend functionality, implementing a secrets management strategy, integrating code repositories, and setting up deployment pipelines for managed Kubernetes clusters.

We placed great emphasis on best practices for authentication, security, upgrades, and maintenance, in addition to establishing a contribution model for plugins and API integrations. This allows the automotive company’s development teams to extend the benefits of Backstage within their organization.

Advantages

  • For engineering managers, the platform enables standards and best practices to be maintained across the organization and can help manage the entire technology ecosystem, from migrations to test certification.
  • For developers, the platform facilitates the quick and easy creation of software components in a standardized way and provides a central place to manage all projects and documentation.
  • For infrastructure engineers, the platform allows them to easily create and deploy managed infrastructure, such as Kubernetes clusters, virtual machines and databases that meet the organization’s security standards, reducing development startup times from months to minutes.
  • For platform engineers, the platform enables high extensibility and scalability through the easy integration of new tools and services (via plugins) and the extension of the functionality of existing services.

For everyone, the platform provides a unified experience that brings together all infrastructure tools, resources, standards, owners, contributors and administrators in one place.

Architecture overview

The platform’s system includes several services that work together to facilitate the creation of software components and the declarative deployment of infrastructure.

Backstage

Backstage serves as the main interface and allows users to create software components from templates via a web browser. It consists of a React-based frontend and an Express.js-based backend API. Backstage’s modular architecture allows for easy expansion through community-contributed or internally developed plugins.

ArgoCD

ArgoCD is used in the platform for GitOps-based deployment workflows in Kubernetes. It synchronizes YAML manifests from a Git repository with a Kubernetes cluster, maintaining consistency between the desired and actual state of the cluster.

Crossplane

Crossplane, a Kubernetes Control Plane, extends the Kubernetes API to manage external infrastructure resources in providers such as Azure, AWS and Google Cloud. It uses the Kubernetes reconciliation loop to continuously update the state of provisioned resources based on the defined manifests.

What we have achieved

We have developed a centralized development platform as an MVP that enables the creation of development environments at the no-code or low-code level. By implementing and customizing the Backstage open source project, integrating code repositories, and setting up deployment pipelines, we have significantly reduced the time and resources required to set up environments. Now development teams can create productive development environments in a matter of hours or even minutes, instead of weeks or months.