Creator Toolbox | App Engine Management Center
a [Music] so [Music] and I messed up already that's a good way to start the Tuesday Morning stream got overly ambitious on how prepped I was for that you keep wearing the trainee badge for now I guess so hey welcome to Creator toolbox thank you for joining us I am Chuck tamasi senior developer Advocate at service now and uh this is a show to do exactly what the title says help you put tools in your toolbox you service now developers and AD admins and we've got some great stuff for you today before we get into that quick introduction uh as I mentioned I'm a senior developer Advocate been with service now since 2010 was a customer couple years before that and have a development history spanning into well let's just say I think Stone not stone stone something wasn't even invented yet I I think Stones were invented preate Stone oh my gosh over to you good morning everybody my name is Laura McManaman I am the newest edition as you can see by my slight faux paw with the live streaming platform this morning uh I joined at at the beginning of July to developer advocacy team uh but been a member of the service now Community for about eight years five of which at service now itself I a background making lots of low and mid code apps and excited to be kind of doing it now to help y'all and help me help you the best that we can and I'll take it to our special guest down below as well Brooks hey everyone uh I'm Brooks Hawkins and I'm a principal product manager on the app engine team here at service now I've been with service now for about a year and a half uh my focus is on governance and citizen development success and prior to joining service now at my previous employer um I actually started a citizen development program and scaled that to over 350 citizen Developers very nice that's fantastic she knows what she's talking about might have to bring you back on and talk more about that now you let the out of the bag well today uh if you're joining us here today today is Creator toolbox which is our standard live stream to cover in kind of a more formal way all the latest and greatest features coming out in the newest release as you many of you might know uh as of I believe Wednesday Tokyo will be out to the general audience which is Extreme exciting it's bringing lots of new functionality a lot of which we've already shown uh but one of the last messages to kind of cover as part of our new content is that of app engine Management Center app engine management center came out uh relatively soon it came out in the San Diego release so this is the second iteration of this uh entity but Brooks how would you describe the purpose and kind of uh the place the app engine management center has on the platform just for people that might not have used it yet yeah so AV engine management center is at the admin's One-Stop shop to manage all their custom app development um from request management to actually getting into visibility of what are my developers building what are they doing on my Dev instance and being able to look into what apps are in prod that have been built already so that you can start to monitor them as well that's fantastic so today we are specifically covering if we point up in the upper right hand corner of the screen with my left hand and smeared uh these are the specific Tokyo new features that we are be going to be covering today and so with that being said I will switch things over to Brooks to drive and show us all the latest and greatest and Chuck and I will add our comments uh where it is appropriate awesome all right so for those that not seen app engine management center before um this is app engine management center uh it sits on your production instance and with the power of our app engine pipelines we bring all the data to the production instance um so just briefly to what came out in our initial release from San Diego uh was our request management piece so with appen we ship a application intake requests where users can actually submit app ideas and the admin can approve these app ideas and actually select the instance that they would want the user to develop on uh and if the user already exists on that development instance but does not have access to AES already then once they approve this request so say Marcus does not have access already he would automatically be added to the app engine Studio user group and get the notification that his app IDE was approved and can go ahead and get started with his development we also have collaboration requests so inside of app engine studio if we open one of our apps which I'm going to focus on throughout this demo um we have this icon here so if a user wanted to add somebody to help them build on this app they could add any sort of collaborator um the admin can create different descriptors that have different permission sets so that the collaborator only has the right access within this app um to help them finish it so in this case David added AEL as a mobile developer to help him with his the mobile app for emergency alert and if the collaborator already has access to AES so in this case able already had access to AES his collaboration request would be Auto approved so you're not creating any bottlenecks within those requests um and you're letting the app owner really manage those requests but if abl Tor hadn't had access to uh a already then there would be a request that comes into app engine management center for the admin to review um this way no one is getting access to app engine Studio without the admin actually reviewing who that person is what are their skill sets and making sure that they're ready to actually develop an app engine Studio this is fantastic because I know that when I worked in so my job prior to this was solution Consulting so I was the a lot with customers um prior to purchasing something like app engine Studio or excuse me app engine General and one of the biggest hesitancies was governance you see that a lot with these citizen or low and no code apps of like hey we don't want it to be like the wild west of development we've seen this happen time and time again with similar you know um older platforms so this is kind of not only providing a a union of uh visibility into all the types of people and applications running on your various instances but also the governance pieces that were kind of set up in the past but now you're kind of providing a nice like Union between those this is fantastic yeah absolutely it's I mean while there's a need right to expand development teams outside of your core service now team there's risk involved in that there's a lot of work that goes into it and our goal is to make it as easy as possible for both the admin and the developer so the platform can be protected but developers can still do what they need to do yeah something else I'd like to add in here that I was uh inspired by app engine management center is the fact that you've got that intake available to you and and think beyond that as developers when you're making custom applications build in some sort of support mechanism to your application extend that task table so that your app has maybe you're you're dealing with a custom application for customers on a portal they have way from that portal to say I've got an enhancement idea for your app or I spotted an a potential issue or I've got a data Integrity concern you these are ways that the people can interact with you to reduce calling how do they get support got ideas like this especially for those very bespoke applications I just saw a demo this morning that uh somebody made uh like a restaurant waiter application where they take their mobile application they say table six wants you know a steak and potato dinner and two large Sprites you know it and it's like okay so what do you do when you've got an idea for that or the waiter has an idea for that or the customer spots an issue or you know think about ways to not just fulfill the core requirement of the application in this C case app engine management center moving those apps through the the the cycle of Dev test prod knowing where they are getting the approval do the pipelines that kind of thing but also those those secondary and tertiary activities how do users fully interact with your system so didn't want to pontificate too much about that but it's a great idea to think about yeah and the and the the uh intake form is a standard catalog item so it can be customized and you can add questions remove questions whatever makes sense right so if you want to collect that information up front like yep who's going to support this when it's in production and make sure that you have all that documented in that intake form you can definitely do that and think about that entire governance process from intake all the way to an app actually being in production the question of ownership after development is one I would argue should be on every intake request having being bitten by it before Oh I'll volunteer for this project wait why do I own this now just make a new catalog item for uh you know like last will and testament of my application should I leave the company I Beque this application too yeah yeah absolutely all right so then the third type of request is our deployment request um so in this case I Am imperson David Lou and he has built his app for emergency alerts for BH Bakery Corporation um and he's ready to submit it to go to production so he's on development here he's going to put in some release notes um I'm going to put in something very simple hopefully David actually would put in something more detailed for the admin and then he's going to go ahead and submit that request and jumping back over to production and app engine management center the app engine admin um can now review you can see now we have a new request that has come in and the admin can actually review these apps directly inside this visual pipeline so the admin sets up these pipelines for deployment and this is what actually helps us get all the data from other instances into production um but it's also what we use to actually deploy apps to production so you can see there's this new request for the BH Bakery Corp emergency alerts app uh and it's the reason this is empty right here is because the flows in the background are still running um but if I open one of the apps that are is already ready to go to test you can see you also have this visible visual uh pipeline here in the requests in the notes you're going to have an app manifest uh this app is a little bit light only has a couple of file types here but it'll at least give you an idea what types of files what types of tools are being used inside of this particular app lots of app details including a URL on dev if the admin needs to go look at what the app is um requestor details deployment details if you had multiple pipelines you'd be able to see you know which development instance did it come from what pipeline is it in and where is it going next once I approve that it's going to go to test and it's actually going to generate a new approval so if I jump to my testing uh request here and it's going to take some time for that request to actually run um because we are running some ATF test cases and instance scan checks on that app so any app that is going through a testing type instance are going to have those Suites run automatically and every customer can customize what test cases and checks are inside of those Suites they can add whatever they need to make sure that their apps are adequately tested um and those results are written both to the activity stream just a summary with a link to the actual detailed results and then also to our deployment Environ results table so you can quickly see how many test cases uh were successful if there were any failures if there were any instance scan findings and you can see now instead of four approvers and one group approval there it's doubled because we regenerated a new approval on the same deployment request and so now the admin can come in review the test results and then approve it to go to production now this is something that is really really peing my interest because in sales I was always horrify and shocked how few people utilize something like ATF so ATF if you haven't heard of it is the automated testing framework that service now has had for a couple of years now I would argue right Chuck at least two yeah not longer five or six it's been out for quite some time it's been out for a long time um but basically you know in computer science they sing the Praises of what's called test driven development you know kind of setting up your tests and imagining how you would uh see like edge cases and how your applications would handle that from the beginning it promotes a lot of really good developer behavior um so seeing that type of again Union it's like bringing together all these pieces of service now within app engine management center so seeing the results of that built in U I couldn't I couldn't sing the Praises of that more because it also promotes people to use it more often it's F it's a huge huge way to avoid a lot of um burnt out time with just doing Simple tests that are the same every time you deploy yeah absolutely and helps you know as you're growing that team to make sure you're not creating bottlenecks and creating more work for the admin teams yeah um and these pipelines are completely configurable uh customers can create create as many pipelines as they want and every pipeline can have as many environments in the pipeline as needed um so they could have four they could have five they could have two it's up to the admin the only thing that needs to be unique on a particular pipeline is the development instance so we've had customers that have two development instances but one testing and one production so they would actually create two Pipelines each one has a different development development one development two but their testing and production are the same and that way they can segment their they can keep their development segmented but it's still using this automated pipeline that's all controlled through production in app engine management center what would be a use case in which someone would use a different pipeline uh for an application ver like for one application versus another yeah so it's usually based on how the admins have their development already set up or in some cases maybe they're extending to Citizen development and they want to keep their Pro developers on one development instance and then they want to spin up a new development instance that's specifically for citizen developers um so that would be a use case we've also seen customers that have maybe a development instance for specific departments maybe one department does a ton of development work and so they need their own development instense so in that case they would have their own development instense and because you have multiple development instances you would need multiple pipelines and then the third big use case would be once you have a more mature um development program especially like citizen development program is you might want to have more of like a dynamic governance approach so when you're doing those intake requests you might say oh this app super simple form based standard catalog item not a lot of complexity it's for one team to use not a lot of risk maybe it doesn't need to go through a testing in stage instance maybe you just it's a development to production app yeah you're just changing the color of something or something simple like that exactly um and then you might have apps that are way more complex that need to go through a development testing Stage production um and so that's a different way that you can do pipeline so it kind of depends on how customers set up um but there's definitely different use cases for having multiple pipelines gotcha thank you sure right just so I'm clear Brooks you in your first couple of instance in your first your first couple of examples you had uh multiple Dev instances for those multiple pipelines you can do different pipelines with a single Dev test prod for example correct yes you can do multiple pipelines with a Dev test prod yeah they the same number the only thing that needs to be unique in a particular pipeline is the development instance and then that's just because like if you open this we need to know which environment the request originated from okay but it maybe I didn't ask it right I just it's still not clear in my mind and hopefully I can help somebody who's watching as well the uh let's take the use case of uh you know you've got the the simple form or catalog item based application you just want to go Dev to prod but I've also got more complex apps that need to go Dev test prod with the full ATF instance scan everything around that with that good dog good dog it's all good would those two different pipelines imply that I need two different Dev instances with the current way our pipelines are set up yeah they would need separate de instances yeah sorry about that we had and somebody come to the door and ring the doorbell it is all good it wasn't me yeah um wouldn't be a zoom without an animal sound right way absolutely uh yeah so currently the way the pipelines are set up you do have to have a you would have to have a separate development instance um even if you had those simple forms uh so if you had right like you had a citizen development or maybe you had de instances that are you use based on governance level like you have one that's like I just want all my simple stuff here and my complex stuff here um that's a way that you could do multiple pipelines gotcha okay all right so that is a recap of everything that came came out in San Diego and now we're going to get into Tokyo wooho so here is our applications page so you can see that there is a summary of all the apps that are in my development instances that are defined by pipelines and production so we have summary about how many apps there currently are total across both instances how many apps are in production how many are in development how many are in an active deployment and then we break it down by department and so we use what the collaboration descriptor owner to decide you know who created this app and which department um that person belongs to so this is helpful when you're expanding outside of it to see you know which departments are actually utilizing AES or app development and building their own apps and you can actually come in here and open a deployment request and or I'm sorry not a deployer an application record and you'll be able to see the deployment history of that app as well as any collaborators on that app as well as some of the descriptors um and so you can you know make sure that you know what's happened with this app you know maybe someone has put in a re or a ticket that you know the newest version of Bakery Corp emergency alert something's wrong with it so um we need to let me go see what the deployment history is when did it go into production has it actually like if there were multiple deployment requests here uh did we push something recently that caused a bug so that's a quick way to see deployment history for a single app um and then just seeing that activity of what custom apps are being built and so the we're bringing in any app that is a custom app that's on the CIS app table so it's not just limited to apps that are created in app engine Studio nice that's hug and then next up we have our developers page so similar concept here you're expanding that development program you want to know who has access in your development instance and so we're bringing in any developer that has access that's part of the AES user group or has the AES user role and any developer that has a delegated development role so again not just limit limited to AES um you'll be able to manage any of your your developers breaking that down by Department this is going to show you the developers that have been active in the last 30 days um so you see I have 28 developers that haven't really been doing development so you need to go through and make sure people that have access still have the right access you'll be able to narrow down you know who's actually using the development tools and then I can open up one of these developers so I can open up David blue and I can actually see any of the apps that he is a collaborator on and then I can see his full request history so any intake request that he has submitted any collaboration requests any deployment requests and so this is just you know the start of the information that we're going to be bringing in on apps developer to help admins get that full visibility into their custom app development yeah and see if they're actually using the the permissions that have been granted to them too because obviously like you said earlier like obviously you don't want a team to be one king to the castle but with every key that you give away it could be seen as a security liability so we want to make sure that people that have access to stuff for a using it and B using it correctly and this definitely gives a lot more information on whether or not that's true or not yeah absolutely you I mean that's part of like mitigating that risk is you know making sure people have the right access and um making sure that you're not having you know app sprawl in both development and prodct in production you want to make sure that you're you know keeping some tabs on what's going on on your instances what is the uh the little blue so is this information obviously this is probably P being pulled in from like an active directory or just like the regular user table correct yeah it's from the user table um so any of the information on the user table um in production so we are actually pulling getting all the developers from the development instances um based on what is defined in the pipeline and then we're joining that up with what's in production to to get the user information knowing that production is typically the source of Truth for that type of information yes I was about to ask I like because these are usually uh on the developer instance right to access like the Management Center so yeah so well AMC sits on production um oh that's right correct yeah yeah but the developers all of these people have access in my Dev instance but I'm viewing it from production and that is actually that was the Tokyo store one um release that should now be available uh to anyone that has GA for Tokyo um we are this portion the application developer pages are dependent on the on Tokyo family even though the app engine management center is a store release fantastic are there any uh so if if people were liking to go if they hadn't had app engine management center activated on San Diego are there any uh tips and tricks that if they saw this and were really excited about it and they're an app engine customer is there anything they have to do specifically to turn this on uh so it's just a only for license in they would need to just make sure they have the correct license to get app engine management center um but they would just download it from the store and it's a pretty simple setup um especially if you already have pipeline set up it's he App Management Center is heavily dependent on pipelines um so besides setting up pipelines and then the intake requests if you would like to use that uh the only thing you have to do is actually install AMC and promote it up to production so that you can use it love that was there anything else or there any questions from the audience that we missed Chuck or no lot of good positive feedback but uh no questions at this point we can always give people a minute to do that uh just want to want to thank you Brooks and a reminder to everybody that we do have a podcast with Brooks coming out tomorrow on September 21st as we record this on the 20th you can find that at devlink dosn breakpoint we have all of the Tokyo content on our Tokyo page so Dev link.not is where you can find all of that to stay stay informed if you miss something there's links to the existing content if you want to know what's coming up there's still several weeks left in October and into November for Tokyo content uh We've even had a few product managers reach out to us and say Hey how do we get on that calendar and we're trying to find find the opening so that we don't break Earl Lauren or me but everybody's all excited about this stuff and uh we're happy to bring it to you yesh Kevin Eldred says how did it make the connection from PR to the other instances I might have missed that if it was mentioned great question yeah so we are using for our pipelines for like all the request management piece we when you set up pipelines you set up these environment fields that have credentials the URL the instance ID let's see if this will there we go um so in this case I have you know my development production testing I have credentials and then I've set my production instance to true for is controller and so the production instance actually controls everything that's going on with the pipeline um and we're using the flow designer and cicd spoke so once a user submits that request that deployment request in development we're going to publish the app to the app repo once the admin approves it then we're going to figure out which environment is next in the pipeline which is defined on the pipeline table so in this case you know we ordered the different environments testing being the second one and then production um and so once the admin approves it it's going to be installed on test runs all those ATF instant scan checks um and then you repeat that through the pipeline uh for this part for Tokyo store one we have we're using remote tables using the pipeline and the app engine management center plugins so we need the plugins installed on subr instances um and then we're using this pipeline information to actually send that data to production in a remote table this this makes update sets look like you know a house of sticks and dirt it really does and this is a five star hotel this is awesome we got another question from binder he says how do enhance how how are enhancements managed via AMC um so enhancements would be the same thing and it can be dependent on how the customer does their enhancements right so if you already gave you know David Lou access to AES and you're just like you do your enhancements and then submit a deployment request whenever you're ready then they just have their access they do their enhancements they put in the release notes submit a new deployment request if you want to collect enhancements as part of like an intake request you could add you know some questions in the intake that you know toggle is this enhancement is it a new app um and have a process around asking your developers to put in requests for enhancements once you approve it they can go in add the enhancements and then they go through the exact same process um so some of the apps have actually already been to production multiple times and they have a much longer deployment history I think this angry kiden so here you can see Angry kiden has actually been to production twice um and has two different versions and this would be the latest version in production nice so you got history of of what's been done I love it yeah exactly cool angry [Laughter] kitten well I don't see much more Kevin says I don't want to use update sets anymore so I think this is a success feelings Mutual yeah tuck your boss into that app engine license if you don't already have it this is where it's gonna pay dividends that's that's all I see so thank you very much Brooks again everybody if you want to check out the Tokyo content Dev link. snokyo is where you can find that uh we've got a podcast coming up General availability for Tokyo is available starting tomorrow so you can start upgrading your sub prods and well if you're brave enough upgrade prod tomorrow check with your R Qui Ste first that's true and uh you know where to find us if you got any questions or comments thank you again Brooks thanks for pushing the buttons and getting the comments and things in there Lauren and everybody take care stay safe and we will talk to you real soon bye [Music]
https://www.youtube.com/watch?v=fDvEqAQIHzQ