@@ -184,11 +184,11 @@ Database:
184
184
185
185
### Control plane
186
186
187
- When considering the control plane, it's essential to focus on node sizing,
188
- resource limits, and the number of replicas. We recommend referencing public
189
- cloud providers such as AWS, GCP, and Azure for guidance on optimal
190
- configurations. A reasonable approach involves using scaling formulas based on
191
- factors like CPU, memory, and the number of users.
187
+ To ensure stability and reliability of the Coder control plane, it's essential
188
+ to focus on node sizing, resource limits, and the number of replicas. We
189
+ recommend referencing public cloud providers such as AWS, GCP, and Azure for
190
+ guidance on optimal configurations. A reasonable approach involves using scaling
191
+ formulas based on factors like CPU, memory, and the number of users.
192
192
193
193
While the minimum requirements specify 1 CPU core and 2 GB of memory per
194
194
` coderd ` replica, it is recommended to allocate additional resources to ensure
@@ -209,7 +209,7 @@ Inactive users do not consume Coder resources.
209
209
210
210
When determining scaling requirements, consider the following factors:
211
211
212
- - 1 vCPU x 2 GB memory x 250 users: A reasonable formula to determine resource
212
+ - ` 1 vCPU x 2 GB memory x 250 users ` : A reasonable formula to determine resource
213
213
allocation based on the number of users and their expected usage patterns.
214
214
- API latency/response time: Monitor API latency and response times to ensure
215
215
optimal performance under varying loads.
@@ -236,37 +236,33 @@ for more details.
236
236
237
237
### Workspaces
238
238
239
- Assumptions:
239
+ To determine workspace resource limits and keep the best developer experience
240
+ for workspace users, administrators must be aware of a few assumptions.
240
241
241
- workspaces also run on the same Kubernetes cluster (recommend a different
242
- namespace/node pool)
242
+ - Workspace pods run on the same Kubernetes cluster, but possible in a different
243
+ namespace or a node pool.
244
+ - Workspace limits (per workspace user):
245
+ - Developers can choose between 4-8 vCPUs, and 4-16 GB memory.
246
+ - Evaluate the workspace utilization pattern. For instance, a regular web
247
+ development does not require high CPU capacity all the time, but only during
248
+ project builds or load tests.
249
+ - Minimum requirements for Coder agent running in an idle workspace are 0.1
250
+ vCPU and 256 MB.
243
251
244
- developers can pick between 4-8 CPU and 4-16 GB RAM workspaces (limits)
245
-
246
- developers have a resource quota of 16 GPU 32 GB RAM (2-maxed out workspaces).
247
-
248
- However, the Coder agent itself requires at minimum 0.1 CPU cores and 256 MB to
249
- run inside a workspace.
250
-
251
- web microservice development use case: resources are mostly underutilized but
252
- spike during builds
253
-
254
- Case study:
255
-
256
- Developers for up to 2000+ users architecture are in 2 regions (a different
257
- cluster) and are evenly split. In practice, this doesn’t change much besides the
258
- diagram and workspaces node pool autoscaling config as it still uses the central
259
- provisioner. Recommend multiple provisioner groups for zero-trust and
260
- multi-cloud use cases. Developers for up to 3000+ users architecture are also in
261
- an on-premises network. Document a provisioner running in a different cloud
262
- environment, and the zero-trust benefits of that.
252
+ #### Scaling formula
263
253
264
- scaling formula
254
+ TODO
265
255
266
256
provisionerd x users: Another formula to consider, focusing on the capacity of
267
257
provisioner nodes relative to the number of workspace builds, triggered by
268
258
users.
269
259
260
+ - Guidance for reasonable ratio of CPU limits/requests
261
+ - Guidance for reasonable ratio for memory requests/limits
262
+
263
+ Mention that as users onboard, the autoscaling config should take care of
264
+ ongoing workspaces
265
+
270
266
### Database
271
267
272
268
PostgreSQL database
0 commit comments