Platform Engineering: Revolutionizing Development Processes with the Adoption of Backstage
by Keiran Holloway, Senior Manager, Professional Services Delivery, Rackspace Technology
Introduction
Rackspace Technology has adopted Backstage to help customers establish an internal development platform (IDP). This proves immensely valuable as it creates a portal comprising a portfolio of deployment templates, which development teams can use to quickly – and securely – deploy cloud infrastructure.
Backstage.io, developed by Spotify, has emerged as a powerful platform for building developer portals. It simplifies developer workflows, centralizes infrastructure tooling and enhances productivity across teams. For developers new to Backstage.io, this guide will walk you through setting up and leveraging its capabilities to streamline your development processes.
The obvious starting point for adopting this tool within your organization is to deploy the open-source software. However, this is the easy part – driving the adoption of a platform like Backstage can often become a bit of a chicken-and-egg problem. Developers may be wary of this tool – and out of the box, it provides limited functionality – so how do you drive adoption within your organization?
The following aspects are considered key tenets to driving adoption:
1. Setting up a solid development environment: making it repeatable for onboarding new engineers
Why it's important: Consistency and repeatability in the development environment are crucial for minimizing setup times and avoiding the "it works on my machine" syndrome, especially when onboarding new engineers. Backstage, with its multiple components and somewhat steep learning curve, underscores this need. Adopting the following approaches can facilitate this process:
- Automate setup processes: Backstage is all about automating workflows and deployment practices. The first template you create should enable quicker developer onboarding. Rackspace offers multiple templates allowing for the rapid deployment of either a local developer environment or a test environment on AWS, GCP, or Azure. This process, taking less than 10 minutes, significantly lowers the barriers to entry.
- Document everything: It's essential to document every step of the setup process clearly. This documentation should be easily accessible to new engineers, ideally within your Backstage.io portal.
- Establish a backlog: The first item on this backlog for the engineers will be to onboard themselves. Make sure that they’re getting into the flow of using the tooling that you will be developing.
- Schedule frequent meetings and cohesive support: When adopting Backstage, everyone is generally in the same boat and learning together. Having common Slack/Teams channels has been invaluable for quickly removing roadblocks. As engineers onboard, holding demo sessions also helps drive adoption, answer questions and get everyone off to a running start.
2. Laying the correct foundations: user authentication and integration with existing directories
Why it's important: Proper authentication mechanisms are crucial to ensure that the onboarding of engineers is consistent and that services are accessed securely.
How to achieve it:
- Choose the right authentication approach: Backstage supports various authentication providers (e.g., OAuth, SAML, LDAP). Assess your existing infrastructure to select the most suitable authentication method.
- Integrate with existing directories: If your organization uses Active Directory or another directory service, integrate it with Backstage to manage user access and permissions seamlessly. This also helps maintain compliance with your leavers, joiners, and movers policy.
3. Backstage integration mechanisms
Why it's important: Backstage and your CI/CD pipeline tools need to work seamlessly together. Clunky integration can quickly diminish developers' interest.
How to achieve It:
- Ensure you're using OAuth applications: Backstage can integrate with platforms like GitHub. Setting up OAuth from the outset significantly eases this process.
- Understand your integration patterns with cloud service providers: You'll need mechanisms to deploy resources within your cloud. Techniques similar to OIDC should be defined and implemented to drive meaningful adoption.
- Documentation: Documenting these flows and processes is crucial. Without clear documentation, developers are almost certain to encounter obstacles, negatively impacting adoption.
4. Key components of Backstage
Understanding the key components of Backstage is imperative to getting started. Familiarize yourself with all of the following: Software Catalog, Tech Docs and Scaffolder Templates.
- Software catalog: At the heart of Backstage is the Software Catalog, a centralized system for tracking and organizing software components across your organization. It provides visibility into what exists, how it's maintained and who owns it.
- Tech docs: Backstage integrates technical documentation directly into the developer portal. By using Tech Docs, teams can create, store and access documentation alongside their code, ensuring that it is always up-to-date and accessible.
- Scaffolder templates: These templates enable teams to quickly spin up new projects by providing predefined templates for common types of software projects. This standardizes project setups and reduces the time spent on boilerplate code.
5. Understanding key concepts: templates, plugins and actions
Templates: In Backstage, templates serve as blueprints for creating new components like services, libraries, or websites. They outline the scaffolding process, detailing which files to create and which parameters to configure.
Examples:
- A Node.js service template that sets up a basic REST API project.
- A documentation template for creating a Tech Docs site.
Plugins: Plugins extend Backstage's functionality, allowing you to integrate third-party services, tools and custom functionalities into your developer portal.
Examples:
- A CI/CD plugin for integrating with Jenkins or CircleCI to view build statuses directly in Backstage.
- An incident management plugin for integrating with PagerDuty or Opsgenie.
Actions: Actions are the operations performed by the scaffolder when creating a new component from a template. They can include creating new repositories, adding files, and configuring services.
Examples:
- An action that initializes a Git repository with a README and LICENSE file.
- An action that sets up a Kubernetes deployment for a new service.
Empower your development journey with Backstage.io
Backstage.io stands out as a formidable platform for boosting developer productivity and operational efficiency. By establishing a robust development environment, laying strong foundations, grasping its key components, and skillfully utilizing templates, plugins, and actions, you have the power to markedly improve your development workflow. This guide serves as a primer to kickstart your journey with Backstage.io. As you delve deeper into its features and capabilities, you will uncover numerous opportunities to tailor and refine your development practices.
Conclusion
Rackspace Technology brings a wealth of experience, not only in adopting these technologies but also in ensuring their success within your organization.
Note: This offer is currently delivered from our EMEA-based professional services team only.
Recent Posts
Padrões de rede híbrida do Google Cloud - Parte 2
Outubro 16th, 2024
Padrões de rede híbrida do Google Cloud - Parte 2
Outubro 15th, 2024
How Rackspace Leverages AWS Systems Manager
Outubro 9th, 2024
O Windows Server impede a sincronização da hora com o Rackspace NTP
Outubro 3rd, 2024