Hello, everyone! Today, we’re diving into the world of Backstage.io, a platform designed for building developer portals. Imagine a toolbox that brings all your infrastructure tooling and software tools neatly organized in one place. Backstage unifies these tools to create a streamlined development environment, making it a magical toy box for technology professionals. This is our second article exploring backstage. You can check our previous article Unlocking Developer Bliss: A First Look At Backstage.io.
Below is a video explanation and demo.
You can skip to the relevant chapters below:
- 00:00 – Animation Explainer Video
- 03:18 – Demo Starts
- 06:06 – Create a New Component
- 07:20 – Thoughts on Platform Engineering
What is Backstage.io?
Backstage.io is an open-source platform built to help developers and organizations manage their internal software tools, services, and components. With its centralized software catalog and unified dashboard, it restores order by simplifying the workflow and streamlining processes across the organization.
Why Did Spotify Build Backstage.io?
Spotify developed Backstage.io to solve a common challenge many growing tech companies face: the complexity of managing an ever-increasing array of software tools and services. Their aim was to create a centralized interface that consolidates all resources, allowing for better management and navigation.
Why Did Spotify Make It Open Source?
One of Spotify’s motivations for making Backstage open-source was to contribute to the growing ecosystem of the broader tech community. To that end, by open-sourcing Backstage, Spotify specifically aimed to pave the way for collaborative development. This approach consequently allows organizations not only to benefit from high-quality code but also to contribute to its further development.
Moreover, Backstage has recently attained a new milestone; it is now part of the Cloud Native Computing Foundation (CNCF) as an incubation-level project. Importantly, this status highlights the platform’s credibility and maturity. Additionally, being part of CNCF offers multiple benefits. Firstly, it enables Backstage to adhere to established best practices for cloud-native software. Secondly, it exposes the platform to a larger community of developers and organizations that share CNCF’s goals.
Therefore, being a CNCF project broadens the platform’s reach and cultivates a collaborative environment where innovation can flourish. In conclusion, this new development is likely to speed up Backstage’s further development and adoption, ultimately providing even more organizations with a centralized, scalable, and extensible platform for their developers.
The Developer Portal: A Central Hub for All Your Tools and Resources
When referring to a “Developer Portal,” we mean a centralized place where developers can find all the services, tools, and technical documentation they need. Backstage.io realizes this concept through its open platform, which can be tailored for building developer portals.
Key Features of Backstage.io
1. Unified Dashboard
It includes a unified dashboard that serves as a one-stop shop for monitoring all your tools and data pipelines.
2. Software Catalog
The Service Catalog, which also serves as a centralized software catalog, provides visibility into existing services, how they are connected, and who owns them.
3. Software Templates
Backstage includes pre-configured software templates that help you quickly create new projects, services, or components, ensuring that all the projects follow the same architectural standards.
4. TechDocs (Technical Documentation)
TechDocs serve as the built-in markdown files and documentation engine, allowing you to maintain up-to-date information right within Backstage.io.
Plugins are modular extensions that expand Backstage’s customizability and functionality. Whether it’s for GitHub Enterprise integration or other infrastructure tooling, plugins allow you to tailor the platform to your organization’s specific needs.
An Open Platform for Building Developer Portals
Backstage.io is not just a simple dashboard that centralizes your software tools and services; it’s much more than that. Additionally, it functions as an open platform specifically designed to build custom developer portals. As a result, it simplifies the process of bringing new team members up to speed. Furthermore, it offers an efficient way to share resources across your organization. In essence, Backstage.io creates a developer-friendly environment that streamlines various aspects of software development. Therefore, whether you’re a growing startup or an established enterprise, Backstage.io provides a tailored solution that can meet your development needs.
GitHub Authentication and Integration
Backstage.io offers robust GitHub integration, including authentication for GitHub Enterprise, tying your internal tools and services directly to your GitHub repositories.
Backstage Use Cases
From managing microservices and their interdependencies to documenting software architectures and data models, Backstage covers a wide range of use cases. It also facilitates DevOps workflows like CI/CD and serves as a homegrown developer portal for your organization.
Examples of How Backstage.io Is Used at Spotify
Spotify uses Backstage for managing hundreds of microservices, onboarding developers, and serving as a platform for their internal tools and documentation.
Creating a New Microservice
One of Backstage’s features is the ability to directly create new microservices from the dashboard using software templates, streamlining your developer experience.
Following a Pull Request from Review to Production
Backstage provides insights into your CI/CD pipeline, making it easier to track the progress of a pull request from review to production. This ensures better visibility and control over your software development life cycle.
For organizations using Kubernetes, Backstage offers a specialized plugin that allows you to view your Kubernetes resources directly from the dashboard.
Top Considerations for Using Backstage Plugins
When using Backstage plugins, it’s essential to consider how each will affect your organization’s architecture and whether they align with your specific developer experience needs. Here are the top 5 considerations:
Compatibility: Ensure that the plugin you’re considering is compatible with your existing version of Backstage. Incompatibilities could lead to performance issues or even break your setup.
Ownership Information: Look for plugins that are actively maintained. Check the last update, the number of open issues, and whether maintainers are actively resolving issues and pushing updates.
Security: Always be cautious about the plugins you add. Ensure they come from a trusted source and do not introduce security vulnerabilities.
Performance Impact: Some plugins might be resource-intensive and could impact the performance of your Backstage instance. Always test a new plugin in a controlled environment before deploying it in production.
Consistent Experience: For a streamlined developer experience, you would want plugins that offer a UI and UX consistent with Backstage’s core design principles. A plugin that feels out of place might disrupt the user experience.
Learn More About Backstage Search
One of the under-discussed features is Backstage Search. This functionality allows you to quickly locate services, documentation, and other organizational resources, improving efficiency. We shouldn’t expect less from a developer portal.
Backstage.io offers a comprehensive solution for managing all your software tools, from serving as an efficient developer portal to providing robust GitHub and Kubernetes integrations. Thanks to its open-source nature, it continues to evolve, benefiting from contributions from the broader tech community. I’m really excited about how Backstage restores order to the complex nature of DevOps tooling making Developers’ lives easier! So, stay tuned, because we’ll be diving even deeper into the key features of Backstage in the following blog posts as part of our ongoing series.