Plugins, which are implemented using React components, are the basic unit of functionality in Backstage. You can think of Backstage as a single-page application composed of plugins with relevant features for each service in your catalog. There are a variety of plugins available on Backstage.io to choose from, or you can build your own! Here are some of the most popular ones:
Datadog is a tool for application metrics, alerting, and logs. If your service teams are using Datadog, they likely interact with numerous metrics and dashboards. With the Datadog Backstage plugin, you can embed graphs with the most critical metrics directly into your service catalog. This way, those metrics can be easily accessed by members of your team and other relevant users across the org.
Kubernetes is a tool used by DevOps teams to orchestrate clusters of containerized apps. While service teams shouldn’t need to know or interact with the implementation details of Kubernetes, they benefit from direct visibility into production deployment information. With the K8s Backstage plugin, product engineers can check on the health of their services by viewing the state of deployments, pods, and ReplicaSets. The Kubernetes Backstage plugin communicates directly with the Kubernetes API, so it will work regardless of which cloud hosting provider you’re using.
As orgs scale in size and start deploying tens, hundreds, or thousands of microservices, the process of instantiating new services becomes particularly cumbersome. In addition, if there aren’t well-defined standards and scaffolds for service creation, chaos can ensue.
This is why companies using microservice architecture have embraced tools that generate service templates. Service templates often include a basic scaffold for the application along with configurations for logging, metrics, CI/CD pipelines, testing, basic dependencies, and more. Backstage has direct support for writing service templates using the Scaffolder plugin. It also has built-in actions for publishing new services to a hosted git repository.
Scorecards are a popular feature in Cortex that provides quality tracking across services. With Scorecards, your organization can write customizable rules to assess service quality and reliability. You can even gamify the process by assigning points to top-performing services. Using the Cortex plugin, you can see Scorecards directly in your Backstage instance.
If your team has developed internal tooling for managing your service, you can build a custom plugin and add it to Backstage. Each plugin can be thought of as a self-contained web app, capable of making API calls and rendering UI components.
You might start with a read-only plugin that pulls information about a service from an API and displays it on the service page. However, Backstage becomes more and more powerful as you add plug-ins with functionality like changing feature flags, triggering deployments, or kicking off maintenance jobs. Having these tasks consolidated in one place will improve their visibility and enhance your team’s productivity.