Skip to content

chore(docs): move scaling docs under admin/infrastructure #14270

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 15, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@ Database:

## Available reference architectures

[Up to 1,000 users](../../architecture/1k-users.md)
[Up to 1,000 users](./validated-architectures/1k-users.md)

[Up to 2,000 users](../../architecture/2k-users.md)
[Up to 2,000 users](./validated-architectures/2k-users.md)

[Up to 3,000 users](../../architecture/3k-users.md)
[Up to 3,000 users](./validated-architectures/3k-users.md)

## Hardware recommendation

Expand All @@ -112,13 +112,14 @@ on the workload size to ensure deployment stability.

#### CPU and memory usage

Enabling [agent stats collection](../../cli.md#--prometheus-collect-agent-stats)
Enabling
[agent stats collection](../../reference/cli/README.md#--prometheus-collect-agent-stats)
(optional) may increase memory consumption.

Enabling direct connections between users and workspace agents (apps or SSH
traffic) can help prevent an increase in CPU usage. It is recommended to keep
[this option enabled](../../cli.md#--disable-direct-connections) unless there
are compelling reasons to disable it.
[this option enabled](../../reference/cli/README.md#--disable-direct-connections)
unless there are compelling reasons to disable it.

Inactive users do not consume Coder resources.

Expand Down Expand Up @@ -148,18 +149,19 @@ Terminal (bidirectional), and Workspace events/logs (unidirectional).
If the Coder deployment expects traffic from developers spread across the globe,
be aware that customer-facing latency might be higher because of the distance
between users and the load balancer. Fortunately, the latency can be improved
with a deployment of Coder [workspace proxies](../workspace-proxies.md).
with a deployment of Coder
[workspace proxies](../networking/workspace-proxies.md).

**Node Autoscaling**

We recommend disabling the autoscaling for `coderd` nodes. Autoscaling can cause
interruptions for user connections, see
[Autoscaling](scale-utility.md#autoscaling) for more details.
[Autoscaling](./scale-utility.md#autoscaling) for more details.

### Control plane: Workspace Proxies

When scaling [workspace proxies](../workspace-proxies.md), follow the same
guidelines as for `coderd` above:
When scaling [workspace proxies](../networking/workspace-proxies.md), follow the
same guidelines as for `coderd` above:

- `1 vCPU x 2 GB memory` for every 250 users.
- Disable autoscaling.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ infrastructure. For scale-testing Kubernetes clusters we recommend to install
and use the dedicated Coder template,
[scaletest-runner](https://github.com/coder/coder/tree/main/scaletest/templates/scaletest-runner).

Learn more about [Coder’s architecture](../../architecture/architecture.md) and
our [scale-testing methodology](./scale-testing.md).
Learn more about [Coder’s architecture](./architecture/architecture.md) and our
[scale-testing methodology](./scale-testing.md).

## Recent scale tests

> Note: the below information is for reference purposes only, and are not
> intended to be used as guidelines for infrastructure sizing. Review the
> [Reference Architectures](../../architecture/validated-arch.md#node-sizing)
> for hardware sizing recommendations.
> [Reference Architectures](./validated-architectures/README.md#node-sizing) for
> hardware sizing recommendations.

| Environment | Coder CPU | Coder RAM | Coder Replicas | Database | Users | Concurrent builds | Concurrent connections (Terminal/SSH) | Coder Version | Last tested |
| ---------------- | --------- | --------- | -------------- | ----------------- | ----- | ----------------- | ------------------------------------- | ------------- | ------------ |
Expand Down Expand Up @@ -249,6 +249,7 @@ an annotation on the coderd deployment.
## Troubleshooting

If a load test fails or if you are experiencing performance issues during
day-to-day use, you can leverage Coder's [Prometheus metrics](../prometheus.md)
to identify bottlenecks during scale tests. Additionally, you can use your
existing cloud monitoring stack to measure load, view server logs, etc.
day-to-day use, you can leverage Coder's
[Prometheus metrics](../integrations/prometheus.md) to identify bottlenecks
during scale tests. Additionally, you can use your existing cloud monitoring
stack to measure load, view server logs, etc.
13 changes: 7 additions & 6 deletions docs/admin/networking/workspace-proxies.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ Workspace proxies provide low-latency experiences for geo-distributed teams.

Coder's networking does a best effort to make direct connections to a workspace.
In situations where this is not possible, such as connections via the web
terminal and [web IDEs](../../user-guides/workspace-access/README.md#web-ides), workspace proxies are able to
reduce the amount of distance the network traffic needs to travel.
terminal and [web IDEs](../../user-guides/workspace-access/README.md#web-ides),
workspace proxies are able to reduce the amount of distance the network traffic
needs to travel.

A workspace proxy is a relay connection a developer can choose to use when
connecting with their workspace over SSH, a workspace app, port forwarding, etc.
Expand All @@ -26,8 +27,8 @@ Workspace proxies can be used in the browser by navigating to the user

## Requirements

- The [Coder CLI](../../reference/cli/README.md) must be installed and authenticated as a user with
the Owner role.
- The [Coder CLI](../../reference/cli/README.md) must be installed and
authenticated as a user with the Owner role.

## Step 1: Create the proxy

Expand Down Expand Up @@ -149,8 +150,8 @@ coder wsproxy server

### Running as a system service

If you've installed Coder via a [system package](../../install/README.md), you can
configure the workspace proxy by settings in
If you've installed Coder via a [system package](../../install/README.md), you
can configure the workspace proxy by settings in
`/etc/coder.d/coder-workspace-proxy.env`

To run workspace proxy as a system service on the host:
Expand Down
1 change: 0 additions & 1 deletion docs/admin/scaling/README.md

This file was deleted.

27 changes: 10 additions & 17 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,16 @@
"path": "./admin/infrastructure/validated-architectures/3k-users.md"
}
]
},
{
"title": "Scale Testing",
"description": "Ensure your deployment can handle your organization's needs",
"path": "./admin/infrastructure/scale-testing.md"
},
{
"title": "Scaling Utilities",
"description": "Tools to help you scale your deployment",
"path": "./admin/infrastructure/scaling-utility.md"
}
]
},
Expand Down Expand Up @@ -381,23 +391,6 @@
"path": "./admin/security/secrets.md"
}
]
},
{
"title": "Scaling",
"description": "Scale your deployment to meet your organization's needs",
"path": "./admin/scaling/README.md",
"children": [
{
"title": "Scale Testing",
"description": "Ensure your deployment can handle your organization's needs",
"path": "./admin/scaling/scale-testing.md"
},
{
"title": "Scaling Utilities",
"description": "Tools to help you scale your deployment",
"path": "./admin/scaling/scaling-utility.md"
}
]
}
]
},
Expand Down
4 changes: 2 additions & 2 deletions docs/start/coder-tour.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ is completely free and leverages our

We'll use [Docker](https://docs.docker.com/engine) to manage the compute for a
slim deployment to experiment with
[workpsaces](../tutorials/workspaces/README.md) and
[templates](../tutorials/templates/README.md).
[workspaces](../user-guides/README.md) and
[templates](../admin/templates/README.md).

Docker is not necessary for every Coder deployment and is only used here for
simplicity.
Expand Down
4 changes: 2 additions & 2 deletions docs/start/local-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Coder deployment from our

We'll use [Docker](https://docs.docker.com/engine) to manage the compute for a
slim deployment to experiment with
[workpsaces](../tutorials/workspaces/README.md) and
[templates](../tutorials/templates/README.md).
[workspaces](../user-guides/README.md) and
[templates](../admin/templates/README.md).

Docker is not necessary for every Coder deployment and is only used here for
simplicity.
Expand Down
2 changes: 0 additions & 2 deletions docs/start/local-install.mnd

This file was deleted.

2 changes: 1 addition & 1 deletion docs/user-guides/workspace-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ TODO:
- port forwarding
- coder apps
- VSCode
- Jetbrains
- JetBrains
Loading