diff --git a/docs/admin/infrastructure/validated-architectures/1k-users.md b/docs/admin/infrastructure/validated-architectures/1k-users.md index 3cb115db58702..eab7e457a94e8 100644 --- a/docs/admin/infrastructure/validated-architectures/1k-users.md +++ b/docs/admin/infrastructure/validated-architectures/1k-users.md @@ -14,7 +14,7 @@ tech startups, educational units, or small to mid-sized enterprises. | 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` | `t3.large` | `Standard_D2s_v3` | +| Up to 1,000 | 2 vCPU, 8 GB memory | 1-2 nodes, 1 coderd each | `n1-standard-2` | `m5.large` | `Standard_D2s_v3` | **Footnotes**: @@ -25,7 +25,7 @@ tech startups, educational units, or small to mid-sized enterprises. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-------------------------------|------------------|--------------|-------------------| -| Up to 1,000 | 8 vCPU, 32 GB memory | 2 nodes, 30 provisioners each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 1,000 | 8 vCPU, 32 GB memory | 2 nodes, 30 provisioners each | `t2d-standard-8` | `c5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -35,7 +35,7 @@ tech startups, educational units, or small to mid-sized enterprises. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|------------------------------|------------------|--------------|-------------------| -| Up to 1,000 | 8 vCPU, 32 GB memory | 64 nodes, 16 workspaces each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 1,000 | 8 vCPU, 32 GB memory | 64 nodes, 16 workspaces each | `t2d-standard-8` | `m5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -48,4 +48,11 @@ tech startups, educational units, or small to mid-sized enterprises. | 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.t3.large` | `Standard_D2s_v3` | +| 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` 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. diff --git a/docs/admin/infrastructure/validated-architectures/2k-users.md b/docs/admin/infrastructure/validated-architectures/2k-users.md index f63f66fed4b6b..1769125ff0fc0 100644 --- a/docs/admin/infrastructure/validated-architectures/2k-users.md +++ b/docs/admin/infrastructure/validated-architectures/2k-users.md @@ -19,13 +19,13 @@ deployment reliability under load. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|------------------------|-----------------|-------------|-------------------| -| Up to 2,000 | 4 vCPU, 16 GB memory | 2 nodes, 1 coderd each | `n1-standard-4` | `t3.xlarge` | `Standard_D4s_v3` | +| Up to 2,000 | 4 vCPU, 16 GB memory | 2 nodes, 1 coderd each | `n1-standard-4` | `m5.xlarge` | `Standard_D4s_v3` | ### Provisioner nodes | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-------------------------------|------------------|--------------|-------------------| -| Up to 2,000 | 8 vCPU, 32 GB memory | 4 nodes, 30 provisioners each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 2,000 | 8 vCPU, 32 GB memory | 4 nodes, 30 provisioners each | `t2d-standard-8` | `c5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -38,7 +38,7 @@ deployment reliability under load. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-------------------------------|------------------|--------------|-------------------| -| Up to 2,000 | 8 vCPU, 32 GB memory | 128 nodes, 16 workspaces each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 2,000 | 8 vCPU, 32 GB memory | 128 nodes, 16 workspaces each | `t2d-standard-8` | `m5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -51,9 +51,16 @@ deployment reliability under load. | Users | Node capacity | Replicas | Storage | GCP | AWS | Azure | |-------------|----------------------|----------|---------|---------------------|----------------|-------------------| -| Up to 2,000 | 4 vCPU, 16 GB memory | 1 node | 1 TB | `db-custom-4-15360` | `db.t3.xlarge` | `Standard_D4s_v3` | +| Up to 2,000 | 4 vCPU, 16 GB memory | 1 node | 1 TB | `db-custom-4-15360` | `db.m5.xlarge` | `Standard_D4s_v3` | **Footnotes**: - Consider adding more replicas if the workspace activity is higher than 500 workspace builds per day or to achieve higher RPS. + +**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. diff --git a/docs/admin/infrastructure/validated-architectures/3k-users.md b/docs/admin/infrastructure/validated-architectures/3k-users.md index bea84db5e8b32..b742e5e21658c 100644 --- a/docs/admin/infrastructure/validated-architectures/3k-users.md +++ b/docs/admin/infrastructure/validated-architectures/3k-users.md @@ -20,13 +20,13 @@ continuously improve the reliability and performance of the platform. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-----------------------|-----------------|-------------|-------------------| -| Up to 3,000 | 8 vCPU, 32 GB memory | 4 node, 1 coderd each | `n1-standard-4` | `t3.xlarge` | `Standard_D4s_v3` | +| Up to 3,000 | 8 vCPU, 32 GB memory | 4 node, 1 coderd each | `n1-standard-4` | `m5.xlarge` | `Standard_D4s_v3` | ### Provisioner nodes | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-------------------------------|------------------|--------------|-------------------| -| Up to 3,000 | 8 vCPU, 32 GB memory | 8 nodes, 30 provisioners each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 3,000 | 8 vCPU, 32 GB memory | 8 nodes, 30 provisioners each | `t2d-standard-8` | `c5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -40,7 +40,7 @@ continuously improve the reliability and performance of the platform. | Users | Node capacity | Replicas | GCP | AWS | Azure | |-------------|----------------------|-------------------------------|------------------|--------------|-------------------| -| Up to 3,000 | 8 vCPU, 32 GB memory | 256 nodes, 12 workspaces each | `t2d-standard-8` | `t3.2xlarge` | `Standard_D8s_v3` | +| Up to 3,000 | 8 vCPU, 32 GB memory | 256 nodes, 12 workspaces each | `t2d-standard-8` | `m5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: @@ -54,9 +54,16 @@ continuously improve the reliability and performance of the platform. | Users | Node capacity | Replicas | Storage | GCP | AWS | Azure | |-------------|----------------------|----------|---------|---------------------|-----------------|-------------------| -| Up to 3,000 | 8 vCPU, 32 GB memory | 2 nodes | 1.5 TB | `db-custom-8-30720` | `db.t3.2xlarge` | `Standard_D8s_v3` | +| Up to 3,000 | 8 vCPU, 32 GB memory | 2 nodes | 1.5 TB | `db-custom-8-30720` | `db.m5.2xlarge` | `Standard_D8s_v3` | **Footnotes**: - Consider adding more replicas if the workspace activity is higher than 1500 workspace builds per day or to achieve higher RPS. + +**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. diff --git a/docs/admin/infrastructure/validated-architectures/index.md b/docs/admin/infrastructure/validated-architectures/index.md index 2040b781ae0fa..fee01e777fbfe 100644 --- a/docs/admin/infrastructure/validated-architectures/index.md +++ b/docs/admin/infrastructure/validated-architectures/index.md @@ -220,6 +220,20 @@ For sizing recommendations, see the below reference architectures: - [Up to 3,000 users](3k-users.md) +### AWS Instance Types + +For production AWS 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. + +| Component | Recommended Instance Type | Reason | +|-------------------|---------------------------|----------------------------------------------------------| +| coderd nodes | `m5` | Balanced compute and memory for API and UI serving. | +| Provisioner nodes | `c5` | Compute-optimized performance for faster builds. | +| Workspace nodes | `m5` | Balanced performance for general development workloads. | +| Database nodes | `db.m5` | Consistent database performance for reliable operations. | + ### Networking It is likely your enterprise deploys Kubernetes clusters with various networking