Cloudflare Workers: Isolates Instead of Containers
also called V8 Isolates
Running thousands of tenants per process using V8 isolates rather than containers, trading runtime flexibility for near-zero cold start and extreme density.
The problem
Edge compute has a hard constraint that regional serverless does not: you are running in hundreds of small points of presence, not a handful of large regions. Container-based isolation with per-tenant processes is too heavy — the memory overhead per tenant and the cold start latency both make the economics fail when a location has limited hardware and thousands of tenants.
What they did
Cloudflare Workers use V8 isolates — the same mechanism a browser uses to separate tabs — rather than containers or micro-VMs. A single process hosts many isolates, each with its own heap and its own tenant's code.
The consequences are dramatic: cold start in the region of a few milliseconds rather than hundreds, and memory overhead per tenant small enough that a single machine can host a very large number of them. That is what makes running customer code in hundreds of locations economically possible.
The trade-off
The isolation boundary is the V8 sandbox rather than the kernel or a hypervisor, which is a weaker boundary than a container or micro-VM, and it puts a great deal of weight on V8's security record. Cloudflare invests heavily in mitigations for exactly this reason.
The runtime is constrained: no arbitrary native code, a JavaScript and WebAssembly execution model, limited CPU time per request, and no long-lived local state. Code written for a general-purpose serverless platform frequently will not run unchanged.
The transferable lesson
The isolation mechanism is an architectural choice with an economic consequence, not an implementation detail. The spectrum runs from separate hardware, through VMs, micro-VMs, containers and process isolation, to language-level sandboxes — and each step trades isolation strength for density and start-up speed.
The right question is not "which is most secure" but what is the smallest unit you need to isolate, and what is the consequence if that boundary fails. Multi-tenant SaaS running untrusted customer code needs a different answer from a platform running your own services, and paying for hypervisor-level isolation between your own microservices is a cost with no corresponding threat.