Skip to main content

Backstage

logo

Github

Backstage is an internal engineering development platform whose main purpose is to organize tools, services, and information in one place, creating a single portal for development teams.

Each task and subtask in a development process has its own UI, requiring learning much more than just what needs to be done. This context switching becomes chaotic over time as the project and/or company accumulates more and more technology.

Nowadays, Backstage is the entry point for the shift from DevOps to Platform Engineer and can be considered the most important tool you need to know in your arsenal.

It's the tool that today allows everyone in the organization to be more productive and self-sufficient. Backstage is a highly extensible front-end for creating an internal development portal.

How did Backstage come about?​

Backstage was created by Spotify to solve scalability and complexity problems in managing tools and services. The story begins with the company's rapid growth: as the number of engineering teams and microservices increased, it became increasingly difficult for developers to find the right tools, understand standards, and maintain productivity.

To face these challenges, Spotify internally developed Backstage as a single portal that integrated all the tools and services used by engineers. It allowed creating new microservices with standardized templates, consulting centralized documentation, and monitoring the status of existing services. This not only increased efficiency but also maintained consistency in an increasingly complex environment.

In 2020, Spotify decided to open-source Backstage and make it a CNCF project. It's one of the CNCF projects with the most contributors and everyone is adopting it.

Backstage Use Cases​

  • Increase developer productivity and efficiency
  • Solve engineering problems
    • Find all company applications, who the owners are, where dependencies are, what version is deployed

Here's a demo of Backstage to see the interface.

Backstage is nothing more than a TEMPLATE for you to build your portal. When you run the project for the first time, you'll have nothing.

Right away we'll hit a catalog.

We also have within the portal an entire documentation area in the Docs tab to centralize documentation for each of the things that are created. These documents can be referenced in each of the catalog items or accessed directly. If you go to Backstage Demo you'll see Backstage documentation within the portal itself.

How is Backstage Organized?​

Backstage is highly extensible and can adapt to the most different companies.

We have the core part, the system's core, which are the basic functionalities created by developers.

When we talk about app in Backstage, we refer to separate instances of the platform. Normally, an organization uses only one Backstage instance (one app) to centralize tools and information. This instance can be customized and configured to meet the company's specific needs, but it encompasses the entire platform.

Generally, you create a single Backstage app and manage its functionalities using plugins and configurations. Creating multiple apps is possible, but it's not the most common case. We can customize the Backstage instance in various ways including the UI.

Plugins are functionalities to make a Backstage app useful for the company. Each tool or functionality is a plugin. Plugins serve different teams or needs within a single app.

NodeJS​

As it's fully developed in NodeJS, changing the code will be necessary. If you have knowledge of NodeJS, you'll suffer a little; if you don't, you'll suffer a lot. It's a good time to learn NodeJS, as only this way will you be able to customize Backstage well and develop your own plugins and contribute to the community. Otherwise, you'll be limited to using what's available and waiting for things to happen.