People are really into service catalogs and developer portals in DevOps these days. Developers want things to move fast and platform teams are all about sticking to standards. Focusing on better builds means we end up with cooler products, happier customers, and more cash coming in.
The whole “build fast and break things” idea from the last decade often meant that a “service catalog” was just a messy spreadsheet, and the “developer portal” faced the same problems.
Recognizing the need for effective internal tooling to manage internal chaos, forward-thinking companies developed their solutions. One such solution is Backstage, an open-source project initiated by Spotify.
Let’s take a closer look at Spotify Backstage and what it tackles. Before you bring it into your organization, we’ll go over the challenges it handles and key things to think about. Keep in mind, Backstage is in competition with OpsLevel. While we do lean towards OpsLevel, we’ll give credit to Backstage when it’s deserved.
Table of Contents
What is Spotify Backstage?
Spotify Backstage serves as an open-source developer portal platform. When properly implemented it can abstract away much of the infrastructure CI/CD and operational knowledge required to run applications or products. Additionally it acts as a centralized information hub for a company’s services, addressing challenges similar to those tackled by OpsLevel.
What issues does Backstage resolve?
Launching new products and developing applications involves a myriad of tasks. Companies not leveraging tools like OpsLevel or Backstage often grapple with fragmented information, limited automation, and poor integration between tools, resulting in delayed time-to-market and a suboptimal developer experience.
Creating a New Service
Developing a new service or application extends beyond code writing. Engineering teams in such organizations invest substantial time in understanding and navigating the intricate infrastructure ecosystem. This includes interfacing with a segregated infrastructure organization for provisioning and configuration, setting up CI/CD pipelines (either self-provisioned or waiting for another team). And navigating various systems to operationalize the application.
To ship new software, developers must grapple with the problem at hand and integrate with disparate systems, adding complexity to the process.
Integrating with an Existing Service
Consider a scenario where a team aims to integrate with an existing internal service. The process involves consultations with architects or leadership, scouring Slack or GitHub, sifting through outdated documentation, or consulting Excel spreadsheets to identify service ownership and the integration process.
Detailed insights into the service often require repeated iterations of the aforementioned process, with breakthroughs contingent on knowing someone connected to the application team. Changes in information, such as SLOs/SLAs, support, and upgrades, are typically communicated via email.
In many large organizations, essential data or knowledge is siloed across different systems from GitHub for source code to LogDNA for logging, Datadog for monitoring and PagerDuty for alerting. Development teams must piece together this information, creating ad hoc documentation or wikis for accessibility, thereby contributing to toil, knowledge silos and complexity.
Backstage.io Alternatives
Here, we present four alternatives to Sptotify Backstage. While this list isn’t exhaustive, it aims to provide options and insights for evaluating alternatives.
How to Download Spotify Backstage
Create your Spotify Backstage App
To install the Sptotify Backstage Standalone app, leverage npx—a tool designed to execute Node binaries directly from the registry. This utility is integrated into your Node.js installation. Execute the command below to seamlessly install Backstage. The accompanying wizard will establish a subdirectory within your existing working directory.
Note: If encountering issues during the yarn install step. It is probable that additional dependencies are required to configure isolated-vm. Refer to their requirements section for more details and subsequently, perform a manual yarn install after completing those steps.
During the installation, the wizard prompts you to name the app, which concurrently becomes the directory name.
Run the Backstage app
Once the installation concludes, navigate to the application directory and launch the app. The yarn dev command concurrently initiates both the frontend and backend as distinct processes (labeled [0] and [1]) within the same window.
Although it may take a moment, upon seeing the message “[0] webpack compiled successfully,” open a browser and access your newly installed Backstage portal at http://localhost:3000. Begin exploring the demo immediately. Keep in mind that the in-memory database will reset upon app restart, necessitating progression to the subsequent database steps.
In the forthcoming sections of this tutorial, delve into configuring Backstage by switching to a persistent database, setting up authentication, and incorporating your initial integration. Continue your journey with the getting started guide, Configuring Sptotify Backstage.
Feel free to share your experiences, comments, or suggestions with us: on Discord, report issues for any feature or plugin suggestions, or bugs you encounter, and consider contributing!
How an IDP (Identity Provider) Can Enhance Development Processes
Our industry has increasingly recognized the importance of the customer experience and its correlation with our software. However, insufficient attention has been paid to the developer experience. Providing engineering teams with effective tools, such as an IDP, accelerates development, resulting in more robust products and services for our customers.
Backstage addresses this gap by furnishing a platform for designing developer portals tailored to your software engineering ecosystem. Teams opting for Backstage receive the source code, empowering them to construct a custom developer portal.
While Backstage’s flexibility aids in building the ideal IDP, the decision to build instead of buying necessitates significant time investments for tool development and maintenance—time that could be more efficiently utilized on high-impact projects.
Exploring Backstage
Now delving deeper into Backstage, an open-source developer portal platform, it provides the essential building blocks for creating a platform that effectively manages complex software development ecosystems. The beauty of open source lies in its low entry barrier, allowing users to commence whenever, wherever, and however they prefer. Let’s dissect Backstage further.
Service Catalog
At its core, Backstage relies on a service catalog, enabling the tracking and management of services, apps, pipelines, and more in a unified platform. The service catalog facilitates easy visualization and updating of service ownership, enhancing service discovery within your organization.
Software Templates
Backstage allows the creation of software product templates tailored to your company’s requirements. These templates establish standards and tooling specifications for application services or components, simplifying project setup for teams.
Tech Docs
Backstage streamlines the management of technical documentation by providing out-of-the-box tools. Teams can effortlessly keep documentation up-to-date by managing it directly from their code repositories.
Plugins
The platform is extensible through plugins, created both externally by the open-source community and internally by your teams. These plugins enable integration with various systems used by development teams for building, deploying, and operating applications. In late 2022, Backstage introduced paid-for plugins, enhancing the platform’s functionality.
Running Backstage
Despite its advantages, Backstage, like many open-source products, requires ongoing attention and is not a deploy-and-forget solution. Building and owning a Backstage developer portal demands a skilled team capable of operating, upgrading, patching, customizing, extending, and promoting platform adoption.
Once your team establishes the Backstage instance, they must configure the infrastructure, integrate the right plugins, and ensure ongoing support. While a DIY solution using Backstage incurs maintenance costs, it’s essential to evaluate whether it truly saves money compared to SaaS alternatives like OpsLevel, which don’t demand the same internal development hours.
Prioritizing Engineering Resources
Successful implementation of Backstage often involves a dedicated team of 5–7 engineers committed to updating and maintaining the platform. It’s crucial to consider the opportunity cost of your team’s focus, as maintaining Backstage involves tasks that may not align with your main product differentiators. While Backstage is free, the associated costs of customization, maintenance, and operations should be carefully weighed against its benefits.
Choosing a SaaS Alternative: OpsLevel
OpsLevel offers an alternative approach to addressing the developer experience problem. In addition to managing infrastructure and application, OpsLevel takes an opinionated stance on building out your developer portal, emphasizing ownership, service maturity, and developer self-service.
Unlike Backstage, OpsLevel is a SaaS solution, minimizing the need for organizations to dedicate entire teams to building and maintaining their portal. With Support and Customer Success teams guiding you through change management, OpsLevel aims to provide value swiftly, measured in days rather than months.
The key distinction lies in OpsLevel’s focus on being an enterprise solution rather than an open-source project. This ensures confidence in the long-term commitment to support and continuous improvement.
FAQs
Final Thought
Backstage by Spotify is excellent for managing complex developer tasks and improving teamwork but it can be costly to set up and maintain. OpsLevel provides similar benefits without the complexities and extra expenses of using sotify Backstage, an open-source project.