In the ever-evolving landscape of software development, managing complexity and maintaining productivity are paramount. Organizations grapple with numerous tools, processes, and standards, often leading to fragmented systems and decreased efficiency. Enter Backstage, an open-source framework developed by Spotify and now a CNCF incubation project, aiming to streamline and centralize developer workflows.
In this article, we delve into the lessons learned from deploying Backstage in various organizations, exploring its potential benefits and the challenges it presents. We’ll also offer recommendations for those considering adopting this platform.
What is Backstage?
Backstage is an open framework for building developer portals, serving as a centralized platform where developers can create, manage, learn, and explore software within their organization’s ecosystem. Developed by Spotify and open-sourced in 2020, Backstage has become a cornerstone for companies looking to standardize and simplify their development processes.
Core Features of Backstage
- Software Catalog: Provides a single, searchable place for all software assets, making it easier for teams to discover and manage services.
- Software Templates: Allows for the rapid creation of new projects with predefined standards, ensuring consistency across the organization.
- Search: Enables developers to search through the software catalog and other data sources, including integrations with platforms like Stack Overflow.
- TechDocs: Facilitates documentation as code, allowing documentation to live alongside the codebase and be deployed as static sites.
- Plugin Ecosystem: Everything in Backstage is a plugin, offering extensive customization and expansion to meet specific organizational needs.
Lessons Learned from Deploying Backstage
Lesson 1: Choosing If or When to Adopt Backstage
Organizations must carefully consider whether Backstage aligns with their needs:
- Complexity Management: Backstage is most beneficial for large organizations with multiple development teams and complex microservices architectures.
- Dedicated Team: Implementing Backstage requires a dedicated team to manage and maintain the platform; it’s not a side project.
- Cultural Change: Adopting Backstage involves significant cultural shifts and the adoption of new habits, necessitating strong leadership and sponsorship.
Lesson 2: Standardization is Key
To leverage Backstage effectively, standardization is crucial:
- Automation through Standardization: Consistent processes and tools are necessary to automate workflows and improve efficiency.
- Simplified Onboarding: Standardized templates and processes make it easier for new developers to onboard and contribute.
- Challenges of Bureaucracy: Establishing standards can introduce bureaucracy, so it’s important to balance governance with agility.
Lesson 3: The Plugin Ecosystem—Powerful but Complex
Backstage’s plugin ecosystem is both a strength and a challenge:
- Customization and Extensibility: Plugins allow for extensive customization to meet specific needs, enhancing developer productivity.
- Complexity in Management: Installing and maintaining plugins can be complex, requiring expertise in TypeScript and React.
- Focus on Value: Organizations should focus on installing only the plugins that provide direct value to their developers.
Lesson 4: The Role of Architects
Backstage can redefine how architects contribute to the development process:
- Transparency in Technology Strategy: Tools like the Tech Radar plugin allow architects to communicate technology decisions transparently.
- Empowering Teams: Backstage encourages collaboration between architects and development teams, fostering innovation.
- Challenging Decisions: It’s important to regularly revisit and challenge architectural decisions to ensure they remain relevant.
Lesson 5: Providing Value for Sponsors
For Backstage to be sustainable, it must demonstrate clear value:
- Single Source of Truth: Backstage serves as a centralized hub for all software assets, improving visibility and management.
- Governance and Compliance: It offers tools for understanding drift from standards and managing compliance.
- Cost Management: Integrations can provide insights into cloud spending, aiding in cost optimization.
Recommendations for Adopting Backstage
Recommendation 1: Consider Using a Managed Platform
Implementing Backstage requires significant internal resources:
- Managed Solutions: Platforms like Roadie offer managed Backstage services, handling setup, maintenance, and security.
- Security and Updates: Managed platforms ensure regular updates and security patches, reducing the burden on internal teams.
- Proprietary Features: They may offer additional features not available in the open-source version.
Recommendation 2: Treat Backstage as a Product
Successful adoption requires a product mindset:
- Dedicated Team: Assign a team responsible for Backstage, focusing on delivering value to developer customers.
- Stakeholder Engagement: Involve stakeholders across the organization to drive adoption and align with business goals.
- Customer Orientation: Continuously gather feedback from developers to improve the platform.
Recommendation 3: Avoid the Shiny Object Syndrome
Stay focused on solving real problems:
- Value Over Novelty: Don’t adopt Backstage just because it’s new or popular; ensure it addresses specific challenges.
- Resource Allocation: Consider whether investing in Backstage is the best use of your developers’ time and skills.
- Alternative Solutions: Evaluate competitors like Cortex and OpsLevel, which might offer a better fit for your organization’s needs.
Conclusion
Backstage offers a powerful framework for organizations seeking to centralize and standardize their development processes. However, it comes with challenges that require careful consideration and planning. By focusing on key lessons learned—such as the importance of standardization, managing the complexities of the plugin ecosystem, and treating Backstage as a product—you can maximize the benefits while mitigating potential pitfalls.
Ultimately, the decision to adopt Backstage should align with your organization’s size, complexity, and strategic goals. By investing in the right resources and fostering a culture that embraces the necessary changes, Backstage can become a valuable asset in your development toolkit.
Authors: Akhil Bhaskar is the API Leader for Compute Services at AWS, covering everything from custom silicon to autonomous vehicles. Myee Riri is the Engineering Leader for Nutrien Ag Solutions, the world’s largest agriculture goods and services provider.