Architecture
A Nimbus deployment has three moving parts:
- Edge router — accepts every incoming request and routes it to the nearest region running your function.
- Function runtime — a lightweight V8 isolate (or, for Python, a sandboxed interpreter) that executes your code with a cold start under 5ms.
- Control plane — the service behind
nimbus deploy, responsible for distributing new versions to all 30 regions and rolling back failed deploys.
Request lifecycle
Section titled “Request lifecycle”- A request hits the edge router in the region closest to the client.
- The router checks for a warm isolate running the latest deployed version of your function. If none exists, it cold-starts one.
- Your function runs and returns a
Response. - The router streams that response back to the client and records a trace.
Deploys are atomic
Section titled “Deploys are atomic”nimbus deploy uploads your function to a staging slot in every region, health-checks
it, then flips traffic over all at once. If any region fails its health check, the whole
deploy is aborted and traffic stays on the previous version.