Backstage Developer Portals with Spotify | Across the Board

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi folks we're gonna get started in just a minute here hi if you're tuning in we're going to start in just a couple minutes just getting everything ready to go [Music] folks if you're tuning in go ahead and drop a message in chat tell us where you're tuning in from we're going to start in just one more minute here all right hey everyone folks just another 30 seconds and we'll go ahead and get started with this session we're going to be talking about building developer portals with backstage pretty excited we've got guests from spotify on today love to see we've got someone tuning in from london happy to see that we usually don't do these morning sessions awesome love to see we're seeing people tune in we're going to get started in about 10 seconds here all right hello everyone my name is psy venom and i'm a developer advocate with aws today i'm excited to have guests on from spotify and we're going to be talking about backstage now backstage is an open platform for building developer portals and some of their numbers are just incredible they went open source with this two years ago i want to share some of the numbers here they have over 20 000 commits 10 000 prs and issues 15 000 stars on githubs and here's what i think is so cool this project in just two years the marketplace has kind of grown up around it so quickly there's 60 plus open source plugins in the backstage plug-in marketplace all right without further ado let me go ahead and introduce the guests and bring them on stage i've got my laptop here so you'll notice me looking here and be sure to drop any comments and chat as you have any questions and uh we'll make sure we we get around to those all right here we go hi everyone how are you doing today hello we're fine awesome let's go around the circle really quick uh suzanne maybe we can start with you yeah so hi folks i'm susan daniels i am based out of the netherlands and i work for spotify doing developer relations for a wonderful project called backstage awesome thanks for joining us suzanne himanshu hey everyone good morning good evening wherever you are um my name is himanshu i'm a delivery advocate with spotify working on backstage i'm based out of india so it's quite uh in the evening for me and so excited to talk about backstage with you folks well we're really glad you're joining us late here thank you jimenchu and i'm sure we'll make this a great session and finally last but not least brian hey everyone my name is brian landis i am one of the global solutions architects and i've been working with the backstage team for a little bit here and i'm really excited to have you all here there so thank you awesome all right folks i think we should go ahead and get started i gave a very quick intro to what exactly backstage is but i'm sure folks are still wondering uh what does it mean to help support building developer portals and i i've got to say the word and term portal and developer portal especially is a little overloaded and it can mean quite a few things so suzanne i'd maybe like to start with you i know we've got a kind of structured approach today what do you kind of see as backstage in in your words so like you mentioned backstage is a platform for building your developer portal now indeed a portal can mean a lot of things um even a developer portal can mean a lot of things to different people so when we look at the developer portal it's basically the place where you go to do three things mainly it's creating managing and exploring um and we'll go dive deeper on that later probably um we can well you have this beautiful board so we i'm sure we can diagram some things to explain more but in general it is not to replace your tooling it is to create that one place where you go to to find information and to use that other tooling it's to aggregate not to replace and i think that is the power yeah and i think this is why developers have flocked so much to backstage is that it's this tool that's it's not yet another you know git ops tool or automation tool it's a way to kind of control the chaos right and this is something that i've seen quite a bit around the backstage messaging is it's it's how do you handle the sprawl that occurs as a company you know begins to grow and i know that backstage you know came originally was developed by spotify and is now an incubating project in the cloud native computing foundation but i'd love to understand a little bit about how did backstage actually come about and why is this something that spotify is developing or has developed yeah there's a lot being written about about spotify and the engineering culture but mostly what is really working well is that we have a lot of autonomous teams um and that like worked particularly well for spotify but well it's still a technology company so um you get more people who need to onboard you get a more complex infrastructure so when you would still be years ago working with monoliths and you would have certain teams and you would know the teams and then it's not so hard to collaborate it's not too hard to onboard it's not too hard to understand each other's technologies but then over time there were more teams the way we built applications changed moving to microservices um and yeah as soon as you grow it's harder and harder to know who's managing what um you have to venture outside of your domain um and that can be particularly um it can be very very frustrating as well it will slow you down so at some point when we edit engineers it was just not um well we were just not getting more speed yeah and i think sorry go ahead no so what what happened is that well we tried to solve that by creating places where people could find stuff but it is so hard to manage um then at some point we built a developer portal internally like a place where people could find all that information um and could see who was running on coal but it was managed by by one team uh and our company was well you know hundreds of engineers so that doesn't work that well um yeah you have to know a lot of the main knowledge to create valuable a fellow valuable page for your plugins a value valuable page for your uh services definitely and we struggled a lot with that and i think you know when i when i think about spotify obviously yes it's a tech company and i remember i think in even seven eight years ago with the agile model really getting more and more popular people were looking at the spotify model for structuring teams with tribes and developers and and i think it's it's really great to see that now you know it's you guys are making ways into affecting developers even to this day with with portals like this i think it's uh it's been really cool to see that i drew a little diagram here that that i found i think it was in your documentation to show that you know backstage really sits at the center of all of this right here allowing uh you know to manage the scale as companies grow to do so with speed and i think the critical thing here is managing some of that chaos um now i think for folks listening uh we've covered a lot of the kind of high level of what backstage is why it came about but something that really helped me understand it was to understand kind of what are the actual use cases for using backstage and so um i'd love to kind of maybe go around and ask you what do you see as one a really critical use case for using backstage and maybe i'll start this off with one of them and i think it's it's probably one of the most uh you know understandable ones for developers and it's one of the use cases for backstage is to create a micro service and so i think one of the things i saw with backstage was that it gives you the ability to configure these software templates and so a developer can just come in and get started very quickly with creating a microservice now i might put you folks on the spot here but let's go around and let's maybe get four use cases here so folks really understand what what we're using backstage for uh he meant you how about i go up go to you next and ask you for what is a use case for using backstage sure so i think something that um i personally am fond of backstage is that it is my go-to place to discover things to discover internal apis to discover internal data sets which i can just use and start my research if i'm a data scientist um if i'm a back-end developer like does apis exist and see the documentation right there so i think baxter has a great use case for solving the problem of discoverability inside the company awesome i love it and and folks we're going to dive into all of these in more depth later so i'm starting with kind of this approach to lay this uh the groundwork for what backstage is and he mentions got a demo for us in a little bit as well that'll let us see exactly how backstage itself works um brian how about we go to you next give me a use case yeah um you know one of the things i love about backstage is is kind of that end-to-end almost observability into uh your infrastructure so you can actually see when you deploy microservices onto kubernetes or eks or actually have any kind of uh that traced back to any of your infrastructure instead of having to go to multiple tabs or different windows and you can actually be unified with your teams that's one of my favorite things about it absolutely i think you know observability being the ability to see the state of a system and one of the things we're going to show today is the fact that backstage can really give you that ability to see systems even outside of the context of backstage uh you know for example kubernetes clusters that might be running in a on-premises environment or in the public cloud using something like eks that's something we'll we'll dive into here in a little bit as well all right i want one more use case here uh suzanne give me something i can put up here yeah it's creating stuff which is not necessarily within your domain knowledge um for instance you have a project and you need a data pipeline for something um it can really help you create that both understand it but also create it with software templates okay yeah so let's add to just a micro service we can also do things like creating a data pipeline i love it i guess the fourth one could be technical documentation or um like reading stuff about those services which exist inside backstage yes i think i think the word technical documentation is really important because we don't want companies to put their you know hr documentation on backstage so it's really developers who want to write docs like code you know when i was looking at some of the the demos of backstage and i started using it myself uh the ui the experience was reminisce reminiscent of spotify itself i was like this this makes so much sense you know you you have uh this this plug-in based architecture showing you uh you know diving into wherever your uh you know microservices apis external services might be you have this ui experience on the left side that's handled by backstage um and i think this architecture makes so much sense i'd love to dive into it a little bit because i think where users derive so much value out of backstage is using these plugins you know backstage itself is great but until you start connecting it up to some of these backend sources of data you're not really deriving the true value of the platform um and of course you know uh whether you're you know pulling data out of the back end of some other service or even building it directly into the platform with things like the technical docs uh i think i'd love to kind of dive into what that plug-in architecture itself looks like um so maybe we can start with that he manchu maybe can you help me kind of diagram this out i think one of the first components here obviously we'll start with an end user that's going to be coming in and what is the first kind of component that they hit they open their website backstage is a website overall it's not a phone app it's not an extra app they go to their browser and then open backstage.mycompany.net sorry hit the ui all right so they hit the ui and maybe i should draw this as a slightly bigger box here and i'd love to kind of talk about some of these plugins so now there's plugins like technical docs now you think that's a good one to start with to kind of show how this would be structured i think it's a little complicated one so let's say let's take a simpler use case um maybe they want to understand what technologies are exist in their company and what technologies they are allowed to use uh are not allowed to use so there's a plugin called techradar um i think it's much more popular than backsplagging itself so maybe just a simple plugin um like a web page they can they open backstage and there's this thing in the sidebar they open they see something and they close the close the service uh okay so tech radar this is a plug-in that's it's it's static right it's like built into backstage itself you don't need to configure some back-end service or proxy you're just programming it directly into uh backstage right yes maybe updating a few examples because we love yamls and the easiest way to configure plugins is by adding things in app configurable that exists in backstage but overall it's static it's a few react code a few components in there that's it awesome all right let's take it a step further and let's talk about a plugin that does need to store some data something needs to be stored somewhere in a stateful way and i think maybe tech docs could be a good one here to talk about um well i'll leave it to you what do you think is a a good uh kind of step up here yeah so i think like um after tech docs will take kubernetes i think it's different from um tech talk so tech docs plugin inside backstage is is the whole deal it has a front end where you can read documentation um but it's not just like the reading simple reading experience there's lots of smaller add-ons on top of tech docs so you can actually highlight things and report up outdated documentation there's a button if you need to update documentation right then and there like edit this page um you can see who edited those docs there's a lot of features built on top of that um front-end plug-in but it has a back-end uh plug-in counterpart which lives inside backstage got it so we want to make sure we get that represented we'll say very simply just say back end you know one of the things i saw really interesting here was that plugins can work together so i looked in the marketplace and i saw for example stack overflow feasibly could someone kind of integrate stack overflow posts with the documentation to kind of have this like live stack overflow flow view of questions that are related to the you know the documentation in some way already done inside spotify we have stack overflow enterprise uh it's integrated in documentation in search um so yeah that's the power of like these platforms that you don't get something out of the box and you don't have power to update them you have the power to like add on things to them uh customize them backstage has a lot of customizability i'll talk about it in my demo as well very cool yeah tech docs it has a back-end um so most a lot of powerful backstage plugins have a back-end so you get like a server uh it's node.js you can do you can run tasks or you can like store secrets whatever you need plus it's also the best way to connect to a database which tech docs needs um because you want to compile the documentation and store them um and so that it loads faster and such there's a lot of things in between there's a cache but this is the simplest i would say the most advanced backstage plug-in it has a front-end it has a back-end to do things like it runs some python scripts to compile uh documentation it it it uses the amk docs container it runs it one off whenever there's a change in documentation and then it publishes back in database and whenever someone reads documentation it fetches it for the user got it got it okay one one more component that i want to talk about here a little selfishly because uh containers from the couch here uh we wanna we wanna talk about how users can manage their containers their workloads especially when they're running in kubernetes so i know backstage itself supports a plug-in for working with kubernetes environments so i've left some space here let's let's talk about that last how does the kubernetes component itself work sure um so i think we'll be introducing a new concept which is called a backstage proxy it's that when you already have a backend um kubernetes is great because it supports a world-class api to get data about your um you know things that you have deployed all your deployments parts and such so we don't need to rewrite all those things in a new backend plug-in all we need to do is forward um some of those api requests from the front end or backstage to the actual um kubernetes cluster so to do that securely um we use something called backstage proxy i'll show you that in my demo you just add a few routes make sure the authentication is set up and then you just focus on your front end so for the backstage kubernetes plugin you just look at what's being deployed and what's new and such and it's communicating to the actual cluster eks in this example via the backstage proxy it's very thin lightweight so so the reason we got to go through a proxy here is because um this this is like a front end component right and so to be able to communicate with external resources you're going to run into course issues cross-origin request headers so by leveraging a proxy component within backstage you're able to route that information in a secure way essentially you know being able to pull that information and kind of display it for in the ui i thought that was an interesting uh attention to detail here to make sure that these components work as expected okay so before we go ahead to add to this um this is basically what is the success so like i explained in my little introduction is that when you build a developer portal with one team for an entire company with a lot of different technologies and a lot of domains this is actually the way to do it in a better way and to make it scalable because backstage is built off these plugins so backstage would be like the the lego base plate on which you place the blocks um and if you have specific domain knowledge then you would create a plugin and you would own that plugin and expose it for others to use as well right right so for example and when we look at the the plug-in marketplace here today you know we've just covered a few of the plugins here the kubernetes plug-in tech docs tech radar but for example there's you know other plugins to manage your resources wherever they might be for example you know maybe you have an argo cd pipeline i would be an external source maybe you know we talked about stack overflow that would be another interesting way to bring things in uh amazon lambda functions i saw there was another plug-in market plug-in in the marketplace for that to be able to get introspection into those uh those environments as well um and so i think a lot of what we've talked about at least with this specific example with kubernetes was it was a way to observe uh and see the state of you know tools that you may be running but i think one thing we haven't talked talked about enough here is that create aspect um where does that fit into this flow i mean how are we creating actual experiences for developers with backstage sure so i think it's much closer to the tech docs example um is that you have a plugin which is which has a great backend i think it's one of the core features of backstage um and then you have software templates i think if i have like a demo if i can show some yaml some templates i think it'll be easy to understand but you fill in some forms it's on the front end you fill in some details what do you want to create you want to create a python library or a micro service or a data pipeline or a new aws project who knows or a new google cloud project like all kinds of things that's why i think suzanne focused on creating and not creating a micro service because you can literally create anything fill in some details it get passed on to the back end um software templates back end it runs some actions based on those details and those can fully be customized written by the organization and it can maybe create a new repository for you it can create new resources maybe cloud resources for you if you need them um it can trigger some pipelines if you are creating a new service so imagine like creating a new service in a large organization you have to take care of all kinds of things like security monitoring like configuring those kind of things you don't shouldn't have to tap shoulders if you want to create stuff it should be done for you so that you can go ahead and write your business logic as a developer um so yeah that um that's how it fits into backstage and i think that's the perfect segue here to to your demo because i think there's too many components here for me to draw to explain the real power of it let's let's see exactly how it works so imagine i'll ask you to uh share your screen here and we'll jump into a full-on demo but uh sorry brian did i cut you off there no no no it's okay and why don't you go ahead and bring up your screen while i kind of chat but i was just going to say you know this is one of my favorite parts about backstage is is really powering that platform engineering team and giving them all the tools that they could possibly use to build for their organization you know um every organization or developer when they work is very different from one another and you can really kind of customize this entire experience and we also see a lot of customers build their own private plugins right that may not be on the marketplace and it's very suited just for the organization so i do love the idea of really powering the platform engineering team putting in the guardrails in networking to really help accelerate that developer experience yeah absolutely so at spotify we have created over on 100 plugins which we use inside of the backstage and the team managing backstage is actually really really small it's a few people um so you know that is the power and we see that with a lot of other adopters as well some get open source um we hope most will over time um but uh yeah it's basically the power of uh of using um this platform to build your developer portal and i have one follow-up question while we wait for the uh the share screen so you say at spotify that you have a centralized platform engineering team who is helping make the plugins and who help owns the plugins is it both teams that might be able to own the plug-ins i'm just kind of curious how that kind of setup is if in your opinion so in the end always one team is responsible for creating and maintaining their plug-in we have a lively community helping each other out and sharing and sharing knowledge actually that is the part which is always the hardest work is creating your community and keeping your community together so we we are investing in data to uh to improve the experience for everybody yeah i think this is critically one of those things that um you know this this platform can be solid and and you can have this amazing approach to handling these things but until you have developers within your company actually adopting technologies you know that's that's what ends up being uh one of those strong bottlenecks for adoption and and growth within the company and i think backstage you will need a central team to manage it and you will need to do some internal evangelism but i think what i'm seeing is that the tools are made available to you so you can set up those kinds of approaches all right and with that let's jump to the demo here he mentioned i think you've got your screen loaded up here uh let's see i have so i like to uh get um get into my vs code whenever i have to show things uh no slides show things as they are live um so this is a backstage instance uh folks and uh i'm gonna cover like the things we have discussed uh but maybe also show you like new plugins and new possibilities on a developer portal which you you can use um as an inspiration so um by the way you if you see something called rocket um that's the creation of suzanne um it's a company founded on mars which supports uh interplanetary travel um and you know they're they they use backstage um and uh one of the things which i as a new engineer in rocket is supposed to do is uh work on their lunch app it's a very critical app which customers or riders travelers will use to order lunches so i joined this company and one of the things they tell me is that you have to go through this golden path concept um so as you are a back end engineer you have to follow the golden path and it will take you through everything all the steps needed to create a new backend service on your own you don't have to ask anyone anything you don't have to be blocked you go ahead and start working and i think this helps us so spotify measures uh one of the metric it attracts for the successor backstage is how much time it takes for a new developer to create their 10th pull request and concepts like cooldown path and like reading documentation and discovering things i think has added to that so i read this documentation and it tells me you know go to this create page and uh fill in some details and it's things should be done for you automatically i'm amazed um so what is this uh create thing so yeah that's the software templates part is that my company already has decided on some of the technologies which should be used um to create new things and i think it's one of the things which large companies have to do to avoid fragmentation within their own company so that there's easier collaboration across teams if one team is using javascript other team is using ruby on rails third team is using in python and you got 10 technologies inside your own company there's some there's they're going to be some problems so software templates actually help you standardize that and make sure um make sure you first of all make it easier for developers to create stuff but also give them some standards so for example i want to create a new website um so yeah this is the template which i choose um it's asking me some details um so for example i'm gonna say this is my new awesome website and of course i'll be lazy and copy the same thing in my description i'm part of the travel experience team guys because um you know i'm creating the lunch apps it's part of experience so i'll choose where it's supposed to be hosted um my company is huge they use github gitlab and ght as well so let me just choose that and should i be creating this in my own personal account or should i be creating it under an organization so let's go ahead and choose an organization and let me make sure i fill in some explain the name of the repository and since i create so many awesome websites i always prefix suffix it with the date but the limits are endless here all everything that you want your engineers to fill in before they create stuff you can add it as part of the software template do you need a check like does your software does your service handle private personal identifier information maybe there should be additional checks in there maybe you want to create a jira ticket or we saw a demo from deutsche bank uh in the last backstage community sessions they they created jira ticket um for things that fail to work um maybe you want to have maybe you want to spin up some bots to do stuff like all kinds of steps that you uh want you can embed it as part of the template while this is happening i'll show you how an actual template looks like and i have it opened right here so yeah everything oh it's done so everything you see here in the left is a step that happens as part of the template and there you go so you have in this template you have three steps um basically you fetch a skeleton basically the template um with some code in there some of the things are going to be supposed to be filled by the details that i have written in in the forms and then you basically create a new repository and then you register it back in software catalog which i'm going to show in a second but you can add all kinds of actions in here create a new aws bucket s3 bucket um put up a message on slack this guy is the limit as i said so the repository is there and i as a developer didn't have to do anything i just go i'll just go ahead and start writing my react code um to be honest so i'll start here um i don't care like if if the company uses grafana to like look at some graphs it's already there all the headache is being taken care from me and it gets registered back in software catalog which is the second huge part of backstage one of the core features of backstage is that you can see the service and like all kinds of entities as they're called in backstage um websites users apis i'll show you everything um but yeah every entity has an entity page it looks slightly different for each entity and if you own the service you might be you might be coming here to see some of the things but if you're just looking around in your company trying to find some of the existing services that you can consume you might be exploring some other tabs and such so by the way folks if you have questions feel free to stop me and ask me to like suzanne stop me and ask me to like switch tabs and such so this is what um go ahead now maybe you can um show the yamo yeah absolutely what makes this entity page what is an entity absolutely so we'll do that um and this is the this is i would i would like to call it the home page of a service um so every entity has this home entity page there's a bunch of cards in here as you can see so the first bit is the about card you come to the service you see what the service is all about who owns this service what's the life cycle is it in production is it experimental what system does it belong to um and like of course you can just start looking into documentation such but where is this all data coming from is this all stored inside backstage no so backstage follows this kit ops model where um it aggregates information rather than storing a lot of information so whenever you create a new service the the all the metadata is stored along alongside the service itself in the repository itself so here's an example of that yaml file it actually has a few yaml files so this one is generally called catalog info yaml file which contains some metadata about the service which catalog consumes like the name of the service and the description and like some of the method they're like what what it is who owns this service and such so he meant to this looks a whole lot like kubernetes i know it's copied so so speak a little bit about that was it inspired by it is this running you know at some point do you expect customers to run this in kubernetes or is it is it really just the the kind of format that you took i think it just um just familiar that's why we didn't want to um create new terms so for example api version kind these are all inspired by kubernetes it doesn't have to do anything with kubernetes though um and even in backstage there's a triplet which identifies a unique resource which is a combination of the kind the name and the namespace which is missing here so it's by default default uh same as kubernetes it's inspired a whole lot by kubernetes no i i love that it's uh at least it's familiar right so i look at this and i know exactly where to look and i'm like oh like you know i know where the annotations will be the description i know where to specify configuration variables that kind of thing i know to look for the spec i think it makes a lot of yeah beautiful graph it it pulls also from the file so it pulls from the depends on uh for instance absolutely and like to look if you want to understand more about this yaml file and like how it works and what are the fields that are supported this is the exact documentation page you should be looking at uh called the yaml file format but yeah susan is saying um the graph that you can see here so this is a service which consumes some apis as you can see here called flight info because it wants to know who are the travelers in the flight but it's also owned by some of some group and it belongs to a system like system can be treated as part of like larger departments inside inside companies and you can expand this graph basically to look at your entire company and how services depend on each other and where do services live and who owns them and what apis they consume or if you're looking at apis what services consumes them so that if you're changing something maybe you want to notify those services and such and all of this data is literally coming from here this uh depends on like if you're creating a service and if you're consuming something just write it this in turn go ahead sorry i was just going to say when you were showing that other page with the app itself the service one of the things that came to mind was that you know this entire experience in ui seems to be focused on you know the developer experience of looking at it by the service and the running services and even the flow chart you showed us services depending on each other whereas you know i've seen you know different tools have different views argo cd is focused on things like pipelines and that kind of thing and i and i'd love to kind of hear you talk about that a little bit more the the views that backstage focuses on i think it's it's very much in line with the type of users that they expect to be using it yeah um i'll also let's use an answer so in my understanding backstage is nothing um it's just uh it's just a single pane of class it's just for you to not worry about things for you to get your work done uh by just looking at one place so that's why it focuses a lot on like the user experience their journey what are the some of the important important things they should be like looking at that's why you configure the home page according to according to them like if developers don't want to look at this graph remove it um it's like totally up to you maybe they just want to look at the documentation add it in the home page um all these tabs as you see all these cards you as you see it's all customizable and depending on whatever developers um want to see right so one of the things i looked into when i was first uh you know looking into backstage was can i use this thing to to make like a kubernetes cluster can i use this to spin up some back end some some operational stuff and and i quickly realized that's not what backstage is here for and we even got a question in chat uh asking how does the backstage platform uh how is it used for data science application wise um and you know if i had to answer this question i'd say it's probably from a perspective of being able to see how your machine training models are actually executing not so much to actually use the platform to run models for training right most likely not most likely you will have a plug-in visualizing the status of things visualizing the results um you would have to figure out like what brings the most value to to my developer the person the engineer looking at this portal so each of these styles is a plug-in so if you scroll down you would like want to know who's on call or would like to create an incident then as an example for this service there's the patriot duty plugin uh somewhere down below if you can go back yeah thank you so this is the pagerduty plugin but this could also be maybe something related to your surface something else but yeah so we're going to create an incident this is all fully fully customizable and it's typescript so you can put in if statements you can let it depend on the on the information the entity has you can really make this a pleasant experience uh for for your developer and everything that creates friction or creates confusion you just like try to yank that out yeah and please correct me if i'm wrong but i'm betting you could probably make a software a catalog item for say for example ml models or anything that's already been kind of gone through a pipeline or maybe even a sql workbench where they can maybe run queries directly from the developer experience have you ever seen anything like that before i think spotify is is a data giant as you can probably imagine it does a lot of things with data and of course backstage um helps a lot in data science so imagine like as a data scientist you might be wondering in big query and looking into data sets and trying to understand what can i trust this data should i base my new feature id as a product manager should i base my new feature idea on this data is it accurate is it outdated who owns this so spotify has had all these problems and they use backstage to like solve them like they give tears to like to those data sets some of the data sets are called golden data sets um and you're supposed to use them uh like request access if they're if they're private data right from backstage look at pipelines that are running configure them change their schedule like run them daily hourly like all everything from backstage um so yeah it's another another aspect of using backstage very cool he met you i'd love to see the rest of your demo yes i'll i'll just continue um as i was showing like this is what catalog looks like and all of these cars you see come from come from plugin um so this page duty card is used to handle incidents um you notice something is not working in a service you open that service in backstage and do something right here here if over the course of night if my company decides to stop using using pagerduty and start using something else our engineers don't have to learn new interfaces it's it should be like a simple simple button like where they do everything else i think this is one of the points as you have like hundreds of um things to do one thing like um monitoring security checks uh cia city there's so many tools available and developers should not have to like learn each one of them i think that's the idea of backstage here so yeah um i open this service but so plugins create these cards but some of the plugins are huge in itself like a cicd um plugin for for backstage and access supports all kinds of ci cd services so i won't name one but this one is coming from github actions and i just look at all the logs from here i just come here see my latest build um what's working what's not maybe look at some of the detailed logs um from here and i don't have to go to their website of course not so you're not supposed to like recreate a service on backstage as a plug-in when you're building the plug-in so you should have to make a balance between what's useful for developers and whenever they want to actually go to that actual service they can of course click a button and then go to the actual service i think that's the whole film i think that's a general philosophy of all backstage plugins uh you're not supposed to like replicate all of them but also but i'll also show you some of the fun plugins um here so one of the plugins which exists inside backstage is called to-do plug-in so let's say i'm an engineer i'm just looking around i found this launch app thing i'm a really fan of this team by the way i really want to work with them they pay a little more as well uh but no so i i found this uh to-do uh tab where it pulls all the to-do's that exist inside the code and shows them shows them to me and it's like a way of doing inner sourcing like you're you're creating some projects in here for new new um like new developers to come and maybe contribute to you so that's just an example of the possibility of having an entity page or having a catalog page is that you can start doing things on top of it related to your services but while i'm talking about inner sourcing i'll showcase you one of the community plugins which a couple of students actually created backstage contributor community is huge there's over thousands of contributors and 10 contributors joining in every week um so that's one of the plugins called bizarre maybe so susan loves it plugin maybe you you'd like to talk about it yeah so a good example for inner sourcing is that you need help because you need specific knowledge um and well probably somebody in your whole company in this case would know css and would like to admit it who knows so in this case people owning the marketing website posted a request seeking help for their marketing mini site so i found that that card on the bazaar or within the entity page itself and i can take a little look at the description well what uh what is this uh uh help that they need um how much help might it be medium long short um that sort of descriptions i can try and join this uh this one and when i join i can also reach out to the slack community so if i would click the link i would go to the slack channel which we of course haven't configured because otherwise smart people will join our private slack channels which is maybe not that good um but yeah this is how i can start my collaboration most likely i will check out this project so i will take a look at who owns this what is it i would go up maybe also look at how the pipelines are doing here maybe there's some information code inside like discarding the documentation these are all things i could i could look at as you notice this is not github this is gitlab actually because like many other companies we use different technologies in different parts of the company but we chose to display on the same spot the same kind of information why it is super confusing confusing if you have to go to that other tab or if it's named differently or not just not in the place where you would expect it so yeah this is this is their their project i can browse their source code because of course that's also linked um and and so on so i can make an informed decision if i could embed in this project and uh and help them you know i love this concept of inner sourcing and the fact that you're applying these open source development strategies to you know potentially proprietary or internal code and and i think one of the things we always battle with as companies grow larger is people duplicating work not being able to find documentation for something asking hey how did we implement that api again and and you end up having this sprawl of uh how do we get folks on the same page um and we actually got a couple of questions related to this uh in the chat here so one of them was if i wanted to introduce backstage into my company how could i do it and another very similar question i want to make sure i mention uh here as well is you know david is really interested in more information on how backstage benefits different centers cylinders of excellence at larger enterprises i think these kind of questions go hand in hand and you know i'll pass it to any of you here for how does backstage and this concept of inner sourcing and all of the things we've talked about how can people actually implement this not by doing everything at once and trying to solve everything at once i think that's the most important takeaway yeah you have to start small like many things in life find a group of enthusiastic people that could be a center or cylinder of excellence could be maybe that you have a developer experience organization but somebody who cares about the developer experience and wants to improve that then the thing is to find one thing to start with and just do that right and use that knowledge to share and to expand your community um that would be basically the way to to to get started and and uh building on that and he mentioned i see you're sharing some resources here uh i would love to kind of share these as well so if you drop a link to me i'll make sure that we share it with our audience here as well i want to make sure that they have access to these resources now one of the things i want to talk about backstage is open source um and feasibly it's it's free and anyone can begin to use it but for a lot of companies they don't want even the overhead of managing backstage itself um has spotify considered how uh sas based offerings might be built from from backstage of you know managing backstage itself as uh as a service for companies that maybe want to offload the management of backstage itself so we have thought about it um but we decided that that we rather invest in engineering backstage basically so backstage like you said is open source it's a cncf project and luckily people are able to build a valid uh and successful business around it so there's some partners here at the bottom of the site for instance roadie offers offers managed backstage as a service so that would be an example of of how you could could offer this service to other companies or use the service definitely we have one more question here uh from from carlos here asking how much the number of community shared extensions and components have grown in the past few months and you know i shared a few numbers in the very beginning and today we're seeing you know 15 000 plus stars on github 60 plus open source plugins but you know backstage new to cncf is an incubating project has only been open source for about two years what are we seeing out there as far as the growth in the project the development i i feel like it's been fairly exciting and i see himanshu showing the marketplace itself right now yeah so um backstage is basically like connects to your existing services and as i said there's hundreds of existing technologies to do like one thing um so naturally there will be like um plugins for integrations with like individual ci cd providers individual like monitoring providers etc uh but i think um i think one of the things that excite me personally about this plugin space in backstage is that the you can create a plug-in in like two hours just to show something but then you can spend like one year and build a gigantic software catalog plug-in um so yeah it's a platform and i think people love like reusing things like reusing components reusing like existing libraries and like within like basically um i think suzanne has a has an idea of like you have a box of legos and you want to build something um but yeah plugins are plugins are those like you build something and then you have this this backstage instance which basically solves all the problems that exist in your org one by one not um thing at all awesome and so in terms of in terms of growth like um i can remember at the beginning of the year we were like around 100 110 adopters i think it's now even more going towards 180 already so it shows like the momentum around this project and for each company adopting they one way or another invest in this project project as well so it is good to know that it is backed by uh by a lot of companies definitely all right folks we have about four minutes left here if you have any more questions be sure to drop them in the chat this is your chance to ask folks directly from spotify myself and brian uh as well as suzanne and ximenchu obviously the our guests from spotify here any questions that you might have about backstage itself now real quickly before we let go here uh i want to go around the room one more time and ask each of you uh one last thing of how you would kind of you know help people get started with backstage today anything that you want to leave with final comments how folks can get in touch with the backstage team potentially you have things like office hours i want to make sure you have a chance here so people can get in touch and learn more about the project moving forward get involved contribute that kind of thing so um he mentioned i'll start with you sure and uh there's a handy uh short url um susan if you can paste it in the chat which has like all the resources of those but as susan said um start simple um backstage offers solutions to a lot of problems if you have a problem of discoverability inside your org people can't find things you can solve that with backstage if you have the problem of fragmentation where everyone is doing the things on their own and you want to standardize it access can help you with that um or if you just need a developer portal like a front-end website where you can integrate bunch of things people can go to like look read documentation access can help you with that but don't be overwhelmed by trying to like adopt all things at once um find like one plug-in find let's say just soft templates uh understand read about it there's uh yeah if you follow this link you'll end up on the docks either or backstage we at spotify have created like tutorials to help you understand these like plugins and how you can use them install them uh try try it out locally as well backstage is has a wonderful support for if you just have your laptop you can run it on your laptop um and you can start experimenting with things write some yaml files here and there we have a discord group um if it has like over 6000 members if you join now there's like 500 people online ask questions there's a lot of people trying to help you out um of course on github we get about 150 issues and pull requests every week so you can imagine how many people look at it it's a it's a hugely like active community um so you will find all the support you you would uh want in this journey spotify has got you covered um if you go to backstage.spotify.com we have our we have our office hours which you can join and learn more about the project uh but yeah like we hang out in in discord on github we have community sessions monthly uh choice monthly you can join learn about what other adopters are doing um in the project um so yeah so is that anything to add yes and there's uh as part of the cubecom uh and cloud native families of events there's also a backstage con which is our first conference which is pretty exciting um and i think it will be uh it will be a good one so um yeah you can join uh you can join that uh you can join that as well i'm pretty sure eventually we'll place the link in the chat and we'll make sure that it's out there but you can still like register i think there's tickets uh something that's available and um yeah we we of course hope to see you there and don't be shy just book an office hour with us if you're interested take it for a spin it'll take you 20 minutes and you'll learn a lot and have even more questions probably when you're gone um when you're done but uh yeah it's um it's a great experience i think uh to uh to at least get get started using the content on backstage.spotify.com right i saw that you folks had a backstage con a day zero event at kubecon i think that just shows the amount of interest amount of sessions that have been submitted um that's that's really inspiring to see how fast the project is growing okay finally brian any comments that you want to add here i know that you are a dedicated essay working with backstage here at aws and so it's critical to our customers as well and i'd love for you to share how backstage has kind of impacted customers you may be working with and how it's integrating with aws yeah absolutely and i just want to say thank you all for joining us today from backstage it is absolutely wonderful working with you all and so for folks on the line um yeah we're actually working backwards from our customers all the time and actually receiving feedback on what plugins that we should be building in fact recently we released aws proton and aws code suite integrations with backstage so we're always looking for feedback um and also we are working with customers to help kind of start building out these developer experiences with their platform engineering team kind of to what suzanne was talking about earlier uh so sometimes we help out with pocs and whatever have you but nevertheless um we're here to receive feedback on any ways that we can help assist our customers and please reach out to uh myself manchester or suzanne and we can all coordinate so yeah all right and with that we're at the end of our time here thank you so much for tuning in to this episode of across support uh it's me your host psy venom was joined by these awesome guests from spotify that gave us their time today to talk a little bit about backstage and some of the crazy things that people are doing out there some of the awesome capabilities uh for being able to build developer pla portals with an open platform thanks to you brian for joining us today and with that be sure to subscribe and stay tuned for more episodes of across the board in the future and thanks for joining us bye bye folks
Info
Channel: Containers from the Couch
Views: 2,418
Rating: undefined out of 5
Keywords:
Id: mqhSmAFvQLw
Channel Id: undefined
Length: 60min 35sec (3635 seconds)
Published: Mon Aug 22 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.