Scaling to 1M concurrent sandboxes in seconds
thundergolfer
47 points
12 comments
July 16, 2026
Related Discussions
Found 5 related stories in 592.7ms across 14,015 title embeddings via pgvector HNSW
- Scaling opencomputer from 1 VM to 1 million sandboxes iacguy · 11 pts · June 18, 2026 · 75% similar
- Sandboxing AI agents, 100x faster kentonv · 33 pts · March 24, 2026 · 59% similar
- Making 768 servers look like 1 aarvin_roshin · 22 pts · July 15, 2026 · 55% similar
- Making 768 servers look like 1 hisamafahri · 30 pts · July 16, 2026 · 55% similar
- How many sandboxed pods can fit in a Pi? _ananos_ · 11 pts · May 20, 2026 · 53% similar
Discussion Highlights (7 comments)
cweld510
I'm a huge scheduling nerd, and the container scheduling system in this post is probably the most impactful system I've worked on. It's quite different than existing solutions, and I personally feel it's at an interesting point in the design space -- very distributed, no strong consistency anywhere, and oriented towards massive scales. Would love to hear feedback and thoughts!
_pdp_
You can scale firecracker vms like really fast. In our shop we have a simple go service that maintain the state in a sqlite database. The only requirement is bare-metal servers.
no_circuit
Sounds like the lesson learned is using the right tool for the job -- reusing Kubernetes in an existing cluster to spin up sandboxes is a fair initial path to start offering the service. But Kubernetes likely isn't meant for rapid churn of workloads, here sandboxes. The architecture to me seemed very similar to SeaweedFS [1] (Facebook Haystack [2]) except with an extra layer for sandbox-hosting nodes. Like requests go into a master, or the global load balancer, then to a volume server, which in turn knows where the files/sandboxes should go. There is no need for sandboxes to be managed with the Kubernetes overhead since the the nodes/bare metal servers probably have scheduling taints on them to preserve the memory/cpu for the sandboxes. [1] https://github.com/seaweedfs/seaweedfs [2] https://www.usenix.org/legacy/event/osdi10/tech/full_papers/...
summerevening
Every scheduler node has cached view of whole cluster and optimistically makes a scheduling decision, retrying on conflict? Any tricks you did to reduce conflict rate? Is there a certain cluster saturation threshold (little free capacity) where conflict rates would get too high?
summerevening
Do you binpack containers such that you overcommit cpu/ram on the machines to drive up utilization? Did you do any simulations to see if this optimistic distributed scheduling approach maintains on-par utilization and low preemption rates to a non-distributed scheduler?
summerevening
What was the hardest part/most unexpected design challenge in getting this to work?
summerevening
> While we do need to write sandbox metadata and results to durable storage, we do so largely asynchronously. How do you guarantee durability of sandbox task metadata if it’s written to durable storage async? What if the node it’s scheduled on goes down right after scheduling completes - what service durably knows about the intended state of the sandbox and retries scheduling?