1. User deploys function.zip via POST /deploy
2. Control plane builds a minimal rootfs with user code inside
3. Firecracker VM boots, runtime initializes
4. Memory snapshot is created and stored
5. On invocation: a. Pull a warm VM from the pool (if available) b. If no warm VM → restore from snapshot c. Send request via vsock d. Runtime executes handler e. Response returned to client
1. User deploys function.zip via POST /deploy
2. Control plane builds a minimal rootfs with user code inside
3. Firecracker VM boots, runtime initializes
4. Memory snapshot is created and stored
5. On invocation: a. Pull a warm VM from the pool (if available) b. If no warm VM → restore from snapshot c. Send request via vsock d. Runtime executes handler e. Response returned to client
1. User deploys function.zip via POST /deploy
2. Control plane builds a minimal rootfs with user code inside
3. Firecracker VM boots, runtime initializes
4. Memory snapshot is created and stored
5. On invocation: a. Pull a warm VM from the pool (if available) b. If no warm VM → restore from snapshot c. Send request via vsock d. Runtime executes handler e. Response returned to client - Boot the VM once
- Load the Node.js runtime (my project not AWS) and function handler
- Snapshot the initialized memory state to disk
- On every subsequent invocation, restore from that snapshot rather than booting fresh - Function deployment (accepts a zip, builds a minimal rootfs)
- VM lifecycle (create, snapshot, restore, destroy)
- Per-function request queues with concurrency control
- Multi-tenant scheduling - A minimal Linux kernel + custom rootfs
- Node.js runtime executing user handlers
- Deterministic execution: one request → one execution → response - vsock (virtio sockets) for host ↔ VM communication. vsock is designed specifically for VM-to-host traffic and avoids the overhead of a full network stack.
- Unix domain sockets for intra-VM routing. Faster than TCP for local communication, no kernel networking stack involved. - How Firecracker's works and why it matters for security
- Why vsock exists and what problem it solves over TCP
- How rootfs construction works at a practical level
- Why the IPC layer is the performance bottleneck in VM-based execution, not the VM itself
- How to think about isolation vs. throughput tradeoffs in real systems