 مرحباً, كوب دي ، مرحباً ، تلعبني! مرحباً ، لذا ، قبل أن نبدأ our session today عندما أعلم بأن كوب دي يأتي إلى إصرالي فأنا أعلم بأنه في صوت جيدة لأيالي ويأتي معنا اليوم في الجهة ويأتي مع أنه لا يعلم ألعب الإنجلي ويقوم بصوت جيدة لأيالي هل أنت تستطيع أن تتعود؟ حسناً ، هل أنت مستعد؟ شخص أرى مزال طاقة! مزالتو حسنا مزالتو حسنا now that we are done with the important part and the less important people are here on stage so I'm here I'm Arthur Bresen I'm the founder of a company called Stage Central we are focusing on backstage and today we have Antwice with me my partner in crime yeah I'm Antwice I'm the CTO at Stage Central and I like to call myself a software delivery futurist and I love open source do you love open source if you love open source say aye great a lot of open source lovers here and we're here to talk about an especially exciting open source project and that is backstage who here has heard about backstage have you heard about backstage okay some hands that's good if you haven't heard about backstage you definitely will look into it after today's session so backstage was contributed by Spotify to the CNCF about a year ago and became super popular project with more than a thousand enterprise adopters and more than gazillion stargazes on github so definitely highly popular project so what is this thing called backstage what does it do what is it Anton oh that's easy after backstage is an IDP IDP so IDP you mean like an identity provider like a key cloak is that what you mean yeah I understand the confusion no IDP actually stands for well some folks it says stands for internal developer portal but other folks say it's an internal developer platform it's platform alright but I actually I have to say it's an internal delivery platform because it's it's not for you know it's not only about developers it's also for the ops and the testers actually all players of the software delivery game they can all enjoy this thing so you say this platform word quite a lot does it have anything to do with this whole platform engineering trend I've been hearing so much lately yeah yeah yeah well let's dig deeper into that so coming back to myself there's a growing understanding in our industry that in order to achieve that effective collaboration that speed of delivery that the DevOps approach was preaching right we need to take all of the complexity all of the services and functions and APIs and terraform scripts and helm charts and CICD pipelines logs metrics you name it we need to take all of that and somehow build all that into an internal delivery platform that will allow us to have that effective collaboration that speed that we so much need and that's basically brings us the discipline of platform engineering awesome so I will definitely would love to unify all of my systems into one coherent platform so what do I need to build in order to get started well in order to have platform engineering today first of all you need to have software catalog so basically that database that enlists all of your assets and all of your teams and users and services and tools and connects all of them together then on top of that in order to abstract away the complexity you need some self service workflows and templates that allow us to do things in a cost effective way to do things fast to provision new things to create new things easily and then we of course need to be able to integrate with all of the existing tooling we already have and with all of the tooling that we are going to add in the future because the stack continues evolving awesome so like a service catalog like self service workflow templates integrations to all of my systems but cool but does it have to do with backstage though well the good thing is if you want all this you don't have to start from scratch there is a great open source and that's exactly backstage and it has these things baked in so it already brings to the table the software catalog data model and the basement for building the self service workflows and templates and it has the integrations the community has already created close to 100 plugins to all kinds of use cases and it also had documentation as code as a pattern built in and on top of all that we have the presentation layer the customizable UI that you can adapt to your needs so yeah awesome so I'll just go to this nice little website backstage.io download the tool populate a few service for you a few items in the service catalog create a few workflows and I'm a platform engineer alright oh yeah yeah too easy right we've been in this industry for too long to stop believing in magic sadly and that brings us to the pitfalls alright so we've been working with we've been talking to dozens of backstage users and talking and working with few customers implementing backstage and we've realized that there are four common things that you would need to plan for in order to implement a backstage project so Anton the first one you want it you build it exactly so the thing is the backstage was built at Spotify by developers for developers that is to say it wasn't built with the ops mindset so basically even though the website says that it's a platform for building IDPs the fact is it's basically a framework that allows you to scaffold a React.js application with some Node.js backend and to do anything useful with it you need to start editing type script right now folks who eventually find themselves having to build, manage and evolve this thing they're platform engineers in most cases these are your rebranded DevOps folks any DevOps folks here in the crowd I'm a DevOps person right DevOps platform whatever what are your tools of choice usually so probably you know Python right maybe some go but most of all YAML right loads of YAML we're all YAML engineers today so writing type script in order to manage things it's not something we're used to do it's definitely a skill set that most platform engineering teams don't have what we see most organizations we talk to having to do is standing up a whole new development team in order to build backstage and continue evolving it and that brings us to the second pitfall so production you build it you own it and as Ant mentioned backstage is essentially a development framework which means you get to create your own version of an IDP based on the backstage framework and you need to ensure that it's ready for your production according to your production standards so everything that you would think of in production environment you need to take care of it so you need to create docker files if you want it in containers environment do you have a single docker image do you have multiple docker images you have to plan for it do you want to maybe split that into multiple versions or multiple parts once you have that you need to think about writing it in Kubernetes production Kubernetes is obviously the place to go where else Kubernetes of course do you create helm charts customize maybe integrate Argos CD to deliver the builds and when you onboard it in Kubernetes create your own YAML files if that's your choice you also need to take care of availability resilience and scale in order to serve all the developers demand of the tool are you saying none of that is included nope no batteries are included when you need to take care of that we bought a car we got the engine okay that's a fun ride so next up plugins so as we already said a great IDP has to have integrations it's one of the core functionality that we expect from it and backstage is highly extensible in that respect bringing the concept of plugins to the table and as I said the community has already created close to 100 plugins for all kinds of tooling and use cases but when we look when we look deeper into that we'll realize that in order to add a plugin or configure a plugin you need to again edit TypeScript you need to edit the code you need to rebuild the application and then redeploy the whole thing and then pray for everything to continue working so what we see teams are doing they need to stand up a staging environment in order to add each plugin just to add a plugin also to configure a plugin they need to rebuild the code redeploy it and pray that it doesn't screw up the whole thing and that brings us to the last point which is adoption adoption the fact that you deployed the tool created a service catalog created a self-service templates that's awesome it doesn't necessarily mean that the developers are going to use the tool ensure that you collect all the usage metrics ensure that you measure the engagement of the developers around the tool to ensure that it actually fits their needs and works through their common workflows and integrate it with the communication tools that are already in place yeah and you need to bring the data and actually some of the teams we've been talking to they spent like a whole year to stand up an IDP to solve all the technical problems and then they find themselves struggling with bringing in the developers and you know an internal developer platform is actually no good if there are no developers in it that's right and forcing your developers using the tool definitely does not work yeah yeah and developers are stubborn they're busy doing the hard work yeah so to sum it up platform engineering is the way to manage a software organization definitely platform engineering is the way we do DevOps today in order to have platform engineering you need to have an IDP if you want to build an IDP definitely start with open source start with a CNCF project that's backstage and if you want to build on backstage watch out for the pitfalls which are make sure that you are ready for a development project on board backstage make sure that you're ready to run it in production environment that's number 2 make sure that what's the 3rd one the 3rd one is that plugins aren't really plugins that's right and the last one adoption definitely think about adoption before you even start building think about the way organization works and how you're going to bring everyone on board and with that actually well if you want to learn more talk to us and some folks have already told us that they like this t-shirt so for a chance to win one scan the QR code alright thank you coupe day and enjoy the rest of the day