Calculating the Availability Commitments for the Technical Service Offerings mapped to Dynamic CI Groups

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-22-2021 02:33 AM
Hi All,
We are in the SN Paris version and working on CSDM 3.0 and presently implementing Manage Technical Service Domain.
We have questions on the availability commitment for the technical service offerings mapped to the Dynamic CI Group.
As per the ServiceNow docs, the availability is calculated based on the outage records. If a Technical Service Offering is connected to an application service and a CI within the application service is down / unavailable (Major Incident), an outage record is created on the CI that maps to the application service. This will create an outage of the application service as well. So if the application service is down, then the Technical Service Offering availability is also reduced. This calculation is perfect.
But there is an issue when the Technical Service Offering is mapped to the Dynamic CI grouping. Suppose, we have a Windows Dynamic CI group that has 1000 Windows Server CIs grouped dynamically. The Technical Service Offering has an availability commitment of 99.9% with a schedule of 24 X 7, now if there is an outage created on one of the window's server for 10 hrs then the availability is also getting reduced and calculated for the entire Technical Service Offerings as the servers are grouped dynamically.
Now the question is?
How can one server availability decide the availability of the entire offering as there are other 999 servers available and online?
How do we calculate the outage for only one server without affecting the availability of the entire offering?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-22-2021 02:43 AM
Hi Kiran
This is a very good question, I think, I have worked with this challenge in several year and there is as I see it 2 options:
- You unfortunately have to create a service offering for each server, if you want a availability per server calculated by ServiceNow, alternative, you have to "modify" the availability calculation code to support specific CI's such as Server - but there will be a lot of data here.
- Get the Server monitoring tool to deliver the availability report/data, which is what most of the customers I have worked for has done.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2022 01:25 AM
Hello Kiran,
we identified the similar challenge to get the "CI Availability" calculated within ServiceNow and without any external tool or so. Yes, this method is not perfect but the tool contains the majority of data (outages, planned outages, CIs, Changes create planned outage, Incidents create Outages etc.)
We solved it even we are aware this method is not as good and, very important, the SN calculation script includes (Mainly the "AvailabilityCalculator") has an error by not considering any of the "Offering" Status (Service Availability is wrong as well) or in our case the CI "Operational Status".
But it´s even written in one of the ServiceNow documentations (didn´t find it quickly) that CI Availability calculation is NOT supported.
Anyway we did it by:
1. creating a custom table similar to "service_availability" and instead of the "Service Offering" attribute we use here the "Configuration Item" attribute
2. copied, modified 3 required Script Includes which are "AvailabilitySummarizer", "AvailabilityRecord" and "AvailabilityCalculator" and saved them with a new Name e.g. "CIAvailabilitySummarizer"..... these exist in parallel to the OOTB Script Includes to prevent risks with any Instance updates
3. created a scheduled job starting every day at ~11 AM to start the "CIAvailabilitySummarizer" to calculate (triggers the "CIAvailabilityCalculator" and then saves the Data in the new Table with "CIAvailabilityRecord".
4. Enhanced selected CMDB Classes with related Lists to select per CI a "CI commitment" (that´s the Availability commitment). Additionaly we show as Related List per CI the "CI Availability" and "Outages" - this is useful for the CI Owner.
5. Key configuration was then to limit which CI Class can be used for the CI Availability Calculation.
There are different methods, so it don´t get in detail here.
This solution works now for nearly 3 month.
And i just found out the OOTB Script Include "Availability Calculator" we copied and modified only in details has a major OOTB failure. It doesn´t consider the Status (I prefer the Operational Status) of a CI.
NOTE: an Offering is as well a CI
This cause as well a wrong "service availability" calculation for "offings" which are in Status "Retired" -> they are shown as "Total availability = 100%"
And so it causes a similar failure for our "CI Availability" showing "Total availability = 100%" for a "Retired" CI.
I am right now working on a solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2022 01:27 AM
P.S. we currently do not use the "Technical Service Offering"....
Just saw that´s maybe missing in my answer
this solution was developend on Rome Release, runs currently on San Diego Release and also will be used on future Releases.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2022 11:15 AM - edited 10-12-2022 11:16 AM
SPM services and offerings model catalog requests so if they have an availability, it would pertain to their availability in the Service Catalog. I recommend using ITOM services (Application Services and Application Service Groups) for all availability calculations. When the Application Services are mapped to the CIs they depend on, you can calculate availability at any point in the operational hierarchy.
I've attached my view of the Gold CSDM Quadrant from the ITOM perspective. The gold quadrant is for operational CIs and Services that run (they all have operational states and severities that change over time) in the supported customer environments (e.g., Dev,QA,Test, and Prod).
The CMDB model allows for SPM Technical services to be related to ITOM Dynamic CI Groups (a.k.a. pre-Rome ITOM Technical Services). SPM Services can't inherit availability from their related ITOM Services. Asking for the availability of an SPM Service or Offering would be similar to asking for the availability of a Business Application. The more appropriate question would be: "What is the availability of the Application Services in the <Dev,QA,Prod> environment where Business Application XYZ is deployed?"