We have seen many talks about Backstage. <@U0326SB...
# platform-blueprints
t
We have seen many talks about Backstage. @Suzanne Daniels, @viktor, @Brian Leathem, @Nati Shalom, @Taras Mankovski: What’s the best way to use Backstage? And how to deploy from Backstage? And what about infra provisioning? As far as I understood it is more a catalog of items you have in your engineering org but it doesn’t manage your CI/CD pipeline, is that correct? I found the example with Humanitec pretty astonishing, never seen something like this before.
t
One way to think about Backstage is the view layer into your IDP that your organization can modify to their needs. It has core plugins that you can build on top of: • Catalog - aggregates assets around your organization into one place. It works like an aggregator where it pulls data from external sources so you can access it through the Backstage app and catalog’s REST API • Scaffolder - allows you to write CI like jobs for creating new assets that’ll become part of the catalog. You can create custom actions that you can reuse in the workflow templates that will execute as part of the workflow. • TechDocs - provides a standard way for write documentation as code for assets that show up in the catalog. • Search - provides a way to find different kinds of assets via a unified global search There are lots of other plugins that integrate with 3rd party services.
how to deploy from Backstage?
If you’re creating a new assets (like a service or a website), in Backstage terminology, an asset is a component in the catalog. You can deploy as part of your scaffolder workflow. Once the service is deployed, you can see information about deployed services in the catalog by adding an integration between your Backstage instance and your deployment tool.
And what about infra provisioning?
As I mentioned earlier, Backstage is a view layer where you can see and initiate actions, but it relies on services in your IDP to do the heavy lifting. This is the reason why it’s such a good pair with Humanitec. Humanitec provides an API that Backstage can use to get information about services and initiate provisioning and deployment by calling the API.
As far as I understood it is more a catalog of items you have in your engineering org but it doesn’t manage your CI/CD pipeline, is that correct?
Yes
🙌 2
e
Our pattern (not fully there yet) is to use GitHub Actions for the actual CI/CD part, which Backstage can give you visibility and access to (https://github.com/backstage/backstage/tree/master/plugins/github-actions)
s
@Taras Mankovski from all of your great responses I just have 1 more question - how many years of experience do you have with Backstage? 😄 wow!
t
😊 I’ve been using it for 2 years. I think. We also lead architecture of one of the biggest deployment of the Backstage catalog with around 300k components in it
s
Wow, nice!:)
a
With regard to the infrastructure provisioning, @Nati Shalom at Cloudify (where I work) has a talk about extending Backstage with infrastructure provisioning capabilities: https://platformcon.com/talk/adding-infrastructure-provisioning-to-backstage
t
@Nati Shalom I’m going to check that video out too
h
I did a webinar about Developer Experience at Zalando with large parts talking about our adoption of Backstage ("Sunrise"):

https://www.youtube.com/watch?v=4EGTa8u-7Ws

❤️ 4
b
We also treat backstage as a view layer; we use it to surface pipeline deployment and cluster status from Spinnaker. We also kick off jobs and mutations through Backstage into other systems, so it is not strictly a read-only experience.
☝️ 1
We are just over 1 year into our Backstage journey
k
@Brian Leathem - which cloud provider does your team use? AWS/GCP/Azure? Looking at doing something similar to what you mention here, so if you’re on AWS, I’d love to connect and get some guidance
b
Hi @Kashmira Patel We use AWS. All of our AWS interactions are abstracted behind Spinnaker and Titus though, so the dev portal is super agnostic to the cloud provider details.
k
Thanks @Brian Leathem! Is it ok to reach out to you separately at some point to understand this better?
b
I don't work much with the Titus and Spinnaker projects. I'm happy to share the context that I have though, and maybe it will help guide you to the details you are looking for.
k
That'll be great!