As technology rapidly advances and organizations expand, a diverse array of tools and infrastructures are being integrated into our IT ecosystems. This growth presents challenges in managing service complexity, increasing the risk of fragmentation and reduced reliability. Internal Developer Platforms (IDPs), such as the open-source Backstage, provide a solution by offering a unified layer that simplifies access to tools, boosting efficiency and developer independence in today’s dynamic IT environments.
The landscape of traditional IT is undergoing a transformation, propelled by innovations like hybrid cloud, containerization and many other technologies, which remained largely unnoticed just a decade ago. As technology rapidly advances and organizations continue to grow, an increasingly diverse array of tools and infrastructures are being integrated into our IT ecosystems.
How do we prevent our ecosystem from becoming more chaotic and fragmented? How can we efficiently manage the increasing number of services and components? And importantly, how to improve resilience and reliability in our IT processes? A preferred solution emerging nowadays is the concept of platform engineering. It brings tool chains and workflows that enable developers to have self-service capabilities. This platform is often referred to as “Internal Developer Platform” or IDP.
An IDP is an additional layer over the existing tools in a company. This means that the IDP simplifies access to and use of the existing tools, so that developers can work more efficiently and independently. This increases productivity without completely changing the existing tool landscape.
Backstage, one of the leading internal developer platforms in the open-source world, was initially developed by Spotify. Spotify made it open-source in March 2020 and donated it to CNCF (Cloud Native Computing Foundation) a few months later. As of November 2023, the project boasts more than 24k stars and 4.8k forks on GitHub, reflecting its widespread acceptance and popularity.
2 Core Features
Core features of Backstage include the Software Catalog, Software Templates and TechDocs. These elements collectively work to optimize the management of IT resources, streamline development workflows, and enhance documentation practices.
2.1 Software Catalog
The Software Catalog functions as a centralized system that keeps track of ownership and metadata for all the software within your ecosystem. It encompasses various entities like services, websites, libraries, data pipelines or ML models.
The homepage of Backstage offers an intuitive overview of these entities, neatly categorized by aspects such as kind, ownership, tags, etc. Additionally, with the Backstage Search feature, locating specific information becomes an effortless task even in a rich ecosystem.
How can we add components to the catalog? The source of truth for the components in the software catalog is metadata YAML files stored in source control (GitHub, GitHub Enterprise, GitLab, …). Components can be registered either manually by specifying their YAML file URLs or through static configuration within Backstage. The responsibility for updating and maintaining these components’ metadata falls to the respective teams, utilizing their standard Git workflow. Following the merging of changes, Backstage swiftly reflects these updates in the software catalog, ensuring that the information remains current and accurate.
Using the Backstage Catalog, developers and teams can efficiently manage and maintain the softwares they own, while companies can ensure all software is discoverable across the entire organization.
2.2 Software Templates
Application developers are the primary users of an IDP, with Ops teams responsible for its initial configuration and maintenance. Ops teams begin the IDP creation process by establishing baseline templates. These templates visually consolidate the elements of the development process and govern permissions, laying the foundation for a streamlined workflow. Once these are in place, developers can adjust configurations and spin up fully provisioned environments tailored to their specific project needs. Moreover, Software Templates offer an excellent entry point for organizations adopting the platform, it is especially meaningful when starting with a smaller set of components.
In practical terms, these templates assist in creating source code for a component, establishing and publishing corresponding repositories to the predefined URLs. This streamlined approach not only saves time but also ensures consistency and compliance with best practices across different development projects. Software components created by these templates are then automatically added to the catalog and are searchable, which means they can be easily found and utilized within the system. Furthermore, by minimizing tedious and repetitive tasks, Backstage’s Software Templates play a crucial role in enhancing developer satisfaction and happiness at work.
TechDocs of Backstage offers a docs-like-code solution, enabling developers to craft documentation in Markdown files alongside their code. These documentations are easily accessible, either through searches or directly from a service’s page in the Backstage Catalog.
Backstage is a single-page application with a rich and growing plugin ecosystem, its open architecture and flexibility allows the development team to customize and extend the portal.
One of the most frequently used plugins here must be the Kubernetes plugin, which assists developers in monitoring their service deployments, elevating error visibility, and providing in-depth information on deployments, pods, and other service-related objects. Additionally, Red Hat also offers many supported and verified plugins such as Application Topology for Kubernetes, Container Image Registry for Quay, Pipelines with Tekton and so on.
Discover a variety of open source plugins to enhance your Backstage deployment at: https://backstage.io/plugins.
In summary, Backstage leverages existing repositories, effectively bringing together the necessary tech stack into one unified platform and ensuring that software components, templates, and documentation are all centrally located within the catalog and easily accessible. This approach streamlines IT processes, fostering efficiency and clarity across teams and projects.
As a member of the Backstage community, Red Hat made its custom-developed plugins available to all. Moreover, the Red Hat Developer Hub, built on and expanding the open-source project Backstage, elevates this platform to new heights by providing a fully supported, scalable, enterprise-capable version of Backstage. One of the key features of the Red Hat Developer Hub is to provide a centralized overview of all available developer tools and resources, as well as self-service capabilities for cloud-native application development. This should help to improve the development experience in various environments, including Kubernetes and container application platforms such as OpenShift. A clear and productive environment is planned to accommodate organizations with a variety of tools and ever-changing security and compliance requirements.