logo

NJP

Overview of DevOps Change Velocity

Import · Sep 07, 2023 · video

so welcome everyone to another live on now uh live on servicenow session today we're covering uh devops change velocity uh and we will be going through uh some detail about this particular product and how it can help customers all right just a safe harbor notice here to to say if we do talk about any features or aspects of the product which are not yet um in our GA versions don't base any buying decisions on that having said that everything I'm going to discuss today is already available in our current versions of our product so this is a this is one in a series of events that we run we usually run these live on now live on servicenow sessions we do at least once one a week or one every two weeks so my colleague will post a link in the chat to where you can find those and register for any others that you might find interesting or you can scan that code with your phone and it'll take you to the page so there's lots of great very interesting information that comes through on these events just some housekeeping so um I will pause during the session at various points to see if we have any questions please use the Q a function or if you're unable to use the Q a use the chat function to ask your questions and we will also save time at the end where you where we can ask questions and we can unmute you if you'd like to speak as I mentioned this presentation is going to be recorded and be shared on our community page so you can find these recordings if you go to YouTube and look up the servicenow Community page you can see them there and you will be prompted for a survey to get your feedback so we can look at ways to how we can improve these right a little bit of an intro about myself my name is Mike I'm based in Melbourne in Australia in the itsm business unit and I'm a product manager specializing in change and devops right so we will we will start with a poll question I'm just going to launch the poll so please answer this one so what we're looking for here is whether you whether you have an understanding about devops change velocity or already or where you're here to to learn about more about what it is ETC uh so just trying to poll and see um where the audience stands on this question so just give it another 15 seconds and then I'll close the poll all right let me close the poll thank you for that share the results so it looks like most of you are here because you you'd like to know more so that's perfect that's what these sessions are all about uh so hopefully by the end of the session you will know more about about devops change and obviously there's a couple of people that um have started to look at it so that's also really good foreign all right so I'll go through a few slides first just to set the scene and then we'll jump into a live demo so when we when we look at our our customers and look at some of the challenges that they have with devops we're seeing that some of the issues that customers are facing are really about a kind of a wall if you like between the development part of the organization and the operational part of the organization and that's lastly because those those two sets of teams don't have shared visibility of the data in the tools that they're using so typically your developers are uh you know they're they're picking up stories and and features and epics in in a planning Tool uh like jira or our own agile Tool uh they are then using code repositories to commit their code and um you know they're running CI CD pipelines to to do the build to do the testing and then to deploy that code through a change into production now obviously from a change management point of view an operational point of view having a change which is fully comprehensive and has all the detail about what is being deployed why it's being deployed that's very important from a service management point of view and if a developer has to do that manually and copy in all the data that's necessary to get through get an approval from the change process it can be very time consuming and require a lot of manual effort because they have to swivel chair and manually copy and paste data between the different tools that they have into servicenow in the change request so that can be a blocker for them trying to achieve velocity in terms of getting value or getting features out to customers as fast as possible which which is one of the the key tenets of of devops so the other the other part of it is um uh you know what what the change manager is looking for and and how they can cope with the increasing volume of change so what what we do see is this um does have an impact on customers ability to deliver and affects their time to delivery and often affects their ability to scale when it comes to devops and from A Change Control point of view particularly if you're a customer in a regulated environment it means that you know the changes might not be compliance so in some cases developers might be bypassing the change process to just to get their code through and and developed which is obviously an issue so when we look across the different roles uh that that are typically affected where we are seeing issues like this so as I said developers you know don't want to spend a lot of time on what they see as admin tasks where they're having to get through the change process manually copy the data that's required onto a change record Etc the change manager's challenge is significant because they're trying to ensure that the change management process is followed and that their Regulatory Compliance requirements are met but they're being challenged by an increasing volume of of these small devops changes and how do they manage that how do they know what to look at how do they know which data is relevant how do they know they've got the right data and then from a Governor's point of view when we look at Auditors uh you know they want to they change is typically a controlled process in in an organization so they want to run internal or external Audits and make sure they can easily get the data to understand what happened on a change and that can be challenging when the data is you know sitting in all these different tools and and how do they get access to the commit data to the stories Etc and then from an operational point of view if changes fail and they cause incidents how do we know what caused the issue how do we know um how to fix the issue and find the root cause so having a fully documented comprehensive change is is a very critical part of that because obviously if our changes are well documented and cover the specifics of what we're doing then if they do fail we're more readily able to go and find out what happened and you know back it out or revert and then finally the engineering manager is looking for insights into how their teams are performing so the power the developers performing you know what are the metrics that we need to look at and track how do we get visibility into that value stream delivery and identify any bottlenecks or issues so those are some of the challenges that we see across our customers when it comes to adopting devops so just a quick overview of of our solution so with with devops change first of all our approach is to say let the developers stay in the tools of their choice so we don't want to force developers to come into servicenow unnecessarily you know developers are using tools like you can see some examples on the left hand side of the slide there they're using uh typically jira where their stories Etc are being assigned to them to do the work they're they're using git or bitbucket or other coding tools to actually store their code and make changes and then they're using uh some testing tools like selenium for example to do the to do the testing and then CI CD pipeline to automate the uh The Continuous integration and deployment of of the pipeline through Jenkins or Azure devops for example so what we what we do is we integrate all those tools uh into servicenow and we normalize that data into our devops data model so that we are able to pick out the key bits of data from all those tools in order to do the two very important things that are shown on in the middle and on the right hand side of the slide so in the middle the first thing we can do is we can automate the change process so we can use that data to help automate what's going to happen with the change in terms of approval so some examples you can see there we're getting data from the devops tools and we're using that in combination with operational data that's already in service now to make a decision so you know you can see examples there did we parcel like unit testing um what was our code coverage percentage like did we have any security vulnerabilities are we currently in a change freeze um do we have any current incidents for the service Etc and we'll go through that in more detail so you can understand how that works when we look at the demo and finally on the right we can measure the performance and we can analyze and track how we're doing in terms of our our kpis uh using our performance analytics product where that data is being pulled into some some dashboards so we'll go through that as well and finally obviously this is all running on our platform so the data is all linked to the cmdb so we're able to relate the the pipeline executions back to to CIS back to services and applications Etc and have the power of servicenow platform to to manage everything end to end so with all that in place uh what we see is that um we're giving time back to developers so when we're automating changes and the developer doesn't have to come into servicenow to to manage that we're giving them time back and we're also able to speed up uh the change yeah the change end to end and and and really improve the velocity of change across the organization so um sorry someone's got their hand up um we'll just pause here um did you have a question um no I think no question is the phone Mike there was a question on the SKU it's which already answered that's okay I I could I can't uh when I'm sharing I can't see the the Q a so all good just let me know if I need to pause uh G2 sure right no worries thank you all right so um this also helps the change manager because when we're automating changes uh what we're doing is if if all those policies are met and the change can automatically be approved because we've already defined the criteria for our change management process to approve the change then the change manager only has to look at changes which don't meet that criteria so obviously that's a lower volume because we're expecting between 80 80 and 90 of changes should be able to be automated and automatically approved through this process so change management can handle much larger volumes and focus on the complex ones and the ones that don't meet the controls and handle those manually that gives us better governance and it enables us to do simple reporting and data Gathering because the data is all sitting in servicenow and we have these very comprehensive change records that are the single source of Truth it that also helps us when it comes to Operational Support and understanding when changes do fail what went wrong and why they went wrong and how to fix them and in reduce mean time to restore and when we have a look at the data we can also help the engineering manager see the the team's performance and get visibility of that end-to-end value stream which we will show you okay let's move on so we have a lot of customers that have deployed this product into their environments and gained value from it this is just one example so numura is a large Bank based in headquartered in Tokyo they're global and uh they had similar issues that I've described so their developers were having to create changes manually chase approvers you know do a um a whole lot of manual data Gathering they also had a one week minimum lead time for a normal change and that that caused obviously a lot of productivity loss and after deploying change velocity they were able to gain some significant value and benefits from automating changes reducing those lead times and removing some of the impediments that the developers had and improving their their service operations overall okay so how do we start how do we how do we adopt you know what's the journey what's the typical Journey that a customer would take uh to to get this up and running in their environment so we if you start at the bottom on the left just by connecting your existing tools to servicenow devops and bringing the data in that will immediately start giving you value because you'll be able to to get a view of your current state and understand how you're doing in terms of that data and then when you want to look at the Second Step which is change change traceability um you can you can start looking at tracing the pipelines that are actually executing and and looking at that data in servicenow and Gathering that those metrics without modifying the existing pipeline we can then also create changes manually but but but bring in the right data with just a couple of clicks and I'll show you how that works then we have change registration which is all about at this point we're not affecting the pipeline we're creating the changes automatically but the pipeline is still able to continue and then the final step is full change automation where we are pausing the pipeline making sure that all the criteria that we decide needs to be met for our organization has been met for the change approval and the pipeline will pause and wait for the change to be approved and only when it's approved will the pipeline then go ahead and deploy if the change isn't approved then the pipeline will be canceled at that point so we can show you that as well all right now we're going to jump into a demo and I'll just pause here just to see if we have any questions before I jump into the demo no questions as of now Mike they're good there was a one question on the SQ which are the answer okay yeah so just to just to cover that so in order to use our devops products so we have two we have two we have devops change velocity which is what we're talking about here today and we also have devops config you need to have itsm Pro or itsm Enterprise subscription and those products get bundled in with that package with that licensing package so if you want more information about that please reach out to to your account team and and they can give you the info on that okay let us jump into a demo so no no further uh questions at this point okay let me jump into that demo okay so we start start off here just just just explaining that um I am now acting as a developer now in this case I'm using azure devops and one of the reasons is just easier for me to demo using Ado because Ado has kind of everything in in one uh in one set of tools so Ado boards is where I have my work items so all my my planning my work my stories user stories Etc and managing my Sprints that all happens in audio boards so similar to jira if you're familiar with jira we have our code repos so that you know that they could sit in git tools like git or bitbucket uh that's where all my code lives and then I've got my pipelines which I can run which is what you're looking at here this is my pipeline execution history and that can also be done with tools like Jenkins or GitHub actions Etc gitlab and this testing testing capability and artifacts Etc so that's all within this develop development Ado development environment and when I jump into this this is just a very simple pipeline it's only got three three stages it's got a build a test and a deploy stage and I can see that the last run of this pipeline failed I just had to move this Zoom window out the way and when we jump into servicenow this is the same view of the pipeline so once I've connected my Ado tool servicenow will build a view of the same pipeline so it's showing me just by ingesting that data what that pipeline looks like and you can see the history the execution history Etc so we're going to we'll go into more detail there what I'm going to do here though is just I'm going to run another Pipeline and then we'll come back and we'll look at it so I'm going to fix the issue here that I had and talk about that so I'm just going to make an update to this uh Json file uh I'm also running devops config in this environment and devops config failed this pipeline because I had these links were HTTP and not https that's why the pipeline failed so I'm just fixing my configuration data here and then I'm going to commit this code and best practice is always to associate a commit to the relevant stories so I'm just going to associate my test case and my story and then do a commit and that should automatically kick off the pipeline which it has so that is running and we'll come back to that and look at the results so first of all let's let's have a let's just have a quick look um this is another this isn't is a different pipeline let me just show you so this is a slightly more complex pipeline uh with some other stages in here where we're retrieving our code we're doing a build we're doing some validation and and testing of of the code and of the configuration data running a quality uh some static analysis using Sonar Cube and uh we're doing a uat deployment then some functional testing using selenium and finally oops sorry finally a prod deployment you can see prior to deployment we are automatically creating a change this has been triggered from the pipeline in this case the Jenkins pipeline but it's the same with Ado or any other tool that you're using so the change this change once it loads you'll see has been automatically created and it's very comprehensive and will have all the details that I need to show exactly what's happened so in this case um it's a it's a it's a change which is to our front-end website all the information here has been automatically added you can see here we're pulling in some data around our current incidents outages Etc some development data and security scanning data from our security scanning tools Etc and when we go down here we can see that first of all uh linking back to the cmdb we've got the affected CI which in this case is the website that we're changing that in turn is linked to this service this Globex web service and um we also have the work items so this is showing me the story that was which is really the why why was this change required the story will contain that information we've even got links to the the code commits that were done here with a link back to git for the actual code commit we've got our test summaries that were done here so we can see that they all passed and the individual test cases for each of the testing tools so a lot of very useful data which we can then use to determine what happens to the change this is our sonar Cube sorry our sonar Cube analysis so we can see here you know Center cube is looking at some vulnerabilities code smells Etc security hotspots all that all that good stuff so all that data is very useful now we can we can decide what data is relevant to us and this will be based on really what happens today in inside your organization with your with your change process so uh what we have in servicenow is uh change policies so change approval policies now what these what these policies do is they're they enable you to automate what happens to the to the change approval based on the data so just have a look at this just to show you what this looks like okay so we can see sorry Zoom keeps getting in the way so approval policies are structured like this they have inputs so the input so once we integrate all your tools with servicenow we can get data coming from the various devops tools so some of it's coming in from uh the code repository tool for example git some of it will come in from tools like jfrog or or if you've got error budgets and some of its operational data that's already in servicenow like the current outages for the service do we have any open incidents for this service Etc and then the test results security vulnerabilities what's the criticality of the service that we're impacting that's coming from the cmdb so all this data gets gathered together and then we can make decisions about it using uh the approval policy decision table so the first one which we'll run is is a high risk one which is which is going to look at if we have any high risk items we we just want to reject the change automatically so in this case it's saying if we if we've if we've had any outages in the last seven days if we've had more than two or more if our percentage test result passes less than 70 and we have any security vulnerabilities in other words if they're greater than zero we are just going to reject the change automatically we'll just reject it and that will obviously cancel the pipeline and then you'd have to deal with that manually however if all our policies are met and we this can be as comprehensive as you like for your own organization so we can see there's a lot of criteria here that are helping us make the decision which in this case is for auto approval so this will also approve the change and we don't want to see any outages we don't want to see any incidents we want the service criticality to be a specific value we don't want any commits without work items so that's making sure developers are following best practice and you can see the rest of these here obviously these will change depending on what is relevant for you in your organization this is just an example and finally if if neither of those two decisions get matched the change will get sent for a manual approval and you can determine who needs to look at that change based on the data on the change in this case it's just going to the assignment group but it could be a service owner it could be change management it could be any team that's that's relevant so a very powerful capability that already exists in change management but we're taking advantage of it uh for for devops okay so um let us go back to the dashboard here we go okay so I mentioned at the start about performance analytics and once we get the data flowing into servicenow uh it's very powerful because it allows us to look at how we're going and analyze some important aspects of the data so what you're seeing here this initial tab is part of the insights dashboard this all comes out of the box with devops change and we've got a number of tabs on here which we'll go through but the first part of this is the flow metrics so this is part of value stream management how long is it taking work to flow through when stories get created to when they get deployed in production how long is that taking and what's the cycle time so how long is it taking work to cycle through these different phases in our environment what what is the throughput and distribution so how much time are we spending dealing with fixing bugs rather than getting features new features out to our customers so you can look at those aspects deploy time Etc how long how long is work in a work in progress state so is it waiting for something so you can click in here to get more detail and understand if there's any bottlenecks for for your delivery value stream you can also filter these by a particular application for example so again this is all data that's coming from the cmdb if you've got applications defined or Services business apps or even products you can filter by any of these you can also look for a particular repository so if you just want to look at a particular development team at their repo you can do that so you're able to filter down to to that level or you can look at a particular work item type so if you just want to focus on bugs or features or Etc you can do that as well all right let's have a look at some of the other data so once you start automating changes this is very useful because you're able to track your progress and how you're how you're going when change volumes start increasing how long is it taking the changes to close out what's our automated versus manual change look like how long A change is waiting for approval Etc and you can look at the performance of those approval policies that I showed you you're also able to see the savings that you're going to get by developers not having to create changes manually so that's going to show you your return on investment in terms of productivity for your for your developers the accelerate metrics and another name for the accelerate metrics is the Dora metrics so Google and and other organizations created some standard metrics to measure the performance of devops across all different Industries and the Dora metrics have become an industry standard for for devops performance so you have two development metrics which is uh lead time and deployment frequency and then you have two operational metrics and we're familiar with these because these have been around service management for a long time mttr excuse me and and failure rate these are all associated with with the devops pipelines that we're importing here same widgets apply here so we can filter this data by the same items that we've got at the top there so this will be able to we'll be able to dive in and see how we're performing and compare ourselves to uh to the industry in terms of the Dora metrics we also have quality metrics again this is coming in from our scanning tools our testing tools Etc so we can see code coverage testing Pass rates our security vulnerabilities bug counts Etc and then we can look at the developer commit frequency who are the top committers who are the top reverters pipeline execution commits uh you know commits without work items as I said uh making sure developers are sticking to best practice pipeline pass percentage Etc so a lot of really useful data now there are tools out there which will give you some of this data the advantage of having it in service now is you've got all this data including this which is the operational data so there's there's no other tool that will give you the operational data as well as all this data in one place so this is tracking if if those pipelines are causing incidents you know how's that looking and are those incidents causing outages and are those outages affecting our service availability so you'll be able to dive into into that and and track those metrics so very useful all right I'll just pause there and just see if we've got questions this time in the look uh one from Brian we're trying to integrate ad over the devops change velocity plugin while configuring the tool we are having issues discovery of the project and pipelines raise the case oh okay um thanks for raising that Brian um where I can definitely have a look at that and probably take that offline and and contact you after the session if you don't mind can you just post in the chat uh which customer uh you are from just so I know who which organization you're with if you can post that in the chat then we'll uh great thank you all right we'll get back to you okay and then Annie has a question how do you identify the incident is caused by the pipeline deployment deployment so that um so any what what can happen there is um we can sorry we just find the right one so so when these changes are when these changes are created um if the if the change fails if if it's if it's unsuccessful sorry that one was successful if we've got one that's unsuccessful um we can actually get an incident uh raised as automatically and related to the change as caused by the change so so we can track that with the relationship between the incident and the change okay hopefully that answers the question all right let me let me move on so we so we went through uh we went through the insights you know one one thing just to mention so in this particular one what I did was in in my um in my approval policies in in this instance in My Demo instance I I have a policy which is doing an auto reject if there are any open incidents for this particular service and I opened an incident and in this case that's why this pipeline failed because there was an open incident on this service so the pipeline it rejected the change and the pipeline was failed that that's why that one failed I just want to quickly reload this and just see what's happening to the one that I kicked off uh okay so you can see in the ado this one did deploy successfully and we'll just go back here and I can see this was the one that I just ran so we can have a look at the change that was created okay so again this change was fully uh automatically created I didn't have to do anything you can use templates uh you you can you can feed in data that you need in terms of the attributes from the pipeline itself there's a number of ways to get the data in and in this case it's just moved to review state it's actually plugged in a successful close code and an outcome for me so I can just review it and if I'm happy I can just close that change you can also automatically move it to close uh if if you want to so again I've got all my data I've got the test summaries I've got the commits I've got a fully comprehensive change record uh showing me exactly what happened when okay uh I now want to move into a little bit of how you get started so I know some of you have had a look at this you might think okay this this is great it looks it looks like it would be useful for us so how do we get started so we do actually have and we have had a number of workshops and sessions which have been recorded which you can have a look at which dive into that subject in a lot more uh detail but I'm just going to give you a quick overview overview to show you that it it's it's pretty easy so let me show you this so what I'm this is the devops change workspace so this workspace has everything in it for you to manage setting up devops change and managing it day to day in your organization and I've actually done another webinar I think it was about um a few weeks ago it's also available as a recording which you can have a look at which goes into this workspace and a lot more detail and goes through every option so do have a look at that if if you have time but this is really this front page has cards up here which allow you to get started so you can set up your accounts and your users you can assign tasks to different people maybe you need to get credentials for the various tools from from people that own those credentials you can do that through the tasks and you can connect the tools so just to show you what connectors we have out of the box um so we we categorize tools according to whether the planning tools coding tools Etc as you can see along here so for planning tools we have obviously a connectors for our own Agile development tool we do have jira we have Ado we have rally for coding tools again Ado git lab GitHub bitbucket Etc and orchestration tools we have Jenkins uh recent one we've got Argo CD some initial limited functionality there which will broaden in future releases but it is supported GitHub gitlab Ado Etc we've got obviously artifact tools like artifactory scanning tools like sonar Cube and also a recent one in our August release we're starting to give support to security vulnerability and scanning tools like Vera code Etc I think check marks is another one which will be released in the future so when I want to connect a tool and as as I said I have got a video on this so I won't go into the detail now I just put in the tool name and then it'll take me through a Playbook which will step me through each part of the connection process and actually automate that process for me in the back end so all I need to provide is the URL to the tool the credentials to the tool and really the rest is just automate automated where webhooks are inserted into the uh into the tool to get real-time data coming through and events being driven into into servicenow when for example a new story gets created or the state of a story changes all that data gets picked up and pulled into into the servicenow devops data model and then what we can do is we can build applications where we we basically allows us to relate the different tool data to an application so that when we're looking at the data we understand how those things are related so let me just quickly show you this one so for example this example application I've got the plans that are in this case coming from Ado but they could be coming from jira I have selected the specific repositories that I want to track and the pipeline that I want to track here and I uh and I can just quickly show you here when I jump into the pipeline this is the pipeline that I have automated you can see it's simple it's just got four steps this is where I decide I Define where I want Change Control to happen so I can see here this in this step for the prop deploy this is where I want Change Control to be exerted to pause the pipeline so I ticked that box and I plug in my CI my uh my assignment group and I can choose what kind of change I want and we now support change models so if you're using change models in your organization and you have a specific one you want to use for devops that is Now supported um and uh and really that's that's about it and and and where you go you you plug in the appropriate data into the extension in your pipeline and and Away you go so it's it's not very difficult we do have comprehensive documentation available and I've linked to that in the slide deck so um when you get the pack you can you can certainly have a look at that uh one other thing I wanted to show you we talked at the start about the the adoption Journey so obviously what I'm showing you here is kind of the fully automated change Journey which is the end state but you can also um start by uh creating changes manually I'll just show you what that looks like so I'm just going to create a normal change and uh what I will do just have to move this out of the way again I'm just going to pull in a template here just to quickly populate this change with some data and I'm going to save that record okay and because it's a using category of devops you can see a button up here which says add devops data when I click that I can use either an artifact version a release version or a build number to to determine how to add the relevant data again I've already got all my tools connected so I have the data available so if I choose build number for example and then if I choose my application I can then look at the different pipelines that I have and choose the right Pipeline and choose a specific build number and then click next and that will pull in automatically the correct work items and the commits and the test summaries Etc all that data for me if I submit that instead of me having to manually copy that data onto my change you can see it's it's all been added for me automatically here so it's a good way to start off where even if developers are creating the changes manually at the start it allows them to add the right data very easily with just a few a few clicks and then move through move through the change process okay so that is that section I'm going to pause here just to see if we have any new questions there's a question on the uiu uh could you please show us which UI are you using to manage the pipeline in servicenow okay so but don't forget um servicenow's not managing the pipeline right so the pipeline in this case is being managed in as your devops or Jenkins or whatever your CI CD pipeline tool that you're using servicenow is just building a picture uh of the pipeline so let me just show you what that looks like I'll just go back so so servicenows bring in all the pipeline executions in in this case from ado so if we have a look at that last one I can see all the steps the pipeline steps all this data here and I can see the change request that was that was raised so servicenow is just giving me a picture of all this through this particular UI so the pipeline UI is what I was showing you which is is drawing you the picture giving you the full execution history so essentially it's replicating what you would see in in Ado but obviously this is in service now but service now is not the only part that service now plays is servicenow is pausing the pipeline creating the change making sure the change is approved and then allowing the pipeline to continue that's the only activity back into the pipeline that servicenow is happening is having here if that makes sense does that answer your question Annie okay well hopefully you found that useful and thank you very much and look forward to seeing you on the next live on servicenow webinar thanks everyone have a great day bye thanks Mike

View original source

https://www.youtube.com/watch?v=SbK0zOumPD8