Skip to content

docs: Scaling Coder for 100, 1000, 3000 active users #2971

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

Closed
Tracked by #4748 ...
bpmct opened this issue Jul 13, 2022 · 4 comments
Closed
Tracked by #4748 ...

docs: Scaling Coder for 100, 1000, 3000 active users #2971

bpmct opened this issue Jul 13, 2022 · 4 comments
Assignees
Labels
docs Area: coder.com/docs
Milestone

Comments

@bpmct
Copy link
Member

bpmct commented Jul 13, 2022

We want to ensure Coder v2 can scale to support large deployments and write docs to help users set up the right infrastructure!

Initial requirements

  • We scale test Coder to ensure it can support workloads with 100, 1000, and 3000 users (e.g. a realistic number of concurrent builds, workspace connections, API requests, etc)
  • Users can reproduce our results and get a sense of what infrastructure they need via "reference architecture" docs we provide
    • Reference environments are on Kubernetes (Coder's most common enterprise environment)
  • Provide coder loadtest command used and any flags used (template name, num workspaces, num connections, etc)
  • Document how the coder loadtest works and how a user can use it against with their own environments, since their "mileage will vary" depending on various factors on their environment (e.g. workspace size, template, etc)

Vision

  • We provide reference architectures for various infrastructure types (Docker, VMs, etc)
  • We simulate actual developer workflows inside workspaces (e.g. intermittently running builds of a large Java project)
    • This helps identify provisioning rates, node sizing, etc.
  • Reference architectures can be defined as code with Terraform. Users can use Terraform to deploy reference architecture
  • We regularly run scale tests via CRON to identify regressions
  • Scale test results against reference environments (tracing, build stats) are published on a publicly-accessible URL

References/inspiration

@BrunoQuaresma BrunoQuaresma added the docs Area: coder.com/docs label Jul 18, 2022
@bpmct bpmct changed the title Best practices infrastructure docs for team sizes Scale testing & best practices documentation for 100 users and 150 "used" workspaces Aug 22, 2022
@bpmct bpmct added this to the EE milestone Aug 22, 2022
@bpmct bpmct changed the title Scale testing & best practices documentation for 100 users and 150 "used" workspaces Scale testing & best practices documentation for 100 active users and workspaces Aug 22, 2022
@kylecarbs kylecarbs self-assigned this Sep 19, 2022
@kylecarbs kylecarbs changed the title Scale testing & best practices documentation for 100 active users and workspaces Scale testing for 100 active users and workspaces Sep 28, 2022
@kylecarbs kylecarbs removed their assignment Sep 28, 2022
@bpmct
Copy link
Member Author

bpmct commented Oct 21, 2022

I did some basic scale tests. At this point, it looks like the sweet spot is 30 provisioner daemons (I tested with HA, 6 replicas). For Kubernetes provisioning, the Coder server will be pretty CPU-heavy (using around 6 vCPUs).

@bpmct bpmct changed the title Scale testing for 100 active users and workspaces Docs: Scaling Coder for 100 active users and workspaces Oct 25, 2022
@bpmct bpmct mentioned this issue Oct 25, 2022
21 tasks
@bpmct bpmct mentioned this issue Nov 10, 2022
6 tasks
@bpmct bpmct changed the title Docs: Scaling Coder for 100 active users and workspaces Docs: Scaling Coder for 100, 1000 active users and workspaces Nov 30, 2022
@bpmct bpmct assigned bpmct and unassigned coadler and deansheather Nov 30, 2022
@bpmct bpmct changed the title Docs: Scaling Coder for 100, 1000 active users and workspaces docs: Scaling Coder for 100, 1000, 3000 active users Dec 6, 2022
@bpmct bpmct removed their assignment Dec 6, 2022
@bpmct
Copy link
Member Author

bpmct commented Dec 6, 2022

I have a draft PR up in #5206 and am looking for someone to take this to the finish line based on the requirements!

@bpmct

This comment was marked as resolved.

@bpmct
Copy link
Member Author

bpmct commented Dec 20, 2022

Also have simplified WIP in this branch: scale-docs-mvp

@bpmct bpmct closed this as completed Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Area: coder.com/docs
Projects
None yet
Development

No branches or pull requests

5 participants