logo

NJP

M

Murali

Software Development Manager

ServiceNow Inc.

Conference Sessions

K22

Ignite IT service productivity with Client Software Distribution 2.0

CCB1143-K22

## Transcript X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:0 [MUSIC PLAYING] Hi, everyone. Good evening, good morning, and welcome to the Knowledge 22 session. Here, we are to demonstrate CSD 2.0 as an application and JAMF as an integration with CSD 2.0. So today, we had three speakers along with-- two more speakers along with me. So we have Inderjeet, who is a software engineer from my team and Sugandh, who is the product manager for the CSD 2.0. Inderjeet, can you quickly introduce yourself? I'm Inderjeet Singh. I work as a software engineer at ServiceNow. And I'm part of Platform Integrations Team. I work majorly on spoke and app development. Thank you. And myself, I'm Murali. I work as a software development manager in ServiceNow since a couple of years. And Sugandh had been a product manager since a couple of more years than me. And if we move on, we have a packed agenda for today for this demonstration. So we divided this demonstration into three or four different sections. Where in section one, we talk very briefly about what's CSD, I don't know. The next section talks about how CSD should be utilized by any given customer in their instances. And section three talks about real use case of using JAMF as integration and deploying a sample software to an iPhone. And we have a bonus section. If we have some more time remaining, we are open for Q&A. So if we slightly deep dive into what CSD 2.0 is, it's an application that is available on ServiceNow Store. And we use this CSD application, there are few prerequisites that I'll be talking about in the next slide. So it needs a prerequisite of IntegrationHub Enterprise License. So this is the basic need which allows for the flows to be created and flows to be modified by customers. And along with this, the CSD 2.0 application and the JAMF Spoke should be installed on a given instance. So we'll be in the next section, we'll be demonstrating on how to use these three components together to see a real time deployment of software. So once these triggers are available, then if we go into what CSD 2.0 is, it allows an administrator of ServiceNow to deploy and manage softwares of customers who are already doing it with their JAMF and similar providers, whether it is SCEM, or whether it's Microsoft Intune, or it would be even Ivanti LanDesk. So CSD 2.0 enables administrators to maintain a list of records of how many licenses they have. And they can create a software model around how to maintain this list of data, how to rework, how to deploy, manage the license, and all these details. So we'll walk you through those details shortly. So Inderjeet, can you please speak about JAMF now? Thank you. So thanks, Murali. So now, we'll be talking about the JAMF Spoke. So JAMF Spoke allows you to manage various entities, such as users, groups, and your devices on the JAMF account from a ServiceNow instance, shown on this slide, a screenshot of a few of the actions which we provide with the JAMF Spoke. What is CSD 2.0 and JAMF integration? This is a built-in support for JAMF software provider which allows you to distribute software for JAMF managed devices from ServiceNow, which it does through discovering the required data from JAMF server. Then it allows you to create catalog items using that data for software. And once you order the catalog item, it will automate the deployment and revocation through the default JAMF flows. But you can always customize the required flows as per your requirement. Coming to the use cases, which CSD 2.0 supports, as already mentioned, it will automate the software deployment and revocation for you once you order catalog item. It does perform a license check if you configure the catalog item to perform same before deploying. So that you make sure you have the required licenses in your account. And it allows you to manage software releases. And it does deliver notifications based on your lease expiry date that is also configurable, like how many days before the expiry you want the notification. And it integrates very well with the existing SAM solutions, in case you want to consume your license and software model data from SAM plug-ins. What is a CSD 2.0 provider? So CSD 2.0 provider means any third party software provider which can be configured to distribute softwares through CSD 2.0. And it must be configured with a set of tools which are used for deployment, revocation, and discovery of data. And it must also be configured with required tables to restore software and its related configuration data. What is an order client software flow? So this is a main entry point for a catalog item. Once you order a catalog item, order client software is the default flow which will be kicked off. And it performs various checks, such as it will create approval request for your manager if your catalog item is configured to do so. Also, it will perform a license check if license is not available. And it will create a catalog task. So that you can procure the license. That also depends upon your catalog item if that is configured to perform a license check. And it will create the required lease records. And it will schedule the deployment flow based on your lease start date. And it will send a mail that your deployment scheduling has started. As we discussed, order client software will schedule deploy clean software. So deploy client software will create an entry in requested software in CSD. So that you can track what are the softwares you've requested so far. Also, it will trigger the provider specific deployment flow. Let's say you-- in this case, we have JAMF so whatever flow you have configured for JAMF, it will trigger that. That flow will actually send the request to third party, which is JAMF in this case, to actually deploy your software. And in case deployment fails for some reason, it will create a catalog task. So that you can resolve the issue and retrigger the request to deploy it. Now, coming to section two before moving on to the next slide, we will move to ServiceNow instance. And we'll do the required configurations to have a JAMF Spoke running. For this, we will have to configure JAMF Spoke with the connection credentials set up. You can move to Connection and Credential Aliases. In there, we will have a JAMF entry with the name JAMF. We have similar default template. So that it's easy for you to do all the required setup. Here, you give a name for your connection. And here, you give the connection URL for your JAMF account. So I will give one for mine. And here, you give the username which you used to log in to your JAMF account. And here, you give the password. And here again, you give the connection URL. I will just paste it from the top. So verify these details are correct. Once you do that, click on Create. So we have-- this way, automatically your records for connection credential will be created. So if we move on, now your connection credentials setup is done. If we move on to CSD module, we have a list of providers currently building support for JAMF and Microsoft Endpoint Configuration Manager. The process to deploy, discover, and revoke is almost the same. So in this session, we will be talking about JAMF. But the process for any given provider is almost same. So if we go to the JAMF provider, if you see, we were talking there are a list of default flows, which are already configured. And they are a list of tables which store the required data. So you can always configure these flows as per your requirement. You can build customized flows and change this. And here are a list of properties which you can configure. So first is the property with which you can configure it to use SAM plug-in if you want. That way, we will consume the SAM software model and license information. And you can configure all of the other properties as per your need. And here, we will be creating requested software entries. Let's talk about data discovery in JAMF. So in the JAMF model, we have applications, groups, and policies. These are the data-- this is the data, which we we'll be discovering from the JAMF account. And if we go to the server instances, we will have to create a new entry. So that we can perform data discovery. I will give it the name JAMF. And here, we have to specify a Connection Credential Alias. For now, we just support only the default Connection Credential Alias, which is shipped with this Spoke. So once you do that, you will have an option to discover the data. It will retrieve the application groups and policies from the JAMF server. I will click this. Then we can go to Flow Designer, if you we will see. It will trigger your discover and store data flow. Once it's completed, it's complete now. So if we go back, in the applications, we have a list of applications we have on the JAMF server, similarly, groups and policies. So this is of-- let's move back to slides. What is a discovery flow? As we just saw, that discovery flow brings all the required data into ServiceNow instance. So that you can create the required catalog items. We have already seen how to run it. What are software model and licenses? Every JAMF application must be linked with a software model before creating catalog item. This way, it allows us to perform a license check. So let's move on to the instance and see about the software models. So if you move to software and the software entitlements, this is a license table. Here, you create the required licenses. Let's say, test license. And here, you create the software model, whichever you have. So I have a few of the models already created. So I will just link it, any model. Here, you can give the number of licenses you have. And this is the allocation type. So this-- whatever group you are-- JAMF group you are using for deployment, it depends upon that. If your group type is computer or mobile, then allocation type will be device. If are group type is user, then it will be user. So create that. And it will automatically create the allocations available for you. Whenever you are allocating it, it will automatically recalculate your available allocations. So let's move on to slides. So this is how software model and licenses work. In the deployment flow, as we saw, we discovered schedule discovery of data from JAMF. Then we create and correlate software models to the third party provider to CSD or SAM environment. And as we will see later on, we will create the required software configurations. And then we will create the catalog item. So if we have to see, this is how it works. We have a software model, which we link with the software. And with that, we create a catalog item which is made available in the service catalog. And after that, once you request that item, entitlement check and approval check is done. And deployment is automatically triggered. And we will also make a check of license availability in case catalog item is configured to perform that. If license is not available, we will create a fallback task to obtain license. Once you resolve everything regarding that, we will send a software deployment request to third party provider. And then it will be deployed. Now, coming to the section three, we will do a demo on how to create a catalog item for software and how to actually deploy the software. So if we go to the JAMF applications, so let's take this first application. So we will be doing demo through our iPhone device. So we'll take only the mobile applications. So let's take our Adobe Acrobat. So in here, we have CSD software model. You can create a software model using Create Software Model. But you can also link an existing software model here. So let's go there. You can also create a new software model from this dialog. But I have already software model created. So I will just use that. So once that is done, as I mentioned, we will be creating software configurations, which you can create from the related link. Or you can create from this link. I will give it a name. So it will be software config. And then you specify your group, which is configured to have Adobe Acrobat deployment. And type of group matters to decide the license. Group type is mobile. So license type, which will be checked, will be of a location type device. So I will submit this. Now, we have the software configuration created. But you still see you have create software configuration available, which means you can create multiple software configurations. And any catalog item, you can decide which one to use. Once this is done, you will have the option to create a catalog item. Let's do that. So this will take you to this view, where you can specify all the required options for your catalog item. Let's give some category, Department Services for now. Access type, access type has two values, dedicated and restricted. If you specify it as restricted, this means user can order it only for themselves. But if you specify it for delegated, then they can order it for anyone. Let's go with delegated for now. We have all the required options as required. So if you see in the flow, we have our client software, which will be triggered. But you can also customize it to use any other flow as well. But make sure to create all-- create the flow, so that it creates all the required records, as we mentioned earlier. So you can give all these options. So let's save it. So for CSD 2.0 catalog item, there are a few other configuration values which we need to set. By default, we create one record with default values. If you see here, you can specify if you want to skip approval or you want to perform a license check. Let's do a license check and let's skip-- let's perform approval check. And here in the software configuration, as I mentioned, you can create multiple software configurations and specify which one to use from here. Let's update. OK, this is done. So this will be available in the service catalog. Or you can also do it in the service portal. Let's do it in the service catalog. I don't have the section either. let me check. We go to service catalog. We have departmental services as the category, which we added. This is the catalog item, which we just created. If we go to this one, we specify the type as delegated. So we see the user field. If we set the access type as restricted, then user field will be hidden. I've created a user, K22 test user. Let's install for that user and select the device. We will be doing it for iPhone. And let's give the lease date as the current time. Let's specify a few seconds of it. And give a lease end date. Once that is done, click on Order Now. Once all that is done, we go to the request. And here, we mark it as approved. It's going to be closed. Now, if we go to the flow executions, order client software will start. But it's configured to ask for approval if you see. So we are waiting for approval from the managers, from manager. So we will impersonate as that manager. So K22 test manager is the manager for the user. So we'll impersonate as that and approve it. Go to Approvals. If you see, approval is done. So we'll approve it. So this is done. I will end it. So the request is approved if we go here. So this is completed. And our license was not available. So we will have to create the license. So I will create the-- we did not create any license. So that's what we have to do now, any software entitlements. We will have to create a license, Adobe Acrobat license. And here, you have to specify the software model which you used for that application, which is Adobe Acrobat. And here, you give the number of rights. Let's give it 10. I will save it. If we go here, we refresh it. So once we have created the required license, we will have to resolve the catalog task. So we will approve it. The state should be Closed Complete once we do this. And now, if we see, license was assigned. Also, if we go here to our license software entitlements, license allocations available is all-- automatically calculated. So this is done. So deploy application is in progress already. So I will share screen from my iPhone device to show that the request is sent to the device for deployment. So I will share. So as we can see, this is about to install and manage the app Adobe Acrobat Reader from the App Store. So I will click Install. This is the app which we sent for deployment. So it will take some time. And so loading, as can be seen on the screen. So while it loads, we can move on to next part. I think it will take a few seconds, maybe we can wait. Yeah, it's installed. As you see, this is the app. Now, I will stop shaking my iPhone screen. And we'll move back to the slides. So this is how we solve how to create catalog items and to deploy it. But if we move back to the instance, in the requester software, you will see the software which you have requested so far. And you will have the requested item linked. So for this status, if you are using SAM, we will be updating it to install or whatever the status will be. But if we are using just CSD, we are keeping it as not synced for now. So this is-- and if you want to see the list of software items which you created with CSD, then you can navigate from Software Items. So this is for creating catalog item and deploying it. If we move back to the PPT, in the bonus section, we will talk about how to manage software release and replication. So if we go to requested software, there, you will have option to extend the lease or to revoke the software. Let's do the extend lease first, because if we look, we cannot extend it. So we will give it some other day. Let's say we are giving it 30. So if we come here, in the extended lease, as the catalog item was configured to have a manager approval. So it will create-- extending a lease will also require a manager approval. So if we go here, we will impersonate and approve. So we will approve it. We will end the impersonation. If we go here, it is complete now. If we go back in the requester software, [INAUDIBLE] the requested item. We will see the lease date is now 13/5, which is the extended date. So also whenever they lease expiry comes, software will automatically revoke. But if you want to manually revoke it before that date, you can click Revoke Software. So this will trigger the revoke flow, revoke client software flow, which will trigger the client provide a specific revoke application flow. And it will clean up all the lease records. So if I go to the my mobile screen, I would share my mobile screen again. So soon, it will be removed from here. Now, as it can be seen, the app is gone as we revoke the software. So it will clean up all the lease records. Also if we go to the outbound mails, outbox, as you can see, different mails were sent. Extension request, approval request, request for has been submitted for extending lease. And this is a lease expiring mail. Then this is software is deployed. Then this is deploy request is scheduled. So all these kind of mails, if you see what's sent for the user, and this was for the manager. So these are all mails we sent. So moving back to the slides. This is end of the bonus section. We covered managing software lease and revocation. So similarly, if you want to integrate any new provider with it, make sure you create all the required flows. And you have all the required tables, which can store your software data. Once you do that, you can just click new here and gave a name to your provider. And then provide the required flows, give a software configuration table, and provide a software table. If so, that much easier to integrate any new software provider. Once you do that, you can just click Submit. And whatever process we have seen for JAMF for discovering, deploy, revoke, or extending lease, same processes applicable for any software provider which you will be integrating with CSD 2.0. Now coming the key takeaways from this session. So with CSD 2.0, we can automate the software deployment and revocation. As we saw, you just submit a catalog item. And every process for the deployment was automated. And then you and we just clicked Revoke Software, and it was automatically revoked. And coming to license check and lease management, as we saw, we didn't make a check for license. And it was not available. So we created the license to solve the catalog task. And then it was resolved. Similarly, we were managing lease. We saw how to extend the lease and how flows are triggered based on lease date. And as a last point, this is a local solution for integrating any third party software providers. As we saw, you can just build the required flows. You can set up what tables you need. And then you can just create a new provider record. And the process is the exact same which we followed. Thank you Inderjeet for the wonderful demo. So we look forward for any questions. We are available virtually. And we'll be deploying more number of spokes that can integrate with other providers, as I mentioned, like Ivanti LanDesk, Microsoft Intune, and others in the coming quarters. Thank you, everyone. [MUSIC PLAYING]