TBM Framework & Taxonomy

 View Only

TBM Integration with ServiceNow CSDM 

Attachment(s)
pdf file
A3810 TBM Integration with ServiceNow CSDM Whitepaper.pdf   3.74 MB   1 version
Uploaded - 10-19-2023
xlsx file
TBM Integration with ServiceNow CSDM (supplemental refere....xlsx   44 KB   1 version
Uploaded - 10-19-2023
10-19-2023 13:53

TBM systems are regularly integrated with adjacent platforms to supplement their data models and expand decision support. ServiceNow® is a widely adopted platform for ITSM which leverages the Common Service Data Model (CSDM) as a common data architecture to manage the increasingly complex digital landscapes of modern businesses. This creates a key opportunity for TBM practices to establish and manage visibility across numerous tables and data elements within their TBM systems with a single integration effort.  

   

This TBM & ServiceNow® CSDM guide provides guidance and best practices for integrating ServiceNow’s CSDM with the TBM Taxonomy and standard, purpose-built TBM systems.  Both the TBM Taxonomy and CSDM are updated regularly. Both the TBM Taxonomy and CSDM are updated regularly, and updates to this guide will be maintained by the Council. This guide is available to TBM Council members. The guide and supplemental spreadsheet of TBM Taxonomy and ServiceNow® CSDM mapping is available to TBM Council members. 

Statistics
4 Favorited
218 Views
2 Files
0 Shares
136 Downloads

Comments

02-14-2024 12:07

Hi Paul. Our research team consisted of many different professionals over the course of its two years of analysis. Notably, our team included one of the premier experts at ServiceNow who teaches CSDM and guided us to many of our conclusions and recommendations.

I would be very happy to extend an invitation to you to join our team should it be sponsored for a third year of research to focus on the next generation of CSDM.

02-13-2024 20:43

@Jack Bischof the Business Application is the thing that is deployable.  The SDLC Components are the abstract components that represent how it is deployed (if you choose to use this optional component.)  The Application Service is the thing that has actually been deployed.  Though in theory you are correct that the Status of the CIs involved could indicate otherwise I can tell you that this is unlikely the case and I have never seen this to be true.  People are generally unlikely to map the things that have been deployed due to the difficulty in doing so, let alone spend the effort in creating a map of proposed future components.  Possible yes, but likely no, and not something that should be a defining characteristic. 

As for your second point of Applications not being on a separate Server, I would acquiesce that in theory you could represent something "serverless" as an Application, in reality those things are actually not represented as Applications in the tools that ServiceNow provides.  Containerization is a concept that is certainly included in the CMDB data model, but it works differently than you are suggesting.  Could you manually define an Application CI to represent something that has no specific host that you manage?  I suppose, but again this is not commonly done and not a defining characteristic of the class.  If you look in the CMDB CI Class Manager you will see that an Application running on a specific Server is a defining characteristic of the class.

02-13-2024 20:33

Unfortunately I cannot attest to the complete accuracy of ServiceNow's documentation.  There could have been a documentation error or some misinterpretation.

02-13-2024 20:31

@Matt Temple you are unfortunately misinformed.

The Application Service class is most definitely and incontrovertibly a representation of a specific instance/stack/environment, a collection of applications, hosts, infrastructure that is deployed as a managed instance of a Business Application.  The child classes of Application Service represent the different methods of population, that is true.  However, the cmdb_ci_service_discovered class does not represent manual population.  To the contrary, it is the Mapped Application Service class, which supports both top-down discovery and manual population methods.

The Application (cmdb_ci_appl) class, is defined as a piece of software installed on a Server and running as a process in support of an application service.  Examples of an Application would be a specific MSSQL instance, a Tomcat or JBOSS installation, or an Apache web server, many of which could be combined in a single Production, Test, or Dev instance of a Business Application -- which again is the Application Service.  The very CSDM diagram itself shows this and all of the defined relationships within the platform and in the CDSM white paper back this up.

My point in making my previous comment was to inform you so that you can correct what is indeed a glaring error and will likely lead consumers of the document astray if not corrected.  You are of course welcome to ignore it, but I would strongly advise you to look into the merits of my comments a bit deeper if you wish this paper to be most effective in its goals for your intended audience.

02-13-2024 18:05

Hi @Paul Coste. Hopefully, my assumption you are referring to the ServiceNow specific definitions we have shared is accurate. If not, please feel free to course correct me. ;-)

The ServiceNow definitions of Business Application, Application, and Application Service were taken from ServiceNow's documentation.

In terms of CSDM best practices...

Application Service is definitely a "deployable" representation of a Business Application.

The "deployed" instance of the Application Service is the Application (CI) record.

@Tae Sondreal, ServiceNow's table names are sometimes misleading. The [cmdb_ci_service_auto] table has some child classes to accommodate various input methodologies. For example, the [cmdb_ci_service_discovered] table supports the manual population method of Application Services.

A list of tables and descriptions as of the Tokyo release is available below for further review:

https://docs.servicenow.com/bundle/tokyo-servicenow-platform/page/product/configuration-management/reference/cmdb-tables-details.html

11-07-2023 10:40

Paul Coste - I agree with you regarding the Application Service and Application definitions, it is subtle but extremely important.  As an example of how important Paul's comments are, Application Services are typically auto-discovered with ServiceNow, and to boot, the table being identified, cmdb_ci_service_auto, confirms this.

I think we are missing a key piece in the mapping with the latest CSDM - Product Models - specifically Application Product Model and Software Product Model. 

11-04-2023 04:53

Thanks for your feedback Paul, this document will continue to evolve with the help of members like you! We continue to review the solution layer, and specifically the definition and inclusion of "applications" as tech evolves. A few clarifying responses below:

    1. It is possible that a deployable business application instance is resident in a CMDB, or in a TBM system, before it is actually deployed, just with a different state or purpose. It will not always be deployed. Consider organizations with robust/mature change processes or SAM capabilities, or with high resiliency requirements, that inventory apps for rapid deployment or provisioning. 
    2. It is true that it is more than a “deployed instance”, and should include “components” of instances, but they will not always run on a specific server. This is especially true in modern architectures where application layers may be connected across multiple platforms (e.g. private/public cloud, on-prem) and/or may relocate to a different server or container regularly, as in the case of virtualization.

11-01-2023 13:53

The definitions of Application Service and Application are not quite right.  An Application Service is actually the "deployed instance of a business application" not a "deployable business application".  And an Application is not a "deployed instance of an Application Service" but rather it is a "component of a deployed application service which represents a specific piece of software that is installed and running on a specific server".