Platform Academy Session #29 - January 19, 2023 - Managing your Deployments in ServiceNow
so uh welcome everyone um I see a lot of new faces this is our 29th platform Academy session the first one of 2023 my name is Lisa hoonstein I live in Germany and I run this Academy series I've been doing this for about one and a half years I've been at service now for almost four and in the servicenow space uh for over six years now almost seven I am very glad to be joined by some of my colleagues from our product success management team uh they're responsible for parts of the uh for the now platform and create our workflows I'll let them introduce themselves one by one please introduce yourself our main speaker today is Miguel hey my name is Miguel daenery I am part of the product success team here at servicenow and uh we work with the platform Foundation or platform stuff and I've been at service now again just like Lisa almost four years I'm like two months shy four years but I've been part of the ecosystem for about 10 now I'm based out of Washington DC and welcome and thank you and I want to say thank you and I appreciate you guys spending time with us today absolutely Jared hey good morning good afternoon everyone I'm Jared Muntz I work on the team with Miguel as a product success manager focusing on the core platform things and also the data protection Technologies um and uh last but most awesome is Paige who will not be speaking much today but give it please give it a small introduction sure um so obviously I I don't have much of a voice right now but uh I'm Paige Duffy I also work on the same team with Miguel and Jared so I'm a product success manager here at servicenow for about a little over six months but I've been around service now since it's been about 13 years Matt about this hard right now so um yeah that's what all of all the voice I've got right now thank you still thank you for joining us so Paige will help keep an eye on uh the Q a and chat so as I said um this is our uh 29th session today we'll be speaking about managing your deployments in servicenow just in case you know our lovely uh Safe harbor side if there's anything that we're going to be um mentioning or alluding to that may be forward-looking statements please don't make any purchasing decision based on anything we talk about today and then I think the next one is a housekeeping oh yes of course webinars now do the webinars first so uh I am very pleased to see so many uh new names joining us today uh welcome back or welcome to this platform Academy we have a number of other Academy sessions in our portfolio uh we have our colleagues speaking about next Experience mobile virtual agent analytics and all kinds of awesome stuff and you can find the registration on the same page that you signed up for today uh and then the housekeeping items so we save time for Q a but uh depending on how things go we might pick up questions uh during the session please use the Q a panel in the bottom of your Zoom window and with that I think I can hand it over to Miguel yeah awesome thank you Lisa uh before you begin we have a quick poll um and we just want to know what what are you guys using for deployment methods right so there's one through four one of these questions are going to give you that side eye judgment look but no no question is wrong so uh there's update sets and Source control app repo and then I only work in prod right so uh we will cover these today if you don't know what some of them mean uh no worries but we definitely just curious to understand uh what what you guys are using out there this is a multi Choice question too so you can choose multiple options I love the members who work in prod it's already 15. they're guilty for those random configuration changes in the past I'm guilty of that as well yeah it happens right it happens a lot of time right so sometimes so we're looking at about um over 80 percent who replied already uh over 90 use update sets uh just three percent one person has dabbled in Source control so it's good that we're talking about this today and 23 percent are using application repository good that's awesome that's good it's typical good good to see that right yeah yes all right let's go to the agenda real quick uh just just to understand what we're doing today um we want to cover application components and scoping and that's just kind of like a contextual layout of of so we mean the same thing right so when I say like application files or components we kind of mean the same thing and then we're going to talk about application scoping which is which is important um because it opens up a lot of tools that you can use within servicenow um deploy methods right this leads into deployment methods and this is more like what can I use to to move my code through my stack and then uh finally it ended off with its strategies deployment strategies and architect like what does it look like how can I enable it and then what are the strategies around it right uh so let's go let's go ahead and jump into the Apple application components and scoping again this is just an understanding so when I when we say it looks at the application follows for components this is what we mean and and then when we say Scopes right application Scopes there's actually four Scopes we use in service now and it just goes over like what those are right because the traditional uh scoped app which is the X underscore company name the servicenow apps which is SN underscore and then the name the store or the third party apps you get at the servicenow store and then your Global scopes um and a couple of things in in the application components or files um what we don't we don't capture right today is the data in those tables right like uh records and incident right we don't capture the actual incidents it's not it's not considered an application component you can force it right you can you know force it into an application file but natively traditionally out of the box we don't consider those application components all right uh let's jump into scoping all right uh this is a visual representation of what we just covered on the scoping level um you know your custom apps which are your scoped apps your Global apps and now a little bit I'm going to talk about global app bundles right something new well new-ish um and it's really important that we mention it because uh it's gonna it's gonna apply later down when we talk about the methods and then your servicenow store app right um and then you're out of the box scoped servicing out of the box scoped apps right like your employee service center for some of your HR or CSM components right those are like even though they're they're serviced now I'm out of the box they're still in in a scope all right Pop Quiz when did scoped apps come out do you remember what the release was that they were first introduced uh if your answer is in chat let's have everybody answer yeah I want to say either Geneva right before Geneva think think right before Geneva yeah Helsinki yeah yeah the other the other way I'm uh as I remember it I see where I have some things coming in Geneva Jakarta era I don't want to take up too much time it's just a random uh random Pop Quiz but uh I believe the answer is Fuji Fuji wow but uh nobody used it they were quite buggy at the time a lot of cross scope issues uh so if yeah going into Geneva was more of the you know actually using era I think it started with with scoped apps then because my first instance that I worked on was a Geneva instance yeah likewise that's my actually my first my first dabble in the service now was with the scoped app so and I remember that because the first pdis came out and they had uh Fuji loaded on them nice so another Pop Quiz question for history uh for someone a different day cool all right Global bundles back to the topic uh Global bundles of something introduced in the San Diego airish uh release um and what it is is it gives you the ability to create an application inside of inside the global scope right so we like to refer it as a global app bundle and it's not the same as a scope app right and the the subtle differences in there is the security feature and traditionally in your in your scoped apps you can designate delegated developers or the collaborators that new feature that came out recently right so either have delegated developers or your collaborators you don't have that ability in your Global bundles right so um just keep in mind that if you decide to double that doesn't have the same security features you know it's not the same walled off Garden right people can still access the global things if they have Global permissions and modify those things right but what it does do is allows it opens up the door for you to use Source control and app repo with your Global bundles right so um it's it's a game changer I think right it helps a lot of people it also helps with management of your configurations right so it's like you want to go like hey what what changed them out of the box right instead of going to like the last update and who did it right you can just simply go to the application say oh it was changed with this itsm app you know Global ad bundle all right uh next question next slide is the sorry next slide is the uh application customizations um a lot of the times people buy an application that's a 90 solution right which which but that other 10 is what you need to modify for for your needs right so that's what we call application customizations and it is a scope app right but it sits on it kind of sits on top of that application you bought and then you make modifications to work with it right and if you ever modify them and change it inside your um my company app menu in there you can actually see two different changes now you have the the latest version and then your customization version right so you can you can track what's going on um it's important because you manage it the same way you do any of the development so you just wanted to call it out here yeah great core feature that was that was missing for a long time uh if you were trying to modify security incident response or something in your environment right right and and sometimes like people's like it doesn't work if it doesn't work in studio you can just switch to the UI interface and it'll still capture it right so a lot of the times we get like hey we try to modify this right but customize an app and it's not working but it doesn't really sometimes most of the time it won't work in studio right if it doesn't just switch to the UI interface make sure you're in the right scope and it should work it's just so it still should work yeah and this is going to become even more important um in future releases when we have uh when we I think we have a future platform academies uh where we're going to talk about upgrade plans and uh this will be one of the things that flows into your upgrade plans and makes your time to upgrade uh really easy great great point all right so now we're going to go over deploy methods now before we go there let's take a stop and see if anybody has any questions about the things we covered or comments or anything no yep we're watching chat nothing nothing has popped up but feel free to yeah throw stuff in the Q a and also the chat and if you guys have any questions man just go ahead and throw it in there don't don't feel like you have to wait right we can we can manage as we go I want this as an open like an open Forum as much as we can all right develop methods one coming in what apps make a bundle so global app bundles are basically stuff in the global right um let's go back to that slide right so global app bundles is basically things in a slide let's close this out uh so incident right so incident is a common one um PPM is another common one right they sit on a global level right there's no really like scope for it but you want to make modifications for it so what you would do is you create a global app bundle and capture those changes in that bundle and and that's even though it still sits in that Global scope it's in an application right so you can easily distinguish the changes in that incident table based on the application and still keep it on global yeah I like the name app bundle better than uh Global scoped app which is what we used to call it because then it still had that word scope in there global app bundle I I really like that um standardization it's easier to distinguish right because we were saying like it's still an application but it's still Global right so it's like app bundle is like the perfect word for it yeah so does that help clear up your question let's go keep going all right so deploy methods so the common most common deploy methods that we have are your update sets right your Source control and that's just the integration to get from Studio so whatever get repository you're using is just an integration from servicenow in studio to your repository and we call Source control and then application repository or app Replay as we like to call it and that's servicenow is kind of product and version like product and functionality we use uh for same thing for cloud for code deployment and build a plan all right and Jared's gonna go ahead and talk about updates that since it's near and dear to his heart yeah I'm a fan I I always uh take the side of update sets on internal discussions where we're uh play Devil's Advocates you know Source control versus app repo which is better uh so yeah I'm kind of known as the the update set proponent uh because it is it's that trusty hammer in your in your tool belt it's it's been proven over a lot of years uh as the poll showed when we when we started the presentation that's uh a large majority of what's in use out there in the world um getting stuff into production and so that also means it's the most known I think we bumped four to slide uh oh sorry but uh yeah it's the most known out there in the world for uh administrators developers so uh it's it's kind of proven um yeah we and depending on your organization you might have one update set per story One update set per release it just depends it's flexible in that capacity I don't I don't know the trivia on this one when batching was introduced I'm gonna guess knowledge 2017 is when I found about found out about it was my first knowledge it was exciting I learned about batching so probably Jakarta era then yeah that was good yeah that was going to be my guess uh Kingston so uh yeah close enough yeah you can you can move things between instances either you know directly connecting it with a set of credentials uh that no longer is required to be a full admin to for that service account to move things between uh instances you can export to a file and email it to somebody and import that way so again it's it's flexible uh I like that we called out uh includes delete records on here because uh when we get into the other Technologies um there it isn't automatic for deletes you can you can get them in but it is it's it's not obvious and it's not automatic on some of those other ones the um yeah some of the criticisms and weaknesses of the update sets are different developers can step on each other's toes um whether you're working in the same instance or different instances there is that potential uh the updates that preview is a is a relatively simple preview it's just the last person to touch the record wins and so even if it you know a script include has some older data into it it's uh a chance of of including an old function and a script include because of how different developers are are working on it and it also yeah there's there's not published um supported apis it's it's not part of our out-of-box cicd spokes to move update sets there is some uh Community movements on that um before I join servicenow um that was one of the sessions I did with uh live coding happy hour with Andrew Barnes and Brad Tilton back in November of 2020. I looked it up before the show today uh where we we did some updates at automation with integration Hub created a custom action that that called some uh hacky script include that used some of the same um functions that sir that the servicenow UI actions uses to prove updates heads but we were just doing it with integration up so um everyone wants I think we'll talk a little bit more about how it works um on a later slide but yeah in in the world where everybody wants better faster and stronger uh tools to keep evolving uh I would say my comment with that is within update sets if you want to stay in update sets but continue the evolution uh think about it with that build versus buy conversation there are some partners that are that are focusing on this uh and have some products uh for sale um and so I'm I haven't haven't personally installed and used them but if anyone has used any of those Partners uh I can't think of any of them besides x-type.io at the moment but uh I'm interested uh reach out if you have any feedback and have used these products um and then also the build versus buy buy or you can roll your own you can hack together some things with what's published out there on the community right so one more thing I wanted to point out is the batching with batching you're able to deploy across different Scopes right yeah and it's important because you can't do that with you you can't really do that with the rest of them right so in one batch updates that you can have as many Scopes as you can and it'll still deploy as you want foreign before we move on to the next topic we'll pick up the ones that are about update set um so one is uh when pulling update sets from one environment to another through an update source is the connection required to be asig auth I'm gonna guess yes um on that because it's uh it's actually talking to a processor on the remote instance and the processor is kind of like the precursor to the script through rest apis and I'm not sure um if if those are if that's even customizable um I know the the role uh is able to be for that service account can is is not a full admin anymore but I think the that connection is not configurable um at the moment uh other uh shout out to other products like uh adaptive authentication and rest API access policies where you can enforce um IP restriction and uh you know Force oauth for example for your other API endpoints and table apis and things like that but the instance to instance communication for updates headside um I don't I don't think we can force that to be oauth um which is what I believe the question was going after so another one about update sets in chat can update sets be used to move initial configurations for plugins between instances so for example to make it installing and configure service graph connector for solo wins on all instances I think that's an awesome question oh now I just now see that page has Instagram chat yes yes I was actually going to also recommend that you might look into upgrade plans I'm being told um that they may include they may be able to include some things like turning on plugins as part of the upgrade plan I'm not 100 sure on that they are part of Tokyo though so correct yes I love Paige's answer in the chat I don't have anything to add to that but yes another shout out for a future session on upgrade plans because installing plugins is part of the upgrade Plugin or upgrade plan orchestration steps yeah so I think the Roar about so maybe we'll continue and then pick up those questions later we'll get there all right sure so Source control is our next topic right so uh with Source control obviously it has a string strengths and weaknesses I'm not going to go over all of them but I do want to highlight some of them right so one of the strings that I really like about apparepo is that it opens the ability for your cic apis right this is like it really is like a true of semi-true right almost automation of of your pipeline from either servicenow or your git repository right so like GitHub gitlab you can use git actions and there's actually some videos out there and I think we posted it on here where Charn um or the inbound pm he he actually did a video on doing those right so um it's one of the things that I like about it where I call it out like you can really automate this um another thing about um Source control is select the publishing right and what I mean by that is you have the ability to create branches within service now and you can switch between branches as you go in development right so an example of that is like working on your app you know you're working on Sprint 2 branch and then a break fix comes in right you have the ability to switch off that Branch create a new Branch for your break fix and then publish that or merge it to your master and and the stimulate you know to distribute that out right and then and then when you're done you can come back and work on your Sprint tube Branch right so the selective publishing is really it's really a nice feature on that um again delete records right captures delete records but some of the challenges we have with Source control and and I really want to point this one out in particular is that there's a limitation about the ability to use those branches on a single instance right so um if you only have one Dev environment you can only work one branch per application on that instance right um so an example of that is that you have app a and you have two Dev teams working on app a but only one instance and both of them have different branches that means one time a one team at a time can only work on the application if they have two branches right so app app a team a has team a branch one instance they can only you can only work that one branch per instance right so it's a limitation um it's better for you to understand upfront right and help you make the decision if this is the right tool for you now if you have multiple Dev environments then sure right every instance can have their own branch and you can work on the same application right so you know keep I want to re-emphasize this right well one one branch per application per instance uh another one is is the knowledge and you get repository right we're asking you you know you have to have that knowledge because there's you there's a couple things you need to do in your repository right for every scope in servicenow means it's own repository and get right whatever you're using forget has to have its own repository second after every major change to your master Branch or main branch you have to rebase right and you have to apply changes on your instance right it's key people forget that step about rebasing and it could lead the problems down the road right so you have to remember those things that after every major change you have to rebase and you have to apply apply changes and for every scope we need its own Repository all right uh and everything else is pretty much there right all right management and stashing right we talked about that you can switch branches but there's over there's that overhead of understanding like the management of that right if I switch you got to have come manage that and understand how stashing work what stashing is as when you switch branches those changes are made you can push them aside to it like just put them like in a holding thing and say I want to stash these and so I'm ready to use them again in another Branch right so all that it's kind of like additional steps when you when you're working within Source control there are some some grades updates to stashes lately though so I think you can now selectively apply them again you can name them and also for the branch switching it used to remove and reinstall your app until a couple of releases ago and thereby also dropping all of your demo data that is not happening anymore so now when you switch the branch it'll do the Delta and you'll keep your demo data as far as possible so some improvements are being made good call out so any questions on this and if you have them later on it's fine I want to give you that chance to ask any questions while we're on the topic yeah we have some slow diet flow charts uh with with some more in-depth examples abribo let's talk about abrivo so some of the questions came up so at repo again it's a application repository it's a servicenow product um app repo in my opinion or what I really like about apprevo is that it's really admin friendly for deploying applications um it's you just really go to your my company application menu and it's just like like a plug-in or a store app you can you can see the latest version or if it's ready to install right you haven't installed it ready to install or if a new versions are right new update you can see that little red button comes up it's like there's an update do you want to publish right so I I think it's really friendly especially if you're limited and your ability to deploy right and you have to you know additional resources you can you can pick up an admin that doesn't know how to deploy and it's really friendly I think on that end and shout out to uh to the roles required that you there's some additional roles that will allow a non-admin to deploy from the certain things from the app repo um if depending on what your change management strategy is and that can be really nice to to not require you know half of your team to have full admin in prod and then another thing is it also has the ability for cicd automation so same thing it lets you use the apis um and in fact app engine Studio which is a another one of our our products app engine Studio uses a functionality or a product called pipeline which automates that deployment process and it uses app repo and some of the apis to do that movement between your Stacks right so uh it's a really neat feature I like it uh the possibilities are there right so also automating your your whole development pipeline for uh app Revo now let's talk about some of the challenges or the weaknesses that people has one of the one of the major ones right one of the ones that whenever I talk to a client or a customer this is one of the things that either they just you know don't understand or it's just a misunderstanding uh there's no selective publishing when it comes to apprevo um and what I mean by that is uh again this is that scenario that I'm working on Sprint 2 and a break fix comes in and you want to fix the brake fix and pause you know Sprint too you can't do that with app repo app repo doesn't doesn't really look at the update stats it looks at the application files so whenever you publish the app repo it takes all the application components or files Associated to the application and it publishes it regardless if it's in work not in work it just takes it all and publishes it so a lot of the times when people run into issues about repo is that they don't understand that it doesn't use update stats it looks at the application well um so there is no way to say hey I just want to publish this and that um there there are methods I've seen out there that people have kind of circumvented that where they use Source control and stash their changes and then publish it and then reapply the statues um but out of the box normally it doesn't it doesn't do that right so it's either All or Nothing it's a really aggressive uh stance when it comes to publishing the application uh another thing I want to talk about is um the leaks are being captured I know we mentioned this on the other ones but out of the box natively default setting for app repo it does not capture deletes right you do have to set a certain uh couple of system properties that allows you to capture deletes but natively it doesn't capture deletes right um and and people you know I see it all the times like you know it's not caching I'm deleting this form of this table or these whatever it's it's not capturing it and it's because of the system property yeah yeah service portal specifically when you're reconfiguring you're developing a portal a lot of times it just deletes all the records and creates new records and so you overlay those two things together uh it can be frustrating if it's not if it's not configured for that right a couple of things I do want to mention about app repo uh I know you put that limited on-prem support but with app repo uh as long as you're hosted on the servicenow cloud you don't have to do anything extra it's already configured it's already set up and there's no additional cost um so if you want to you start using it today you can right it's there um for for your on-prem or self-hosted Solutions right people that are decided to take their stuff off of the cloud we do have an offering it's called uh we do have an app repo for you so it's called Char we call it Char internally self-hosted app repo and it lives in the app and in our service in the App Store so you you can uh have the ability to um put app repo on your networks so it's it's a pretty cool thing uh it just it just came out recently um so and people are actively using it so I think it's a good option if if you want to you start using that rebuild and you're self-hosting um one more last thing is versioning limits right it's one thing I want to call out versioning limits and what that means is that it holds the latest 20 versions of your application so if you're on version 25 it only holds version 25 of 21. version 0 to 24 are have been removed so if if you want to roll back or if you're doing rapid deployment and say oh we got you know we start at whatever deployment or version you're on you have to understand it only holds 20 latest version all right uh that's pretty much it I got for app repo uh so let's stop take a pause if you have any questions yeah we have quite a few app repo questions that have popped up okay um the one that kind of makes me laugh and I'm I'm curious to see the answer we get for this is uh which one method does servicenow recommend that's a quite a nuanced question right Miguel and I think we have some kind of a wrap-up slide at the end to go over some of the you know if then if then types of things I don't think correct me if I'm wrong but I don't think there is like a one-size-fits all recommendation from service now absolutely so that that's a question that comes up all the time and I was and I'm surprised it came out this early but yes there isn't there isn't a prescribed direction right because there's so many variables involved right there's so many things that are moving parts to say You must use this or you must use that right it really depends on a couple of things right not just the technology but you know the do you have the right people in place right what is your process look like right and and then the technology can answer that or or enforce those policies right so you know is it is there a need right what is there a company mandate to use certain things is is there you know do you have the right people and the right knowledge to to do this and then you know where are we going with that what's the end goal right and and it's again it's just so many questions that there isn't really a recommendation but we do say default right default always updates that right so update sets again near near and dear to Jared's heart but at the end of the day right when in doubt update set well and the thing that I like about app repo which isn't somebody in the question used the word Pipeline and so the uh aemc app engine Management console pipelines are dependent on app repo and so that's that's um in recent history that's that's when I've touched this the most is when configuring those pipelines yeah and upgrade plan also use is going to be using App repo or it's using App repo foreign I saw some earlier in chat and took a note uh so Ed asks when you get to application repository can you detail the actual location of the repo like where is the data actually living is this a servicenow data center yeah it's it's another service now data yeah and then uh what is the best practice for multiple developers uh if there's not a desire for one Dev instance per developer I guess that goes back to the other question right like what what is the best method there it just it's it really depends on the team right like your team and the visual team how well we work with each other and then yeah and your process around there right because multiple highlighted yeah multiple Dev instances right so yeah I'm sorry all right no go ahead sorry I was gonna I was just gonna clarify that multiple could mean three devs or it could mean 30 devs and so then that uh greatly affects the solution as well because I um trying to have 30 devs in a single instance you I mean kind of take Source control off the table uh completely and well everyone I would say your own company's limitations can can dictate that as well so yeah you know some some companies don't want their apps and such to be on you know a data center servicenow or their air gap because their government or um they don't have Source control that they're allowed to use um so that can also dictate what method you choose or methods you can use a combination of methodologies too yeah that's another option too I think we've got to cover what we call the hybrid approach and some further slides sorry I know it's not the answer you wanted to hear but it's it's an honest answer right like it's there's no real recommendation all right next slides we're going to go over sorry we're gonna go over the deployment strategies and architect right what it looks like visual reputation of each one and obviously updates that's Jared yeah like like we talked about earlier updates that batches is the the biggest Improvement to update sets in the in the past five years and so in this example yeah we're we're promoting uh the update set batch uh from from Dev to test to staging to prod uh the the Nuance in this diagram that that doesn't really get highlighted is um do we the the connection of your instances for pulling up those retrieved update sets are we are we going from Dev to test and then after it passes test are we going from Dev to staging or is is that update set batch that now lives in both the database for Dev and the database for tests are we connecting tests to staging or is staging pulling in you know the Sprint 22 batch directly from Dev so different organizations have have different thoughts on that um but but those are two options um for setting this up but uh the plan with this is it's kind of a flat structure right we promote things up and then at some interval we clone down and everything is reset back to the same uh the same standard so um there is a feature that you can read more about within your clone configuration where it does preserve Global update sets and things like that so um that exists it's out on docs you can read more about it but one one last comment I want to do on this current slide is um my personal preference is after you get up to prod and and after the change window is closed and the dust has settled go into your local update sets and mark them all as ignored that way you have a when you do your clone uh in the lower environments it it looks like there's no open update sets uh everything is just cleaned up to ignore and then when you get to your next promotion up to prod it's really easy to see oh now I only have one or two batches and I have 14 update sets this is what has changed in this in this window instead of seeing the last 900 update sets so that's that's my uh opinion on on that topic but yeah it's it's kind of a straightforward Pipeline and it does allow you to sneak in a a defect or a bug fix uh in the same manner while keeping the the rest of the development work rolling back in depth and batching is different from merging right so don't get them confused it's two different two different things right so batching is what we emphasize emerging yeah yeah yeah yeah I think nobody even nobody does merging anymore so I haven't heard that word for like a year it was I actually got brought up yesterday I was gonna call somebody I mentioned batching you know like you mean merging I was like no two different things yeah yeah yeah there was an open merch do note go down this path I was like no stop no merging yeah yeah so just just like call it out that it was it was brought recently so I just wanted to mention that here cool all right let's talk about Source control right this is kind of the thing so one thing I want to note is just two Dev instances here just just to show like the complexity but you know the same can be said if you're switching branches right so what we have here is obviously a four stack right or two Dev instances and a test and a prod and then your features right we're talking about the different branches right feature B and feature a off the the main branch and feature B commits before feature a we talked about the rebasing which is done after the merge right so you want to make sure you rebase and that's just to make sure like like the the branches are in sync right the the changes that have been committed match what you have outstanding um and this is basically what source control looks like well I'm sorry yeah Source control setup looks like um and again I do really want to highlight that rebasing just because it can lead to problems down the road all right app repo this is you know again simple outline of what operable is nothing fancy to it you you commit to that repo then you can you have access to any application Associated to your company right so that's how that's kind of the filtration on that if if you you know if you have more than one prod instance for example in the same company the company has five product instances those five instances have access to the application right so while it is is just a simple like committing I published app repo and now it's available for me to see right and then this is what we call the hybrid approach right so this is both using App repo and GitHub right um and the reason for that is for that select the publishing right you want to be able to do select the publishing to a certain point right and and from there you want to say is this prod ready right is this the gold copy and if it is just start using that for you both to to publish those apps or deploy those applications um same concept applies to both right you still need to rebase you still need to merge you know you commit your merge pull request and then from you know you need that server or an instance whether it be your stage instance or your uat test instance whatever instance is close to prod from that instance is where you publish to to app repo and that makes it available to everybody uh inside that network of of companies that have access to the app repo foreign that's pretty much it right for that if anybody's any questions any comments raise anything that's you know feel free again this is I think we had a we had a few comments around uh the apis it would be nice to be able to to push um say update sets without having to use the the CI CD I guess is the question uh because some some have more configuration around it like mid servers and all of these things so it would be it would be nicer to be able to to push and pull those uh in an easier way I guess is the question right yeah and I think that um I think more so applies to so if you're if if you're talking to a midserver through the uh what is it called connection and credential Alias records and you're setting those up uh part of of those related records are app files and so we'll get promoted up and then part of them uh specifically the part that stores the the basic authentication passwords um do not get promoted up um on on purpose they don't get captured and so things if you're using uh integration Hub and using current connection and credential Alias records it will be mid-server aware but if you're using the rest message records I don't remember specifically at what level the the mid server has created at so yeah there can be some uh promotion or clone down you're accidentally trying to talk to a productioned server that doesn't exist in Dev types of scenarios as an aside for your hybrid approach so just stepping back um I know at my my last company we were actually exploring and somewhat using a hybrid approach with update sets in the app repo um so you know it's it goes back to to what we were saying around you know our recommendations it's it's do what works best for you and your company and sometimes that's some combination of these things right yeah and would you want to make you know make you guys aware of the options and the possibilities right and ultimately it's whatever fits your your team or your company right and what options to use and we and and we mentioned this slide I'm gonna go ahead and bring it up um when when should I use right decisions for for what method to use right so um when it comes to Source control I guess this is this is kind of a good measurement of when to use Source control um understanding get right again we talked about uh the people right the the processing and technology and I think this is one of those where it's like you need that knowledge of of how git repository works right and and do you have that right if you do then I guess you can go to the next step right your your process has to be mature right it's not you really have to understand how's it going if you if you're fluid if it's already structured um communication coordination is key as we mentioned these tools don't really monitor they're more for deployment right so the coordination and communication is really key aspect of making sure where it goes what who's doing what and when and where and then ownership right clear ownership of of this right um and then once that's done you can understand the limitations right single Branch per W instance right if you have multiple instances then then you know this could be a good fit right so these are some of the things that we think can help you decide if Source control is for you or not I mean at the end of the day it's always a question of what your process looks like what your team looks like it's uh we we had this in our discussion when we prepared the session it's uh people process and tools um a good tool can never make up for a bad process and it can also not make up for people not adhering to a defined good process so uh your tool is always only as good as you uh as you use it um definitely this is this is the biggest recommendation is make sure that your process is good and that people stick to the process and and follow it right I think that was uh most of what we had we do have some more resources in the science I believe there's a white paper uh or a technical paper around this so uh written by Miguel and our colleague I think Andrew Andrew help with that Daniel Daniel yeah yeah brilliant so we'll uh we'll share the resources uh with the slide deck on the community post so make sure to check in on the community after this session I will throw some links in chat now um I would love to get some some feedback um directly about your experience on how you uh got to this Academy through the community how the sign up was [Music] um uh and then if you're interested in the other yes I'm sorry I'm sorry we got one more poll remember that oh yes the poll run I'll run the poll we have one more poll while I talk about things you can answer this yes you're right um okay so this this feedback session you'll also get a second email with a small survey directly from Zoom uh if you if you have the two minutes I'd love for you to to answer those uh they're not too uh crazy we do have more Academy sessions I'll also put that in chat uh as I mentioned before we have mobile uh app academies virtual agent next experience and a bunch of others if you're interested in any of those sessions you can find them over there and sign up directly to uh to those sessions uh from this link and then the last thing that I wanted to post is the link for this session so you can find where to um for the specific session so you know where to go uh to get the resources and the Q a we'll go through the questions that uh came in through chat and through the Q a panel after this session um and see what we have already answered or maybe we have to research and and and and talk to our inbound product owners product managers and come back to you with some more answers we'll post those on the community as well so uh be sure to subscribe to that um and then uh I'll also post the video recording uh right there so please feel free to share this session with any of your colleagues and peers that might be interested in this uh I think well I love the poll results yeah I was just gonna say that like interesting poll results that is very interesting it's almost a third each yeah that's awesome so I cut right down in the middle yeah yeah awesome well uh I hope we can um we could give many of you uh new input and new uh info and you'll explore uh some of the methods you haven't used yet and maybe they'll make your life easier or not we'll find out yeah um yeah if you uh yeah that is about all that I would have thank you guys again appreciate your time I hope it's provided some value or at least cleared up some misconceptions you might have had right so thanks thanks again yes all right then in that case uh thank you very much Miguel thank you Jared thank you Paige uh Paige for joining despite your uh despite your your uh wrote voice kicking out that's annoying um I hope to see many of you again that would be awesome uh and uh see you next session I will post the new sessions on the community as well keep an eye out over there uh and I'll see you soon bye guys hi
https://www.youtube.com/watch?v=TOZOWG6Mk4A