Next-Level Platform Engineering: Exploring Backstage.io

Florin Manaila
ING Hubs Romania
Published in
5 min readJul 18, 2023
Photo by Paul Skorupskas on Unsplash

In today’s software development landscape, optimizing productivity is crucial for success. Backstage.io, a platform for building internal developer portals created by Spotify, aims to address this challenge by providing a unified and extensible solution for managing and visualizing software, tools, and processes.

This article explores the key features and community surrounding Backstage, highlighting how it can revolutionize the way teams collaborate, streamlining their development processes.

The wide adoption of microservice architecture has inevitably led to the proliferation of tools needed to manage the ever-growing scale and complexity of software systems. On one hand, we have the tools needed to ensure the lifecycle and operation of the services, and on the other hand, we have the services themselves and the capabilities they implement. Internal developer portals give engineers quick access to all the tools and services in their ecosystem. Thanks to its simple approach to visualizing software components, excellent plugin system and active community, Backstage has recently seen impressive growth in popularity.

Backstage primarily consists of a few core features and a plugin system that enables developers to build extensions that are adapted to their needs and ecosystem.

At the core

The four main features that make Backstage excellent are the Software Catalog, the Software Templates, TechDocs and a way to search across all of them. In addition to that, there’s the recently introduced Kubernetes module, which is marketed as a core feature but is geared more towards the specifics of the ecosystem.

The Software Catalog offers a universal model for understanding and illustrating the various software components, as well as the connections between them. This makes components discoverable across the organization and enables teams to get a high-level view over the software and the resources used. TechDocs serves as a valuable companion to the Software Catalog. It keeps documentation close to the overview of a software component.

Figure 1 — The “System Model”

The Software Catalog has a feature that stands out: the ability to store metadata next to the code, right in the git repository. That’s where engineers work and make changes. By pointing Backstage to that repository, it will import and keep that metadata up to date in the Software Catalog.

That said, Backstage is not a system of record, but it offers a way for you to see existing systems and tools and reason about the ecosystem. You can keep using your current tools and Backstage will gladly bring all the information into one place.

Figure 2 — Component view

Now that we have a bird’s eye view over our systems, we still need a way to interact with them. It is where Software Templates comes in, providing a mechanism to define common interactions with one or multiple systems and hiding the complexity of that interaction behind a simple wizard-like interface. For example, one common interaction could be to create a new service. Usually, this would require a git repository to store the code, a pipeline to build and deploy it, infrastructure to run it, monitor it and send alerts just to name a few. All of these can be automated and presented in a simple view, as a Software Template.

By grouping different interactions with different tools into a single one that is more meaningful to the software developer, Software Templates contributes to reducing the cognitive load on the engineering teams, allowing them to waste less time context-switching and have more time to focus on delivery.

Can you do a triple flip with a cherry on top?

Backstage’s core features are just the beginning. The platform is also flexible, as it was built with extensibility in mind. Backstage was created around a plugin ecosystem that aims to “allow you to expose pretty much any kind of infrastructure or software development tool as a plugin in Backstage”, according to the documentation.

The Plugin Marketplace integrates many popular tools. Some were built by Spotify, the company that initially created Backstage, while others were developed by third parties. These could be companies that use, support or sell Backstage, but also individual contributors.

If you still cannot find what you’re looking for on the marketplace, it’s time to get your hands dirty and DIY. The Backstage UI is built with React, while the backend uses node.js. The choice of these popular technologies should ensure that the market for potential plugin builders is not a bottleneck.

It’s important to know that plugins come in three flavours:

· First, there are standalone plugins. These are just front-end components that do not make any API calls. They display static information without requiring a backend service.

· Secondly, there are service-backed plugins. These make use of API calls to services that are self-hosted by the organisation running Backstage.

· Lastly, there are third-party-backed plugins. These connect to a service that is publicly available over the internet. To avoid issues with cross-origin resource sharing, Backstage also provides a proxy component that can intermediate traffic to those services.

Figure 3— Types of plugins

Community and beyond

Backstage is now open-source, and it’s one of the 38 incubating projects in the Cloud Native Computing Foundation (CNCF) landscape. The community-driven approach enables users to leverage the expertise of other organizations and benefit from their contributions.

Numerous organizations have adopted Backstage to enhance their development workflows. For example, Zalando, one of the largest online shopping platforms in Europe, has utilized Backstage to consolidate its internal tools and services into a single developer portal since the first public release of Backstage. This has helped streamline their processes, reduce onboarding time, and improve overall developer productivity. Other adopters include companies such as American Airlines, Netflix, Ikea, and many others.

Currently, Backstage puts effort into improving the robustness of the backend services and the security. This should ensure that future work has a solid foundation and that the platform has solid credentials that can attract a wider market share of software development companies.

--

--

Florin Manaila
ING Hubs Romania

Software developer with an appetite for exotic bugs, reverse engineering and keeping things simple.