@@ -4,53 +4,68 @@ The 1,000 users architecture is designed to cover a wide range of workflows.
44Examples of subjects that might utilize this architecture include medium-sized
55tech startups, educational units, or small to mid-sized enterprises.
66
7- ** Target load** : API: up to 180 RPS
8-
9- ** High Availability** : non-essential for small deployments
10-
117##Hardware recommendations
128
13- ###Coderd nodes
9+ ###Coderd
1410
15- | Users | Node capacity | Replicas| GCP | AWS | Azure |
16- | ------------- | --------------------- | -------------------------- | ----------------- | ------------ | --------- ----------|
17- | Up to 1,000 | 2 vCPU, 8 GBmemory | 1-2 nodes, 1 coderd each | ` n1-standard-2 ` | ` m5.large ` | ` Standard_D2s_v3 ` |
11+ | vCPU | Memory | Replicas|
12+ | ------| --------| ----------|
13+ | 2 | 8 GB| 3 |
1814
19- ** Footnotes ** :
15+ ** Notes ** :
2016
17+ - "General purpose" virtual machines, such as N4-series in GCP or M8-series in AWS work well.
18+ - If deploying on Kubernetes:
19+ - Set CPU request and limit to` 2000m `
20+ - Set Memory request and limit to` 8Gi `
21+ - Coderd does not typically benefit from high performance disks like SSDs (unless you are co-locating provisioners).
2122- For small deployments (ca. 100 users, 10 concurrent workspace builds), it is
22- acceptable to deploy provisioners on` coderd ` nodes.
23+ acceptable to deploy provisioners on` coderd ` replicas.
24+ - Coderd instances should be deployed in the same region as the database.
25+
26+ ###Provisioners
2327
24- ###Provisioner nodes
28+ | vCPU| Memory| Replicas|
29+ | ------| --------| ----------|
30+ | 0.1| 256 MB| 60|
2531
26- | Users| Node capacity| Replicas| GCP| AWS| Azure|
27- | -------------| ----------------------| -------------------------------| ------------------| --------------| -------------------|
28- | Up to 1,000| 8 vCPU, 32 GB memory| 2 nodes, 30 provisioners each| ` t2d-standard-8 ` | ` c5.2xlarge ` | ` Standard_D8s_v3 ` |
32+ ** Notes** :
33+
34+ - "General purpose" virtual machines, such as N4-series in GCP or M8-series in AWS work well.
35+ - If deploying on Kubernetes:
36+ - Set CPU request and limit to` 100m `
37+ - Set Memory request and limit to` 256MB `
38+ - If deploying on virtual machines, stack up to 30 provisioners per machine with a cummensurate amount of memory and CPU.
39+ - Provisioners benefit from high performance disks like SSDs.
40+ - For small deployments (ca. 100 users, 10 concurrent workspace builds), it is
41+ acceptable to deploy provisioners on` coderd ` nodes.
42+ - If deploying workspaces to multiple clouds or multiple Kubernetes clusters, divide the provisioner replicas among the
43+ clouds or clusters according to expected usage.
2944
30- ** Footnotes ** :
45+ ### Database
3146
32- - An external provisioner is deployed as Kubernetes pod.
47+ | vCPU| Memory| Replicas|
48+ | ------| --------| ----------|
49+ | 8| 30 GB| 1|
3350
34- ### Workspace nodes
51+ ** Notes ** :
3552
36- | Users| Node capacity| Replicas| GCP| AWS| Azure|
37- | -------------| ----------------------| ------------------------------| ------------------| --------------| -------------------|
38- | Up to 1,000| 8 vCPU, 32 GB memory| 64 nodes, 16 workspaces each| ` t2d-standard-8 ` | ` m5.2xlarge ` | ` Standard_D8s_v3 ` |
53+ - "General purpose" virtual machines, such as the M8-series in AWS work well.
54+ - Deploy in the same region as` coderd `
3955
40- ** Footnotes ** :
56+ ### Workspaces
4157
42- - Assumed that a workspace user needs at minimum 2 GB memory to perform. We
43- recommend against over-provisioning memory for developer workloads, as this my
44- lead to OOMKiller invocations.
45- - Maximum number of Kubernetes workspace pods per node: 256
58+ Workspace sizing depends very heavily on the exact use case, even down to project size and programming language for
59+ development use cases.
4660
47- ###Database nodes
61+ The following resource requirements are for the Coder Workspace Agent, which runs alongside your end users work, and as
62+ such should be interpreted as the_ bare minimum_ requirements for a Coder workspace.
4863
49- | Users | Node capacity | Replicas | Storage | GCP | AWS | Azure |
50- | ------------- | --------------------- | ---------- | --------- | -------------------- | --------------- | ----------- --------|
51- | Up to 1,000 | 2 vCPU, 8 GB memory | 1 node | 512 GB | ` db-custom-2-7680 ` | ` db.m5.large ` | ` Standard_D2s_v3 ` |
64+ | vCPU | Memory |
65+ | ------| --------|
66+ | 0.1 | 128 MB |
5267
53- ** Footnotes for AWS instance types** :
68+ ## Footnotes for AWS instance types
5469
5570- For production deployments, we recommend using non-burstable instance types,
5671 such as` m5 ` or` c5 ` , instead of burstable instances, such as` t3 ` .