Web farm deployment

Definition

Running one application across several servers behind a load balancer, so consecutive requests from the same user may be handled by different machines.

Web farms break anything that assumes a request lands where the previous one did. Document viewers are unusually exposed to this, because opening a document creates server-side state — the rendered pages — that later requests expect to find.

The naive fix is sticky sessions, pinning a user to one node. It works until that node is drained for deployment, at which point every open document in flight fails at once.

The durable fix is a shared render cache. Any node can serve a page for a session any other node opened, so nodes become interchangeable and rolling deployments stop being an event.

In Doconut

Web farm and distributed deployment are supported through a shared render cache, so a session opened on one node stays readable from another. Cached page images are derived copies of sensitive documents — give the cache an eviction policy that matches your retention rules.

See how it works in practice

Definitions only carry you so far. A temporary licence runs on your own machine, against your own documents.