Cloud Development Environment Platform  ·  View 13 of 21  ·  Runtime

Critical Flow — Resuming a Hibernated Workspace

Sixteen messages inside a 2.5-second budget, one of which is a deliberate piece of bad news.

Editable source SVG draw.io All views
Developer Edge gateway Control plane Host agent Snapshot store Workspace VM Secret broker 1. connect workspace/42 2. authorise principal 3. resume request 4. quota · spend · region 5. incarnate (snapshot ref) 6. fetch memory image 7. image + block map 8. restore microVM 9. guest agent up 10. re-sync clock · topology 11. request git token 12. scoped, 15-min token 13. attach endpoint 14. terminal live (p95 2.5 s) 15. blocks in background 16. lost interval since snapshot Critical Flow — Resuming a Hibernated Workspace Message 16 is drawn as a failure path but is designed behaviour: where the 5-minute RPO cost work, the resume says so. v 1.0 · owner Platform Architecture · date 2026-10

Decisions

  • The connection itself triggers the resume. The gateway authorises, asks the control plane once, then holds the client with progress while the host agent restores (ADR-09).
  • Blocks are fetched lazily: the workspace is usable after the memory image and the block map, with the remainder streaming in the background, so resume latency does not scale with disk size (ADR-02).
  • Clock, network topology and brokered credentials are all refreshed on resume, because a restored memory image is a machine that believes it is still yesterday.

Assumptions

  • Resume p95 ≤ 2.5 s with memory state; placement decision p99 ≤ 150 ms; snapshot restore ≥ 1.2 GB/s per host.
  • Credentials are re-brokered on every resume rather than restored from the image.

Risks

  • Message 16 — the lost interval since the last snapshot — is the honest consequence of a 5-minute RPO. Suppressing it would be the single worst change anyone could make to this design.
  • A snapshot-store stall converts every resume into a retryable error; the failure must never present an empty filesystem as a successful resume.