Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

When Should an Application Be Modeled as One Application Service vs. Multiple Application Services?

ravivsnow
Tera Contributor

In a complex enterprise environment, an application may have multiple instances, environments, regions, and technical dependencies.

How do you determine the correct architectural boundary of an Application Service in CSDM?

For example:

- Should DEV / TEST / UAT / PROD be separate Application Services?
- Should different regional deployments be modeled as separate Application Services?
- Should a single business application with multiple technical stacks have one or multiple Application Services?

Where do you draw the architectural boundary, and what governance criteria do you use to make this decision consistently?

2 REPLIES 2

AndersBGS
Tera Patron

Hi @ravivsnow 

 

I would advise you to think as it as installed instances. If you have an installed instance of a business application called prod, UAT, dev then you have 3 installed instances… if you have 2 installed instances of prod, UAT and dev, then you have 6 installed instances which reference to the same business application.

 

If my answer has helped with your question, please mark my answer as the accepted solution and give a thumbs up.

Best regards
Anders

Rising star 2024
MVP 2025
linkedIn: https://www.linkedin.com/in/andersskovbjerg/

eriksandber
Giga Contributor

I agree with Anders that the installed instance is the right starting point. I would add one architectural consideration because I think your last question is the most important:

Where do we draw the boundary consistently?

I would treat environment and deployment topology as boundary signals, not the complete governance rule.

The stronger boundary is operational identity.

In practical terms, create a separate Application Service or Service Instance where the enterprise needs to operate, change, measure, secure, govern, or assess impact independently.

I would test that boundary across six dimensions.

1. Failure

Can this deployment fail independently while another deployment of the same Business Application remains operational?

If PROD US can fail while PROD EU continues operating, that is evidence of distinct operational identity. The important question is not simply whether the infrastructure differs, but whether the failure has a meaningfully different operational impact.

2. Change

Can the deployment be released, upgraded, patched, maintained, or rolled back independently?

Separate release calendars, maintenance windows, deployment pipelines, or lifecycle states are strong boundary signals. DEV, TEST, UAT, and PROD frequently meet this test because they serve different lifecycle purposes and change independently.

3. Accountability

Does ownership materially differ?

Who owns the service? Who supports it? Who approves changes? Who is accountable when it fails? Who owns the operational risk?

If those answers differ across deployments, that is strong evidence for separate service instances.

4. Measurement

Does the organization need independent visibility into availability, health, incidents, changes, performance, SLAs, vulnerabilities, or operational risk?

If leadership or operations needs to measure those outcomes independently, combining the deployments may make the service model too coarse.

5. Impact

Would combining the deployments distort impact analysis?

If an incident, change, vulnerability, or infrastructure failure affecting one deployment causes ServiceNow to imply that a broader service is affected than actually is, the boundary is probably too broad.

A useful CSDM model should help the enterprise understand the actual operational blast radius.

6. Governance and risk

Geography or technical architecture should not automatically create another Application Service.

Geography becomes relevant when it changes regulatory obligations, data residency, security requirements, support ownership, availability commitments, or operational accountability.

The same principle applies to multiple technical stacks. Different stacks underneath the same Business Application do not automatically require different Application Services. Separate them when they represent independently operated service instances, not merely different implementations.

That distinction matters because:

CSDM should not simply reproduce the technology stack at a higher level.

The Business Application represents the logical application from a portfolio and design perspective.

The Application Service or Service Instance represents a deployed operational realization.

The underlying CIs represent the technical composition supporting that realization.

My rule of thumb would therefore be:

Create a separate Service Instance when the enterprise must independently operate, change, measure, secure, govern, or assess the impact of that deployed realization.

If none of those characteristics are meaningfully independent, another Service Instance may add complexity without improving operational understanding.

A single Business Application can therefore legitimately have multiple service instances representing PROD, UAT, regional deployments, or other independently operated realizations without duplicating the Business Application itself.

The objective is not to maximize or minimize the number of Application Services.

The objective is to model the boundaries where operational accountability becomes meaningfully different.

That gives you a repeatable governance rule across environments, regions, technologies, and future applications rather than making each modeling decision based solely on topology.