Velocity

Azure Spring Apps Backstage Plugin

We are proud to announce that Enfuse.io has just released our first plugin on Backstage.io. Our new Azure Spring Apps plugin allows you to see critical cluster information on existing backstage infrastructure. We are continuing to deploy and release features actively, our initial focus on developer enablement was to display the status of your apps/deployments and build packs that are available. At Enfuse.io we know how important it is to have as much information as possible in a central developer platform so, as both Azure Spring App and Backstage users, we knew what we wanted to see in Backstage. If you want to find out more about deploying your apps to Azure Spring Apps, check out Azure AppShift.

What is Backstage.io

If you aren’t familiar with backstage.io, it is an open platform for building developer portals. With over 100 plugins and the ability to rapidly create, iterate and publish new plugins, Backstage is setting the standard for developer portals. Backstage can be used by developers in organizations of all sizes to centralize tooling. It can increase visibility of software, apps and access maintained by your teams. A big advantage of backstage is the scaffolding it provides. Enough to get you started with minimal setup and easily extended through plugins (either from the marketplace or built in house). By letting you build your own React extensions, you can customize it to serve the needs of your organization. If your team cannot find the right plugin, you can easily develop your own internal plugins, integrate it into your Backstage workflow and even publish it to the Backstage marketplace if you think it can be useful for others. 

That is exactly what we did at Enfuse.io, we realized there was an opportunity to create a plugin that would support monitoring Azure Spring Apps clusters right from Backstage

Screenshot of backstage.io plugin marketplace

Features of the Azure Spring Apps plugin

At Enfuse.io, we know the value of a good cluster summary. With our plugin (and new releases coming every week) we hope that this provides you that view for your Azure Spring App cluster(s). This plugin displays individual app status including deployment state, storage, security, and identity information. This includes which apps are in error state (super useful), amount of temporary vs permanent storage provisioned (and where they are stored), relevant identity information and where your app is hosted. This is enough information to be a good starting point when troubleshooting and we are planning to release more and want your feedback about what we should focus on next. See the latest release notes here

You can also visualize all the available buildpacks in your Azure Spring Apps service along with the supported languages each buildpack contains. This helps you when deploying new apps, onboarding developers and being able to see what stacks are supported (and request new build packs from an Ops team). 

Get Started with our plugin

Assuming you have an existing backstage instance, using our plugin is very simple. You install the plugin, add some basic configuration and include whichever components are relevant to your team. For full instructions see our readme here. This is the entire code you need to update inside your application to get it running:

import { AzureBuildpacksPage , AsaeAppsListPage} from '@enfuse/plugin-azure-spring-apps';

const systemPage = (

...

   //Buildpacks

   <EntityLayout.Route

      path="/azure-buildpacks" title="Azure Buildpacks">

       <AzureBuildpacksPage></AzureBuildpacksPage>

   </EntityLayout.Route>

   //Apps List

   <EntityLayout.Route

     path="/asae-apps-list" title="App List">

       <AsaeAppsListPage></AsaeAppsListPage>

    </EntityLayout.Route>

   // or wherever your heart desires

Once you’re done with the setup, you should have a view like this.

To see the full configuration, visit our readme here: 

And that’s it, within just a few minutes you will be able to see your cluster information in Backstage.

Deploying new plugins to backstage

To quickly pivot, we wanted to call out Backstage for how easy they made it to create and install new plugins. If you think you can provide new functionality that can be useful for you and others, you can start developing your own and publish it to Backstage’ Plugin Marketplace. The reason there are so many (and so well maintained) plugins is the ease of deployment. You can in a few minutes get a local cluster running and test new functionality. Spotify (the creators of Backstage) developers have created a simple workflow to contribute to this project. Once we had our plugin working and deployed to NPM (which itself only took us 2 weeks) – all we had to do was create a PR to have our plugin displayed in their marketplace. The team was very responsive and we had our plugin published within 2 days of request. Furthermore, we maintain control as our plugin is published within our own organization’s NPM registry (with the option to publish your own plugin within the Backstage NPM registry).

Overall a good developer experience that any mid-level engineer or above would be able to navigate with ease.

Conclusion

We have found Backstage to be a very powerful developer platform. Allowing you to easily extend it for your needs and it excels at monitoring applications and infrastructure across multiple platforms. We encourage anyone to try it out and explore the plugins available to see where that journey takes your team, we’re sure you’ll find it useful. And, of course, if you or anyone in your organization or team uses the Azure Spring Apps service, checkout our awesome plugin here and let us know what you think. We will continue to make new releases with new abilities in order to make the plugin monitor more aspects about the service clusters. 

Author

Christian Herrera