Default Environment Classification

The TCO model applies different cost assumptions to Production and Non-Production servers, such as reserved instances and full backup in production, or Dev/Test pricing and reduced uptime in non-production (see TCO Settings). For those assumptions to land on the right servers, every server needs an environment.

Discovery data rarely states the environment for every machine. Where it doesn't, Dr Migrate predicts one, working through a series of evidence-based signals in priority order. This page explains that process in plain terms so you can understand how any server was classified, and correct it where needed.

Recorded environments always win. The prediction only fills gaps. Any environment already recorded in Dr Migrate is kept as-is, and any environment you correct in the platform overrides everything described below.

The target split

Across a typical estate, production and non-production servers tend to exist in roughly equal numbers, so Dr Migrate targets a 50/50 split between Production and Non-Production. The signals below assign environments one stage at a time, and after every stage Dr Migrate checks how many Production and Non-Production slots remain in the target. Once the target is met, classification is complete.

Classification signals, in priority order

Each signal only classifies servers the earlier signals couldn't. A server keeps the first environment it is given.

Priority Signal What it looks at
1 Existing environment Environments already recorded in Dr Migrate.
2 Power status Whether the VM is powered on or off.
3 Server category How many platform, security and workplace roles the server performs.
4 VM name Environment keywords in the machine name.
5 VM description Environment keywords in the machine description.
6 Network analysis Connection counts and affinity groups from network data.
7 Name similarity Naming patterns shared with servers whose environment is known.

1. Existing environment

Any server already recorded as Production or Non-Production, whether from discovery data, a bulk upload or a manual edit, keeps that environment. This is the strongest signal and is never overridden by the predictions that follow.

2. Power status

A powered-off server is unlikely to be serving production workloads, so powered-off VMs are classified as Non-Production. Power status is only ever used as a non-production indicator. Being powered on doesn't imply production.

3. Server category

Dedicated production servers usually do one job. A server whose installed software spans several distinct platform, security or workplace roles is more likely a general-purpose utility or sandbox machine, so servers spanning multiple such categories are classified as Non-Production.

4. VM name

Machine names often encode the environment. Names containing keywords such as PROD or PRD indicate Production; names containing DEV, TEST, UAT, QA, PREPROD or NONPROD indicate Non-Production. The matching is careful with edge cases. For example, a name containing "NON-PROD" or "PRE-PROD" is never treated as production just because it contains the letters "PROD".

5. VM description

The same keyword approach is applied to the server description captured during discovery. Descriptions mentioning production classify the server as Production; descriptions mentioning development, testing, UAT, QA or pre-production classify it as Non-Production. Misleading phrases such as "products", "not prod" or "scream test" are excluded so they don't produce false matches.

6. Network analysis

When network connection data is available, Dr Migrate uses it in two ways:

  • Connection counts: servers that communicate with only a small number of other machines tend to be dedicated, single-purpose systems, which points to Production.
  • Affinity groups: Dr Migrate maps which servers talk to each other and groups tightly connected machines together, first setting aside likely shared services and IT tooling so they don't blur the picture. Servers in a group inherit the environment that dominates among the group's already-classified members, because machines that work together usually live in the same environment.

7. Name similarity

Finally, Dr Migrate groups servers with similar naming patterns, ignoring domain suffixes, numbering and separators, and applies each group's dominant known environment to its unclassified members. If APPSVR01 is known to be Production, APPSVR02 is almost certainly Production too.

After the signals

Any servers still unclassified once all signals have been applied are balanced toward the target split, so every server enters the TCO model with an environment and none are left uncosted.

The predictions are a starting point, not a verdict. Where you know a server's real environment, correct it in the platform. Recorded environments always take priority, and every correction sharpens the Production and Non-Production cost assumptions in TCO Settings.

© 2025 Altra Technologies