CMDB Best Practice: Modeling Shared Batch Servers Supporting Multiple Applications

rajsriram34
Giga Contributor

Hello Community,

We are looking for best-practice guidance on modeling batch servers and their application relationships in CMDB.

Current situation:

  • We have multiple batch servers that support multiple applications (many-to-many relationship).
  • Currently, each batch server is directly related to every Application Service it supports.
  • As the number of applications and servers grows, the CI relationship structure becomes very complex and difficult to manage.

Example:

  • Batch Server A supports Applications 1, 2, and 3.
  • Batch Server B supports Applications 2, 3, and 4.
  • Each server is currently mapped directly to the related Application Services.

Objective: We would like to understand the recommended ServiceNow CMDB/CSDM approach for modeling shared batch infrastructure.

Questions:

  1. What is the ServiceNow best practice for managing batch servers that support multiple applications?
  2. Should batch servers be grouped under a dedicated technical service, infrastructure service, application cluster, or another CI type?
  3. How do other organizations model shared batch processing environments to avoid excessive CI relationships?
  4. Is there any CSDM-aligned pattern or reference architecture for this scenario?
  5. What are the pros and cons of direct server-to-application relationships versus introducing an intermediate layer (e.g., Technical Service, Application Component Group, or Server Group)?

Any examples, architecture diagrams, or lessons learned would be greatly appreciated.

Thank you!

1 REPLY 1

sachinvic
Giga Guru

@rajsriram34 

Hi,

For this scenario, avoid creating direct relationships from every Application Service to every shared batch server if the servers are essentially providing a common infrastructure capability.

 

A cleaner CSDM approach is to model the shared infrastructure separately:

C4.png

This keeps the infrastructure relationship manageable as the number of servers and applications grows. CSDM guidance specifically describes Dynamic CI Groups as a way to group infrastructure CIs, while Application Services represent the deployed application service and its dependencies.

 

The key is to model the capability being provided, rather than creating a large number of point-to-point relationships simply because multiple applications use the same servers.

 

If the batch servers are actually part of a specific application's runtime stack, then an Application Service >> Application/Application >> Server dependency may be more appropriate.

 

So the decision should be based on whether the servers represent shared infrastructure capability or application-specific runtime components.

 

FYR:

https://www.servicenow.com/community/common-service-data-model-forum/csdm-relationships-for-dynamic-...

https://www.servicenow.com/community/common-service-data-model-forum/relating-application-services-t...

 

Helpful? Please mark the response as Accepted Solution ✅ and close the thread — it helps others find the solution faster.

 

Regards,
Sachinvic
✨ ArchX Certified | 16x ServiceNow AI MVP