Unlock Developer Productivity with Backstage
Imagine having a single platform that streamlines developer tools, documentation, and processes, making it easier for new developers to get started. Welcome to Backstage, an open-source platform developed by the Spotify engineering team. This innovative tool has the potential to revolutionize developer tooling, and we’re excited to dive in.
What is Backstage?
Backstage is an open-source platform designed to build developer portals. It’s based on an internal tool used by Spotify to organize development tools, documentation, and processes. Essentially, Backstage helps you build custom developer productivity tools, reducing the cognitive load on new developers by providing a single browser-based user interface.
Simplifying Development
When starting a new project, developers face a multitude of questions. What are the standard design patterns, frameworks, and programming languages used? Where can I find documentation about the organization’s APIs? How and where should I deploy my solution? Backstage helps answer these questions by providing a centralized platform for developers to access the resources they need.
The Tech Stack Behind Backstage
Before we dive into the hands-on experience, let’s take a look at the technologies that power Backstage:
- Node.js: The web frontend runs on Node.js, requiring at least version 12.
- TypeScript: Most of the code is written in TypeScript, with the option to use pure JavaScript.
- React: The frontend code uses React, with plugins essentially being individually packaged React components.
- Yarn and Lerna: These two JavaScript tools enable a monorepo structure, allowing for a seamless developer experience.
Getting Started with Backstage
To explore Backstage, let’s create a new instance. We’ll use the Backstage CLI to quickly create a new workspace. Note that you’ll need Node.js 12 installed to use the CLI.
Exploring the Repository Structure
Backstage is structured as a monorepo, containing everything needed to build an instance in a single repository. This simplifies the developer experience and allows for a plugin architecture where each plugin can be built, tested, and shared independently.
Creating a Custom Plugin
Using the Backstage CLI, we can quickly generate a new plugin. Let’s create a “hello world” plugin and explore how to wire it up into the Backstage app.
Using Existing Plugins
The Spotify engineering team has made several plugins available in the main Backstage GitHub repo. We can incorporate these plugins into our instance, such as the Tech Radar plugin, which renders a visualization of standardized technologies.
What’s Next?
Now that we’ve explored Backstage, created a custom plugin, and reused existing plugins, it’s time to deploy our instance. One deployment option is to containerize and deploy it as a Docker container. The Spotify engineering team’s instance of Backstage serves as a great demonstration of how to do this.
Take Your Development to the Next Level
Backstage has the potential to revolutionize developer tooling, and we’re excited to see where it takes us. By simplifying development and providing a centralized platform for developers, Backstage can unlock productivity and streamline workflows.