Table of Content
In the fast-evolving landscape of software development, teams are bombarded by the challenges of managing tools, keeping documentation accessible, and coordinating microservices in dynamic environments. These complexities slow down onboarding, scatter critical information, and hinder efficiency.
What is Backstage? In short, Backstage is an open-source internal developer platform (IDP) designed by Spotify to address these issues by providing a centralized hub where teams can access tools, workflows, and documentation seamlessly within a cohesive development environment.
From customizable Backstage plugins to flexible templates and a powerful developer portal, Backstage offers a unique approach to modern platform engineering. This article explains more in-depth what is Backstage and explores how it addresses the most pressing issues in development workflows, empowering teams to work efficiently and productively.
The Modern Development Environment: Challenges and Needs
Developers today face more challenges than ever before. Let’s look at some of the most common obstacles that slow down productivity:
- Fragmented Information: Development teams often have to access multiple systems and platforms for essential information. Documentation, service details, and workflows are spread out, leading to constant switching and wasted time.
- Component Complexity: The adoption of microservices and containerization means managing a greater number of individual services, each with its own configurations and dependencies.
- Organizational Silos: Cross-team collaboration can be challenging in large organizations. When teams operate in isolation, knowledge sharing is limited, which hinders productivity.
- High Cognitive Load and Tool Overload: The sheer number of platforms, tools, and systems adds to developers’ cognitive load, often resulting in tool fatigue.
- Onboarding Challenges: Without centralized resources, new developers face a steep learning curve, prolonging the onboarding process and reducing team efficiency.
Each of these challenges affects productivity, creating bottlenecks and complexities in development. Here’s where the Backstage developer portal steps in, unifying resources and simplifying workflows.
What is Backstage?
What is Backstage? The Backstage Developer Portal is more than just a tool; it’s an open-source internal developer platform designed to enhance the developer experience. By consolidating tools, documentation, and workflows, Backstage serves as a one-stop solution for development teams. Its modular design, supported by Backstage plugins like the software catalog, TechDocs, and Kubernetes integration, gives Backstage the possibility to extend its capabilities and enhance the development experience.
Through Backstage plugin development, teams can extend Backstage’s capabilities with new plugins, integrating their preferred tools and creating specialized workflows. The Backstage platform engineering approach empowers developers to optimize their development environment, streamline onboarding, and foster collaboration.
Backstage’s key features offer an intuitive interface, robust search capabilities, and a collaborative ecosystem that breaks down silos and promotes shared knowledge. By leveraging it’s community, teams can contribute and benefit from Backstage open-source plugins developed by others, enriching the development experience across projects.
Key Backstage Plugins and How They Solve Development Challenges
Let’s take a closer look at Backstage’s core plugins and how they help development teams overcome everyday obstacles.
- Centralized Information with the Software Catalog Plugin
The software catalog plugin allows teams to centralize all their components and services into a single, searchable directory, making it easy for developers to locate resources. Imagine working on a new feature and needing to understand its dependencies—the Backstage developer portal consolidates the information, saving time and improving accuracy.Moreover, the software catalog enables consistency by acting as a single source of truth for all components, reducing confusion and errors.
- Streamlined Component Management with Templates
The software templates plugin in the Backstage developer portal standardizes the creation of new components and services, allowing teams to maintain consistent configurations across projects. This reduces the risk of configuration errors, eliminates redundant work, and enables new developers to start projects more easily.Imagine setting up a new microservice. Backstage templates can automatically generate everything needed, including a Dockerfile, Kubernetes configurations, and CI/CD setup. We can create new templates without the need for plugin development.
Templates are stored in their own repositories and imported into Backstage for use by developers. This approach ensures that each project adheres to best practices, enhancing quality and security across teams.
This aligns well with GitOps principles, where everything is managed as code and documented centrally, facilitating easier collaboration and version control.
In summary, organizations can create shared templates for reuse, saving time across projects and encouraging best practices. This is especially useful in large organizations where multiple teams work with similar infrastructure and coding standards.
- Improved Documentation with TechDocs
Documentation is essential but often neglected. TechDocs, Backstage’s documentation plugin, integrates seamlessly into the Backstage developer portal, providing a centralized, accessible place for all project documentation. Developers can author and access documentation in Markdown or MkDocs format, ensuring that it’s always up-to-date and accessible from one location.By integrating TechDocs with CI/CD pipelines, documentation is kept current with each deployment, reducing the risk of outdated information. Moreover, TechDocs promotes a collaborative culture by making documentation accessible directly within the code repositories, encouraging developers to keep documentation aligned with project updates.
This approach lowers the cognitive load for developers, as they no longer need to search multiple systems for information, and accelerates onboarding by providing new developers with a complete, centralized knowledge base.
- Kubernetes Integration for Microservices and Containerization
Backstage’s Kubernetes plugin is a game-changer for managing containerized applications. For teams that rely on Kubernetes to manage microservices, this plugin enables real-time monitoring of applications, services, and deployments—all accessible within the Backstage app.This plugin allows developers who are not Kubernetes experts to manage and troubleshoot deployments, reducing dependence on DevOps. The Kubernetes plugin offers visibility into the health and status of each microservice, allowing teams to manage resources effectively and respond to issues proactively. Custom Kubernetes dashboards can be created through plugin development, giving teams tailored views of container metrics, usage, and deployment histories and integrating with different services from Cloud providers.
Customizing the Portal with Backstage Plugin Development
Backstage’s extensibility is a defining characteristic. The platform supports open-source plugins and encourages Backstage plugin development, empowering teams to tailor the portal to their needs. For instance, some organizations may build plugins for CI/CD status, automated code quality checks, or observability metrics.
The Backstage open-source community is vibrant, with teams from various industries sharing their plugins and best practices. With the Backstage platform engineering approach, organizations can develop custom plugins for unique workflows, incorporating tools and systems specific to their needs. This flexibility allows Backstage to evolve alongside the development environment, making it a robust and adaptable solution for different teams.
Additionally, by integrating Backstage with GitOps principles, organizations can ensure consistency and auditability across services. Each open-source plugin development initiative enhances the value of Backstage, transforming it from a simple developer portal to a fully-fledged ecosystem that serves as the backbone of the team’s development environment.
Scaling Productivity with Backstage Open-Source Community
One of the most powerful advantages is the Backstage open-source community. Developers from diverse industries contribute plugins, templates, and insights that others can leverage, creating a rich variety of resources for everyone involved.
For instance, organizations working with CI/CD pipelines can integrate Backstage with tools like Jenkins or GitHub Actions, centralizing pipeline management within Backstage. Through Backstage plugin development, teams can automate pipeline tasks, monitor builds, and track deployment statuses from a single dashboard. The shared Backstage plugins community supports accelerated productivity and continuous improvement by providing ready-made plugins for countless applications.
Furthermore, the active Backstage open-source community fosters a collaborative environment where best practices are shared freely, enabling teams to learn from each other’s innovations.
Benefits of Adopting Backstage
Backstage’s comprehensive suite of tools and plugins offers numerous benefits for organizations striving to streamline workflows and improve efficiency:
- Centralized Information Access: With plugins like the software catalog and TechDocs, Backstage consolidates essential information, minimizing wasted time and boosting productivity.
- Consistent Component Management: Standardized templates ensure consistent component creation, promoting best practices and reducing configuration errors.
- Enhanced Collaboration and Documentation: Centralized documentation encourages a collaborative, documentation-first approach, simplifying onboarding and enabling continuous learning.
- Improved Developer Satisfaction: By reducing cognitive load and unifying disparate tools, Backstage contributes to happier, more engaged developers.
Backstage’s modular and open-source approach gives organizations the freedom to develop their own plugins, customizing the platform to meet specific needs and further enhance productivity.
Setting Up and Running a new Backstage App
After understanding Backstage’s impact on team productivity, creating a custom Backstage app can bring these benefits to life in your development environment. The process involves creating a new Backstage app, setting it up, and running it locally.
1. To start, clone the Backstage repository and initialize a new app with:
npx @backstage/create-app@latest
This command generates the base Backstage app with all essential files and dependencies.
2. Then we can go to the new directory and start the app with:
# replace with your directory name
cd my-backstage-app
yarn dev
This will run both the frontend and backend as separate processes and you will be ready to start customizing your Backstage app.
Conclusion: Empowering Teams with Backstage
In this article, we have explored what is Backstage and how it has revolutionized the way development teams manage tools, workflows, and documentation. By providing a centralized platform for accessing essential resources, Backstage addresses common challenges like fragmented information, component complexity, and high cognitive load.
Through Backstage plugin development and a collaborative open-source community, teams can tailor Backstage to their unique needs, creating a developer portal that grows with them. The result is a cohesive, efficient development environment that enhances productivity, streamlines workflows, and fosters a collaborative, documentation-centric culture.
With its powerful plugins, customizable architecture, and dedicated community, Backstage is a transformative solution for modern development teams striving to achieve a more efficient and unified workflow.
References
- https://backstage.io/docs/overview/what-is-backstage/
- https://engineering.atspotify.com/2020/03/what-the-heck-is-backstage-anyway/
- https://backstage.io/docs/features/software-catalog/
- https://backstage.io/docs/features/software-templates/
- https://backstage.io/docs/features/techdocs/
- https://backstage.io/docs/features/kubernetes/
- https://engineering.atspotify.com/2021/03/designing-a-better-kubernetes-experience-for-developers/
- https://backstage.io/docs/getting-started/