Skip to main content

Sizing guide

Faheem Code Enterprise deployments are sized primarily based on expected peak concurrent sandboxes — the largest number of sandboxes you expect to be running at the same time. Keep in mind that one user can have multiple sandboxes running at one time.

Planning unit​

Both tables below are built from the same per-sandbox allocation:

ResourcePer sandbox
CPU0.5 vCPU
Memory4 GiB
Node disk10 GiB
Volume storage10 GiB

If you raise the sandbox defaults (for large monorepos or memory-hungry builds), scale the totals in the tables by the same factor. See Resource Limits for how to change these values.

Installation modes​

This guide covers the two supported installation modes:

Replicated Embedded Cluster — single VM​

Machine sizes below are based on the peak sandboxes, so feel free to size up or down based on expected usage.

Peak sandboxesUsers (estimate)VMExample machine typesData disk (starting recommendation)
5~258 vCPU / 32 GiBe2-standard-8, m6i.2xlarge, D8s_v5500 GiB SSD
15~6016 vCPU / 64 GiBn2-standard-16, m6i.4xlarge, D16s_v51 TiB SSD
30~12532 vCPU / 128 GiBn2-standard-32, m6i.8xlarge, D32s_v51.5 TiB SSD
50~25064 vCPU / 256 GiBn2-standard-64, m6i.16xlarge, D64s_v53 TiB SSD
100~40096 vCPU / 384 GiBn2-standard-96, m6i.24xlarge, D96s_v54 TiB SSD
Above 100—Use a Kubernetes install, or contact us for a sizing consultation——

The 16 vCPU / 64 GiB row matches the minimum VM in the Quick Start system requirements. Trials that stay below roughly 15 concurrent sandboxes are well served by that baseline.

Replicated Helm installation​

Use two node pools: a tainted pool that runs only sandboxes, and an untainted pool that runs everything else. This keeps a burst of sandboxes from evicting platform components.

Recommended node pools:

  • Sandbox pool: 16 vCPU / 64 GiB / 400 GiB SSD
  • Platform pool: 8 vCPU / 32 GiB / 100 GiB
Peak sandboxesUsers (estimate)Sandbox nodes (min–max)Platform nodesVolume storage (start)PostgreSQL (in-cluster by default)
10~501–121 TiB2 vCPU / 8 GiB — fits the platform pool
25~1251–322.5 TiB2 vCPU / 8 GiB — fits the platform pool
50~2501–525 TiB2 vCPU / 8 GiB — fits the platform pool
100~5001–10310 TiB4 vCPU / 16 GiB — fits the platform pool
200~1,0002–20320 TiB4 vCPU / 16 GiB — fits the platform pool
500~2,5003–48450 TiB8 vCPU / 32 GiB — needs a dedicated node
1,000~5,0005–965100 TiB16 vCPU / 64 GiB — needs a dedicated node

Notes on the table:

  • Minimum node counts assume autoscaling. If your cluster cannot scale up quickly, raise the minimum toward your typical daily peak so users don't wait on node provisioning.
  • PostgreSQL is deployed in-cluster by default. At 500 peak sandboxes and above, give it a dedicated node — or use External PostgreSQL and size it with your database team.

Adjusting after rollout​

  • Track sandbox pod count over time and size to the observed peak, plus headroom.
  • Watch memory usage against limits to catch OOMKills, and usage against requests to catch evictions. See Resource Limits for the metrics and the settings to change.
  • Grow volume storage before it fills. Sandbox workspaces are deleted with their sandbox, but their usage and retention may outstrip initial storage numbers

Next steps​