Backstage.io

Backstage is an internal developer platform that allows developers to quickly create components. The essential part of Backstage is a catalog of available software in a centralized location. The platform allows developers to search for components and build applications quickly by taking advantage of the existing ecosystem. The catalog utilizes metadata to describe software products and define their relations and dependencies. The catalog divides its core entities into APIs, Components, and Resources.

  • Components are individual pieces of software

  • APIs are the boundaries between different components

  • Resources are physical or virtual infrastructure needed to operate a component

 

Backstage is also packaged with Software Templates, for quickly spinning up new projects and standardizing your tooling with suggested best practices. Templates can be used to create standard component implementations, or ‘golden paths’. A developer could instantiate a template by inputting some parameters, and backstage would execute the template to create a repository and register the newly created component with backstage. The template can be expanded to additional tasks; the concept of a golden path will also include creating the necessary pipeline infrastructure to build and deploy the component, and any observability requirements (logs, metrics, alerts). This allows a developer to be able to create a deployable product within seconds, and start coding.

The third major component to Backstage is Tech Docs. It is a documentation-like-code solution that allows documentation to live with their corresponding code, in markdown files. With minimal configuration, this documentation can be nicely formatted in Backstage.

 

Packaging these three pieces together creates the Backstage ecosystem. Software can be further organized at a higher levle in different ways, including Domains, Groups, Locations, and Systems, as described by their system model. These concepts describe different capabilities and structures, but most importantly describe their integrations within the ecosystem.

 

There is also a Kubernetes plugin that allows service owners to check the health of their service as deployed in a K8 cluster. This allows for transparency of the service metrics at the full scale of their use.

For a complete demo, click here.

Â