Operations6 min read

What changes when the fleet gets big

Scale is not more endpoints. It is more kinds of endpoint, more classes of software and more gates in the process, and each one fails in a recognisable way.

Scale is not more endpoints. That is the assumption worth dropping first, because it leads teams to plan for volume when the actual difficulty is variety.

What changes is the number of different kinds of endpoint, the number of classes of software and the number of gates in the process. A hundred thousand identical kiosk devices are a straightforward application control problem. Five thousand devices split across developers, finance, field staff, roaming laptops, non-persistent virtual desktops and partner managed builds is a hard one.

None of what follows is about whether application control works. It works. All of it is about whether it can be operated.

Grouped into four, because twelve individual difficulties have far less than twelve causes.

The software moves and the policy does not

At a few hundred devices this is a maintenance task. Something changes, somebody notices, the rule gets updated.

At a hundred thousand, something changes every day across thousands of applications, and the way you find out is a user telling you rather than the policy telling you.

Three specific versions of it:

Large auto-updating suites move faster than approvals. A vendor with a monthly or fortnightly cadence will out-run any change process that requires a person per release. This is the case where teams reach for the application's own updater as a trusted installer, which widens the trusted set without anybody approving what is in it.

Vendor software and line of business applications age differently. Vendor code arrives signed, on a schedule, from an organisation that will still exist next year. Internal applications arrive when a project ships, often unsigned, sometimes from a team that has since been restructured. One policy holds both.

Development toolchains generate and run new binaries. A compiler is a machine for producing files that have never been seen before, which is exactly the thing an allowlist is designed to stop. Any estate with a developer population has a group whose normal working day looks like the threat model.

Not every device reports the same way

At small scale you can read the events. That sentence stops being true earlier than people expect.

At large scale there are millions of events and none of them names an application or an owner until somebody works it out. That translation work, done by hand, is what turns a quarter into a year, and it is almost never in the original plan.

Non-persistent VDI discards its evidence at every reboot. A device that resets to a clean image does not accumulate execution history, so a whole population contributes nothing to discovery unless the evidence leaves before the reset does.

Roaming laptops report late, or not until they return. A policy decision made on Tuesday from data that is missing every field device is a decision made on a partial estate. The gap is not random either, because field devices tend to run the unusual software.

Windows servers sit in the same estate on different rules. They are in scope for the same standards and the same auditors, and they need a different policy shape. Treating them as large desktops is a recognisable way to break something that matters.

Recovery has to beat the news

At a few hundred devices, a bad rule is a bad afternoon.

At a hundred thousand, a bad rule reaches a whole ring before anybody tells you, and the fastest fix available to the service desk becomes the permanent one.

One small break is a news story before it is a ticket. Anything customer facing, clinical, or on a trading floor has an external audience for its outage. The technical severity and the organisational severity are different numbers.

Incident management expects an answer, not an investigation. When a major incident is raised, the acceptable response time is minutes. A code integrity event that requires somebody to correlate a hash against a build does not fit inside that window.

Users need supporting in minutes, which means shifting left. If only the specialist can explain a block, every block escalates. If the first person a user speaks to can say what was refused and why, most of them stop there. That single change decides whether the programme is sustainable.

The risk in this group is not the outage. It is what the outage teaches people to do. A broad exception with no expiry is the quickest way to get a user working, and a policy accumulates those quietly until it no longer narrows anything.

The process has more gates than the policy

This is the one that gets left out of business cases entirely, because it is not technical.

Security authorises the extension of trust. Packaging understands what an installer actually does. The service desk absorbs the impact of every decision. Change management gates anything reaching production. None of those are optional and none of them report to each other.

Change management gates every policy that reaches production. Which is correct, and it means the number of policy revisions you can make in a month is a property of your governance rather than your tooling.

Partner managed devices connect on somebody else's build. They are in your network, running software you did not choose, under a policy you do not own. Pretending they are in scope is worse than naming them as a gap.

Governance and reporting are asked for by people who never log in. A board paper and an audit response are deliverables of this programme. If producing them is a manual exercise, they will be produced late and infrequently, which is indistinguishable from the control not working.

And at a certain size, one base policy stops fitting every business unit. One policy estate, a profile per business unit covers the structure that replaces it.

What all four have in common

Not one of these is a limitation of the enforcement engine. Windows makes the execution decision in the kernel and does it reliably at any fleet size.

Every one of them is a property of the operating model around that decision: whether change is detected rather than reported, whether evidence arrives already attached to an application and an owner, whether a mistake can be reversed faster than it can be escalated, and whether the people who have to agree can see the same thing at the same time.

Which is why the useful question before a large rollout is not whether the technology can enforce. It is who does each of these jobs on the day, and what they are using to do it. Who application control actually involves sets out the functions, and the platform sets out where each of them sits in the sequence.

All four are the reasons PoliEze exists. Change you are told about rather than told about by a user, evidence that arrives already attached to an application and an owner, a reversal that is faster than an escalation, and one place where the teams who have to agree can see the same thing at the same time. The platform sets out what that covers.

Questions about this

Why does application control get harder at scale rather than just bigger?
Because the difficulty is not device count. It is the number of different kinds of device, the number of classes of software and the number of approval gates the process has. A hundred thousand identical kiosks are easier than five thousand devices split across developers, finance, field staff and partner managed builds.
What makes non-persistent VDI a problem for application control?
The evidence needed to build and maintain a policy is discarded at every reboot. A device that resets does not accumulate the execution history that discovery depends on, so the estate has a population it cannot learn from unless the evidence is collected before the reset.
Why does a rollout take a year instead of a quarter?
Usually because the events arriving do not name an application or an owner, so somebody has to work that out before any decision can be made. That translation work, done by hand, is what consumes the schedule. The policy authoring is rarely the bottleneck.
What is the risk in how the service desk resolves a block?
That the fastest available fix becomes the permanent one. Under pressure, the quickest way to unblock a user is often a broad exception with no expiry, and a policy accumulates those quietly until it no longer narrows anything.
Does one base policy work across several business units?
Rarely, past a certain size. Different units need different software, and a single policy has to be the union of all of it. The workable structure is a shared foundation with a supplemental scoped per unit, and the deny set held centrally because a deny in a supplemental is ignored.

Related reading

Stuck on the thing this article describes?

If you are working through this on a real fleet and it is not going the way the documentation suggests, that is the conversation we are best at. Send us the block events.