mirror of
https://github.com/coder/coder.git
synced 2026-06-04 13:38:21 +00:00
4bc49ed6eb
Updates 2k, 3k docs to match previous changes to 1k ( #21362), including new database recommendations. Adds a 10k doc.
101 lines
3.9 KiB
Markdown
101 lines
3.9 KiB
Markdown
# Reference Architecture: up to 2,000 users
|
|
|
|
In the 2,000 users architecture, there is a moderate increase in traffic,
|
|
suggesting a growing user base or expanding operations. This setup is
|
|
well-suited for mid-sized companies experiencing growth or for universities
|
|
seeking to accommodate their expanding user populations.
|
|
|
|
The recommendations on this page apply to deployments with up to the following limits. If your needs
|
|
exceed any of these limits, consider increasing deployment resources or moving to the [next-higher
|
|
architectural tier](./3k-users.md).
|
|
|
|
| Users | Concurrent Running Workspaces | Concurrent Builds |
|
|
|-------|-------------------------------|-------------------|
|
|
| 2000 | 1200 | 120 |
|
|
|
|
**Observability**: Deploy monitoring solutions to gather Prometheus metrics and
|
|
visualize them with Grafana to gain detailed insights into infrastructure and
|
|
application behavior. This allows operators to respond quickly to incidents and
|
|
continuously improve the reliability and performance of the platform.
|
|
|
|
## Hardware recommendations
|
|
|
|
### Coderd
|
|
|
|
| vCPU | Memory | Replicas |
|
|
|------|--------|----------|
|
|
| 4 | 12 GB | 3 |
|
|
|
|
**Notes**:
|
|
|
|
- "General purpose" virtual machines, such as N4-series in GCP or M8-series in AWS work well.
|
|
- If deploying on Kubernetes:
|
|
- Set CPU request and limit to `4000m`
|
|
- Set Memory request and limit to `12Gi`
|
|
- Coderd does not typically benefit from high performance disks like SSDs (unless you are co-locating provisioners).
|
|
- Coderd instances should be deployed in the same region as the database.
|
|
|
|
### Workspace Proxies
|
|
|
|
If you choose to deploy workspaces in multiple geographic regions, provision
|
|
[Workspace Proxies](../../networking/workspace-proxies.md) in each region.
|
|
|
|
| vCPU | Memory | Replicas |
|
|
|------|--------|----------|
|
|
| 4 | 12 GB | 3 |
|
|
|
|
**Notes**:
|
|
|
|
- "General purpose" virtual machines, such as N4-series in GCP or M8-series in AWS work well.
|
|
- If deploying on Kubernetes:
|
|
- Set CPU request and limit to `4000m`
|
|
- Set Memory request and limit to `12Gi`
|
|
- Workspace Proxies do not typically benefit from high performance disks like SSDs.
|
|
|
|
### Provisioners
|
|
|
|
| vCPU | Memory | Replicas |
|
|
|------|--------|----------|
|
|
| 1 | 1 GB | 120 |
|
|
|
|
**Notes**:
|
|
|
|
- "General purpose" virtual machines, such as N4-series in GCP or M8-series in AWS work well.
|
|
- If deploying on Kubernetes:
|
|
- Set CPU request and limit to `1000m`
|
|
- Set Memory request and limit to `1Gi`
|
|
- If deploying on virtual machines, stack up to 30 provisioners per machine with a commensurate amount of memory and CPU.
|
|
- Provisioners benefit from high performance disks like SSDs.
|
|
- [Do not run provisioners on Coderd nodes](../../provisioners/index.md#disable-built-in-provisioners) at this scale.
|
|
- If deploying workspaces to multiple clouds or multiple Kubernetes clusters, divide the provisioner replicas among the
|
|
clouds or clusters according to expected usage.
|
|
|
|
### Database
|
|
|
|
| vCPU | Memory | Replicas |
|
|
|------|--------|----------|
|
|
| 16 | 60 GB | 1 |
|
|
|
|
**Notes**:
|
|
|
|
- "General purpose" virtual machines, such as the M8-series in AWS work well.
|
|
- Deploy in the same region as `coderd`
|
|
|
|
### Workspaces
|
|
|
|
The following resource requirements are for the Coder Workspace Agent, which runs alongside your end users work, and as
|
|
such should be interpreted as the _bare minimum_ requirements for a Coder workspace. Size your workspaces to fit the use
|
|
case your users will be undertaking. If in doubt, chose sizes based on the development environments your users are
|
|
migrating from onto Coder.
|
|
|
|
| vCPU | Memory |
|
|
|------|--------|
|
|
| 0.1 | 128 MB |
|
|
|
|
## Footnotes for AWS instance types
|
|
|
|
- For production deployments, we recommend using non-burstable instance types,
|
|
such as `m5` or `c5`, instead of burstable instances, such as `t3`.
|
|
Burstable instances can experience significant performance degradation once
|
|
CPU credits are exhausted, leading to poor user experience under sustained load.
|