How We Use Backstage at Spotify

April 21, 2020 Published by Spotify Engineering

Backstage is Spotify’s homegrown developer portal. We’ve been using it internally for years, but only recently released the open source version. You can read more about what Backstage does, and our plans for its future, in our previous post, “What the heck is Backstage anyway?

But this post is going to be less telling and more showing. Because we think the best way to explain Backstage is to just show you how we use it here at Spotify.

Three quick demo videos from the inside

Backstage is a big idea: one frontend for all your infrastructure. But the value of Backstage as a platform is how it makes everyday developer tasks easier. So here are three videos of Backstage in action at Spotify:

1. How to create a microservice (or any component).

You’re a Spotify engineer about to build a new microservice using Spring Boot. Where do you start? Search for a quick start guide online? Create an empty repo on GitHub? Copy and paste an old project? Nope. Just go to Backstage, and you’ll be up and running in two minutes — with a “Hello World” app, CI, and documentation all automatically set up and configured in a standardized way.

2. How to manage data pipelines (aka workflows).

We manage a lot of data pipelines here at Spotify. So, of course, we made a great workflows plugin for our version of Backstage. All our workflow tools — including a scheduler, log inspector, data lineage graph, and configurable alerts — are integrated into one simple interface.

3. How to search all your services (all at the same time).

All of Spotify’s services are automatically indexed in Backstage. So our engineers can stop playing detective — no more spamming Slack channels asking if anyone knows who owns a particular service and where you can find its API, only to discover that the owner went on sabbatical three months ago and you have to hunt them down on a mountain in Tibet where they’re on a 12-day silent meditation retreat. At Spotify, anyone can always find anyone else’s service, inspect its APIs, and contact its current owner — all with one search.

Three use-cases, but many more uses

The videos above feature the custom plugins and templates that we built for our internal version of Backstage. You can use Backstage to build the developer portal you want — integrating the tools that you use in your own infrastructure ecosystem. (Or get started by building an open source plugin for Backstage that everyone can use, like our new Lighthouse plugin.)

Each video represents a common use-case at Spotify — a specific example of how a thoughtful UX improves the everyday developer experience. But the videos also illustrate fundamental concepts that make Backstage a powerful platform for building developer portals. Some of the underlying lessons in these first three videos:

  1. A consistent UI means a better UX. As we can see in the microservices demo, once an engineer has learned how to create one component in Backstage, they’ve also learned how to create any other software component that you’ve built a template for — whether it’s a new microservice, a React.js web app, or a Swift package.
  2. Plugin architecture that scales with you: In the workflows demo, we see how integrating a new feature or tool to Backstage can be as simple as writing a plugin. This applies to workflows, monitoring, or any other tool you might want to build for Backstage. The plugin architecture enables customization and extensibility on the backend, while maintaining a cohesive, familiar frontend for your developer teams.
  3. An ecosystem, not a wilderness: A diverse ecosystem of infrastructure tools can lead to fragmentation and chaos. But as we see with our services example, Backstage naturally creates order. From APIs to documentation, everything becomes more accessible — both easier to find and simpler to use. Because now your infrastructure isn’t a jungle. It’s a planned city.

All of these benefits build on top of each other. When infrastructure tooling gets out of your developers’ way, their cognitive load lightens. They can get to building and debugging faster. And they can become more T-shaped because working with tools is similar across domains.

This creates a better developer experience. And happier developers are more productive developers. Since adopting Backstage internally, we’ve cut engineer onboarding time in half.

A standard anyone can embrace, even us

From the beginning, Spotify has had a decentralized, autonomous engineering culture. We want our teams to move fast and have the freedom to find creative solutions. As our culture evolves, Backstage allows us to harness that diversity, so that we can still iterate fast — but also scale fast, too.

We think Backstage can do the same for your growing tech organization. If you want to learn more about how Backstage works, request a live demo. We’d love to tell (and show) you more. And we can’t wait to see what plugins you might build for it.

Also, look out for more demos coming soon. Subscribe to the Backstage newsletter or follow the Backstage blog. The new videos will show even more good things that happen (better documentation! faster testing! easier debugging!) when you have one frontend for all your infrastructure.

Interested in collaborating? Come help us fix some of the early bugs and first issues or reach a new milestone. See all the ways you can contribute here.


Tags: ,