Skip to content

Commit 42414a9

Browse files
committed
WIP
1 parent 37cfcf6 commit 42414a9

File tree

1 file changed

+35
-7
lines changed

1 file changed

+35
-7
lines changed

docs/about/architecture.md

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ and platform scaling capabilities.
1111

1212
### coderd
1313

14-
coderd is the service created by running `coder server`. It is a thin API that
15-
connects workspaces, provisioners and users. coderd stores its state in Postgres
16-
and is the only service that communicates with Postgres.
14+
_coderd_ is the service created by running `coder server`. It is a thin API that
15+
connects workspaces, provisioners and users. _coderd_ stores its state in
16+
Postgres and is the only service that communicates with Postgres.
1717

1818
It offers:
1919

2020
- Dashboard (UI)
2121
- HTTP API
2222
- Dev URLs (HTTP reverse proxy to workspaces)
23-
- Workspace Web Applications (e.g easily access code-server)
23+
- Workspace Web Applications (e.g easily access `code-server`)
2424
- Agent registration
2525

2626
### provisionerd
2727

28-
provisionerd is the execution context for infrastructure modifying providers. At
29-
the moment, the only provider is Terraform (running `terraform`).
28+
_provisionerd_ is the execution context for infrastructure modifying providers.
29+
At the moment, the only provider is Terraform (running `terraform`).
3030

3131
By default, the Coder server runs multiple provisioner daemons.
3232
[External provisioners](../admin/provisioners.md) can be added for security or
@@ -51,7 +51,7 @@ workspaces.
5151

5252
### Service Bundling
5353

54-
While coderd and Postgres can be orchestrated independently, our default
54+
While _coderd_ and Postgres can be orchestrated independently, our default
5555
installation paths bundle them all together into one system service. It's
5656
perfectly fine to run a production deployment this way, but there are certain
5757
situations that necessitate decomposition:
@@ -78,6 +78,34 @@ they're destroyed on workspace stop.
7878

7979
![Architecture Diagram](../images/architecture-single-region.png)
8080

81+
#### Components
82+
83+
This architecture consists of a single load balancer, several _Coder Server_
84+
replicas, and _Coder workspaces_ deployed in the same region.
85+
86+
##### Workload resources
87+
88+
- Use Terraform to deploy at least one **Coder Server Replica** with _Coder
89+
Server_ instances and provisioners.
90+
- Single replica deployment is a special case that can address a
91+
tiny/small/proof-of-concept installation on a single virtual machine serving
92+
less than 100 workspace users.
93+
94+
**Coder workspace**
95+
96+
- For small deployments consider a lightweight workspace runtime like
97+
[Sysbox](https://github.com/nestybox/sysbox) container runtime. Learn more how
98+
to enable
99+
[docker-in-docker using Sysbox](https://asciinema.org/a/kkTmOxl8DhEZiM2fLZNFlYzbo?speed=2).
100+
101+
**HA Database**
102+
103+
##### Workload supporting resources
104+
105+
**Load balancer**
106+
107+
**Single sign-on**
108+
81109
<!-- Single VM, up to 100 users, Docker+sysbox container runtime -->
82110

83111
### Multi-region architecture

0 commit comments

Comments
 (0)