mirror of
https://github.com/coder/coder.git
synced 2025-07-12 00:14:10 +00:00
from @jatcod3r on Slack: > for the AWS recs on our [validated arch](https://coder.com/docs/admin/infrastructure/validated-architectures/1k-users) docs, should we be referencing customers to use non-T type instances? > Once you've exceeded EC2's [CPU credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) Coder starts performing poorly. > We do suggest to [scale for peak demand](https://coder.com/docs/tutorials/best-practices/scale-coder#scaling-3), so does recommending something from the [cpu](https://aws.amazon.com/ec2/instance-types/#Compute_Optimized) or [memory optimized](https://aws.amazon.com/ec2/instance-types/#Memory_Optimized) types make sense? [preview](https://coder.com/docs/@aws-ec2-arch/admin/infrastructure/validated-architectures#aws-instance-types) --------- Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2.7 KiB
2.7 KiB
Reference Architecture: up to 1,000 users
The 1,000 users architecture is designed to cover a wide range of workflows. Examples of subjects that might utilize this architecture include medium-sized tech startups, educational units, or small to mid-sized enterprises.
Target load: API: up to 180 RPS
High Availability: non-essential for small deployments
Hardware recommendations
Coderd nodes
Users | Node capacity | Replicas | GCP | AWS | Azure |
---|---|---|---|---|---|
Up to 1,000 | 2 vCPU, 8 GB memory | 1-2 nodes, 1 coderd each | n1-standard-2 |
m5.large |
Standard_D2s_v3 |
Footnotes:
- For small deployments (ca. 100 users, 10 concurrent workspace builds), it is
acceptable to deploy provisioners on
coderd
nodes.
Provisioner nodes
Users | Node capacity | Replicas | GCP | AWS | Azure |
---|---|---|---|---|---|
Up to 1,000 | 8 vCPU, 32 GB memory | 2 nodes, 30 provisioners each | t2d-standard-8 |
c5.2xlarge |
Standard_D8s_v3 |
Footnotes:
- An external provisioner is deployed as Kubernetes pod.
Workspace nodes
Users | Node capacity | Replicas | GCP | AWS | Azure |
---|---|---|---|---|---|
Up to 1,000 | 8 vCPU, 32 GB memory | 64 nodes, 16 workspaces each | t2d-standard-8 |
m5.2xlarge |
Standard_D8s_v3 |
Footnotes:
- Assumed that a workspace user needs at minimum 2 GB memory to perform. We recommend against over-provisioning memory for developer workloads, as this my lead to OOMKiller invocations.
- Maximum number of Kubernetes workspace pods per node: 256
Database nodes
Users | Node capacity | Replicas | Storage | GCP | AWS | Azure |
---|---|---|---|---|---|---|
Up to 1,000 | 2 vCPU, 8 GB memory | 1 node | 512 GB | db-custom-2-7680 |
db.m5.large |
Standard_D2s_v3 |
Footnotes for AWS instance types:
- For production deployments, we recommend using non-burstable instance types,
such as
m5
orc5
, instead of burstable instances, such ast3
. Burstable instances can experience significant performance degradation once CPU credits are exhausted, leading to poor user experience under sustained load.