Today our Hunters look into Backstage: a platform created by the Spotify team to launch and manage software development projects. The idea arose from the need to organise microservices: “Where is that API for that service we supposedly all use?”, “This service is not responding, who is the owner?”...
How does the software catalogue work?
Backstage is a centralised system that keeps track of project ownership and metadata within an ecosystem (services, websites, libraries...). It is built around the concept of metadata YAML files, which are stored alongside the code.
To create a new component in the catalogue, simply click on Create component. From there, you will be shown various Templates used to generate a skeleton of the desired software: microservices, complete projects, libraries, etc. Now you only have to fill in a small form with variables such as description, package and name. The component will then appear in the catalogue together with the relevant metadata.
Figure 1: How to create a component
What are templates?
A Template is a YAML file that contains metadata on the software project that is going to be created. It includes the component creation flow together with a skeleton used to generate the software project, already initialised and ready for logic to be added. These can be created from scratch and are maintainable via Git.
How is Backstage built?
Backstage is made up of three main components:
- Core: basic system functionality.
- App: an instance of an app that is deployed and tweaked however needed. It ties together core functionality with additional plugins.
- Plugins: additional functionality to tailor the app’s behaviour to the company’s needs.
There are three types of plugins:
- Standalone plugins run entirely on the server.
- Service backed plugins require a backend service to function. The most important of these would be the Service Catalog, as it controls the component catalogue.
- Third party backed plugins need an external host to function.
Backstage can be easily dockerised and provides detailed information on how to do so, allowing you to tailor the source code to your needs and build your own product image.
Figure 2: Backstage architecture
Backstage supports authentication with various providers such as Atlassian, Auth0, Azure, Bitbucket, GitHub, GitLab, Google, Okta, OneLogin and OAuth2Proxy.
It is enabled for each deployment and other custom providers can be added.
Want to know more about Hunters?
At Altia, we have designed several programmes for people who are finishing their degrees and recent graduates to start out in the IT sector, bringing their talent and passion for technology. One of these programmes is Hunters: trailblazers who love to follow trends and want to help anticipate future challenges. Being a Hunter means being part of a diverse group that generates and transfers knowledge.
Join the Hunters programme and become part of a diverse group that generates and transfers knowledge.