Backstage in a Nutshell
In a Cloud-Native and DevOps world, developers are used to working with a variety of tools and platforms, from Source Code Management Systems to CI/CD platforms, to the Kubernetes environments where their applications are running. Furthermore, some tasks are repetitive, and it absolutely makes sense to provide a “Golden Path” for them to follow, to increase productivity and reduce cognitive load.
Backstage helps to bring all these tools and platforms into a single, unified Developer Portal, where developers can find everything they need to build, deploy and operate their applications. As you might imagine, such a Developer Portal is not a “one size fits all” solution, therefore Backstage is highly extensible and customizable to fit your needs. Customization starts at the beginning of your Backstage journey; instead of using a pre-built image, it is recommended to build your own Backstage image, tailored to your needs, as we will do in this lab.
At its core, Backstage provides a Catalog, where all your applications, services, components and resources are registered and can be discovered. Additionally, Backstage provides functionalities for Software Templates, TechDocs and much more. In this lab, we will use the Catalog, bootstrap a new repository using a Software Template and add Tech Docs to our Service.
For its resource definitions, Backstage has its own resource model, defined in YAML files and looking very similar to Kubernetes resource definitions (although they cannot be applied to a Kubernetes cluster). These resource definitions are stored in Git repositories, and can be added to the Backstage Catalog, either manually or automatically using Scaffolder templates. We will cover some of these concepts in this lab, if you want to dive deeper into the resource model, please check out the official documentation at https://backstage.io/docs/features/software-catalog/system-model.
This should be enough to get you started with Backstage in this lab, let’s get going!
