Skip to content
This repository has been archived by the owner on Feb 21, 2022. It is now read-only.

Backstage plugin PoC #298

Open
1 of 6 tasks
aexvir opened this issue Apr 3, 2020 · 2 comments
Open
1 of 6 tasks

Backstage plugin PoC #298

aexvir opened this issue Apr 3, 2020 · 2 comments
Assignees

Comments

@aexvir
Copy link
Member

aexvir commented Apr 3, 2020

As we discussed internally the day it was launched, Spotify has launched Backstage, which aims to offer the same experience to the devs as we wanted. Obviously, our resources are much smaller, so we should probably evaluate repurposing Zoo as a plugin (or series of plugins) for Backstage instead.

I had a call with some engineers from Spotify, and after seeing what they have and sharing what we have, it seems really overlapping. As they are heavily invested into it, and our project is much less essential to our developers, the most logical approach would be to use their solution and provide our logic to it.

So far Spotify has only released the frontend for Backstage, which means that we'll have to supply our own backend, this is fine in my opinion, as we wanted to refactor our own UI either way, although this time is React, and not Vue.js.

I opened an issue in their repository yesterday, and based on the comments we'll check how complicated would it be to re-build our frontend as Backstage plugins.

https://backstage.io
https://github.com/spotify/backstage
backstage/backstage#454

Scope of this PoC

We are going to cover five of our current views, in read-only mode for now

  • /services
  • /services/{service}
  • /resources
  • /resources/{resource}
  • /auditing

For this views, we'll have to:

  • Remove templates, webpack server and client-side assets
  • Repurpose current views as util methods where it makes sense
  • Make sure that the GraphQL API returns the data needed for those views
  • Create a Backstage app that will hold our plugins (deployable independently)
  • Create three plugins, services, resources and auditing to interact with our GraphQL API
  • Deploy it internally and gather feedback about it
@aexvir aexvir self-assigned this Apr 3, 2020
@stefanalund
Copy link

Let us know how we (Spotify) can support!

@aexvir
Copy link
Member Author

aexvir commented Apr 22, 2020

@stefanalund I updated the description with what we'll cover and the steps that we'll be taking. For now we are aiming to keep the same logic we have regarding service discovery, as there wasn't anything that would suggest otherwise in the RFC

@paveldedik will start working on it from the backend side

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants