Business Applications: CMDB Relationships between Platform Apps and Platform Hosts?

dwilcher
Tera Guru

Hello,
Question about an area I feel doesn't have much clarity:

So I know on a Business Application has an Architecture Type that can be used to differentiate "Platform App" vs Platform Host to allow us to represent platforms like ServiceNow that host many dependent applications.

From the CSDM 3.0 Whitepaper:
find_real_file.png

 

I have also seen some examples from ServiceNow's CSDM Foundations presentation like this:


find_real_file.png

Based on this example, I would expect that I should be using the "Provides::ProvidedBy" relationship between a "Platform Host" and its "Platform Apps" (ex: Between ServiceNow Biz App and the SN Change Biz App).

However, where my confusion comes in is that I have also see this on the SN Docs site:

https://docs.servicenow.com/bundle/paris-servicenow-platform/page/product/csdm-implementation/concep...

find_real_file.png

Furthermore, in the discussion of "Management of Business Applications located here:

https://docs.servicenow.com/bundle/quebec-it-business-management/page/product/application-portfolio-...

It at no point discusses using any specific CMDB relationships. Just the reference field.

So my question is:

  1. Is anyone aware of explicit guidance from ServiceNow on the usage of CMDB relationships for relating Platform Host Business Applications to Platform App Business Applications?
  2. If you are NOT using CMDB relationships between Platform Apps and Platform Hosts, how are you relating capabilities that are provided by platform Apps back to the platform host? It seems strange we would use CMDB relationships for Business Capability to Platform App, but NOT use CMDB relationships for Platform App <-> Platform Host.
  3. In the absence of any clear guidance from the CSDM team, is anyone relating Platform Apps and Platform Hosts today using CMDB relationships? What are you using?

 

5 REPLIES 5

Daniel Carvalho
Kilo Guru

Hello there!

I will not lay down a recommendation bellow, but I will share my actual practice.

But before that, the general CSDM understanding I recorded on my mind:

Platform Host: the very best example would be ServiceNow Platform.

Platform App: a "scoped" App (not in updateset sense, but in a functional sense), such as Knowledge Management module provided into Service Now Platform.

But that did really not fit my need. On large complex environments, we had a concept of family of business applications.

So, we customized Architecture type do add a "higher" level "platform ecosystem", choice/value/option.

A general example, not really our case but easy to explain, would be: 

Platform Ecosystem: SAP

Platform Host: SAP-FI (this is the ONLY level allowed, by methodology, to be related to Application Services as Application deployed Instances [DEV/UAT/PRO])

Platform APP: SAP Transaction XYZ (in a VERY functional, not infrastructure/technical sense)

Since only Application Services are then to be related to Infrastructure CI´s, the answers, in my case, to your questions are:

Q1. Is anyone aware of explicit guidance from ServiceNow on the usage of CMDB relationships for relating Platform Host Business Applications to Platform App Business Applications?

A1: No, not aware. Not using (using only Parent reference field). Not yet have missed or had a use case that would require cmdb_rel_ci for linking Platform Host & Platform App.

Q2. If you are NOT using CMDB relationships between Platform Apps and Platform Hosts, how are you relating capabilities that are provided by platform Apps back to the platform host? It seems strange we would use CMDB relationships for Business Capability to Platform App, but NOT use CMDB relationships for Platform App <-> Platform Host.

A2: Not yet using Capabilities; but it is a good question, but very linked to expectations one might have. From our use case, linking Capabilities to Platform Host would indeed address all our ALM needs/requirements, but would let us without relating Platform Apps to Capabilities (as a more functional view). Linking both (Hosts and Apps to Capabilities) probably would lead to chaos, so we would not go down that road. Linking to the Platform App feels like heavy work to maintain, but I guess that, Reporting-wise, it would be possible to produce a report view using dot.walk that shows Parent (Host)>>App>> Capability. I perceive this view as answering your quest. Consolidated views per Host probably would require some excel/PowerBi data massaging.

Q3. In the absence of any clear guidance from the CSDM team, is anyone relating Platform Apps and Platform Hosts today using CMDB relationships? What are you using?

A3: I guess answered in all above.

Best of Lucky!

Daniel

CasperJT
Tera Guru

Hi There,

The should be a UI policy called 'Show Platform host when Architecture type is Platform application and make it mandatory' which shows the Platform Host field below the Architecture Type field:

Business Rule:

find_real_file.png

 

find_real_file.png

Result: 

find_real_file.png

 

There are actually three UI Policies relating to the architecture type:

find_real_file.png

 

If your instance is not showing this attribute I would advise you reach out to your administrator / ServiceNow to look in to it.

 

Regarding your second question, I would perhaps argue, that if you decide to add Platform Apps on a particalur application, then you should have the adequate amount of apps to relate to all the relevant Capabilities, as the host will only be a host for the business oriented apps.

Hope this helps. All the best,

Casper

rwdingus
Tera Contributor

ServiceNow has an attribute called Platform Host on the Business App table that is the dotted line reference in the model diagram. At minimum on the Platform App business app, the Platform Host reference should be populated. If you do that and you look at the dependency map of ServiceNow (if that's the host you're using), you should see all of the platform applications reference related to ServiceNow (ie APM, HRSD, Incident, etc.).  Where you would use a CI Relationship is between the app service for ServiceNow (the platform host) and the app services for the platform applications (APM, HRSD, Incident, etc.).

 

Roger

Miklos Palfi
Tera Expert

I really like the this video with Mark Bodman about the platform modeling:

https://www.youtube.com/watch?v=-wD-E5IBzys

 

We have the platform topic still in our backlog, because every time we start with it, it gets really complicated. We are at the moment on one maturity level before being able to model platforms well, we are now sorting out our application services (which are mostly manually created), looking at auto generated application services (with New Relic and Discovery) and hopefully we get there to model platforms correctly. Therefore any thoughts, bast practices, experiences are highly welcome!

This is the first video in our CSDM example series to demonstrate how the CSDM model supports various patterns and examples. In this video we will cover how CSDM supports modeling Platforms, which are a very common pattern, and represents how ServiceNow could be represented in the model. Be sure ...