|
| 1 | +# About Coder |
| 2 | + |
| 3 | +Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers. |
| 4 | + |
| 5 | +By building on top of common development inferfaces (SSH) and infrastructure tools (Terraform), Coder aims to make the process of **provisioning** and **accessing** remote workspaces approachable for organizations of various sizes and stages of cloud-native maturity. |
| 6 | + |
| 7 | +> ⚠️ Coder v2 is in alpha and not ready for production use. You may be interested in [Coder v1](https://coder.com/docs) or [code-server](https://github.com/cdr/code-server). |
| 8 | +
|
| 9 | +## Why remote development |
| 10 | + |
| 11 | +Migrating from local developer machines to remote servers is an increasingly common solution for developers[^1] and organizations[^2] alike. Remote development has a number of benefits: |
| 12 | + |
| 13 | +- Speed: Server-grade compute speeds up operations in software development such as IDE loads, compiles, builds, and running large apps (monolyths or many microservices). |
| 14 | + |
| 15 | +- Environment management: Onboarding & troubleshooting development environments is automated using tools such as Terraform, nix, Docker, devcontainers, etc. |
| 16 | + |
| 17 | +- Security: Source code and other data can be centralized on private servers or cloud, instead of local developer machines. |
| 18 | + |
| 19 | +- Compatability: Remote workspaces share infrastructure configuration with other developer, staging, and production environments, reducing configuration drift. |
| 20 | + |
| 21 | +- Accessibility: Devices such as light notebooks, Chromebooks, and iPads connect to remote workspaces via browser-based IDEs or remote IDE extensions. |
| 22 | + |
| 23 | +## Why Coder? |
| 24 | + |
| 25 | +The added layer of infrastructure control is a key differentiator from Coder v1 and other remote IDE platforms. This gives admins the ability to: |
| 26 | + |
| 27 | +- support ARM, Windows, Linux, and MacOS workspaces |
| 28 | +- modify pod/container spec: add disks, manage network policy, environment variables |
| 29 | +- use VM/dedicated workspaces: develop with Kernel features, container knowledge not required |
| 30 | +- enable persistant workspaces: just like a local machine, but faster and in the cloud |
| 31 | + |
| 32 | +Coder includes [production-ready templates](./examples) for use on Kubernetes, AWS EC2, Google Cloud, Azure, and more. |
| 33 | + |
| 34 | +## What Coder is not |
| 35 | + |
| 36 | +- Coder is an infrastructure as code (IaC) platform. Terraform is the first IaC *provisioner* in Coder. As a result, Coder admins can define any Terraform resources can as Coder workspaces. |
| 37 | + |
| 38 | +- Coder is not a DevOps/CI platform. Coder workspaces can follow best practices for cloud workloads, but Coder is not responsible for how you define or deploy the software you write. |
| 39 | + |
| 40 | +- Coder is not an online IDE. Instead, Coder has strong support for common editors such as VS Code, vim, and JetBrains, over HTTPS or SSH. |
| 41 | + |
| 42 | +- Coder is not a collaboration platform. You can continue using git and IDE extensions for pull requests, code reviews, and pair programming. |
| 43 | + |
| 44 | +- Coder is not SaaS/fully-managed. Install Coder on your cloud (AWS, GCP, Azure) or datacenter. |
| 45 | + |
| 46 | +[^1]: alexellis.io: [The Internet is my computer](https://blog.alexellis.io/the-internet-is-my-computer/) |
| 47 | + |
| 48 | +[^2]: slack.engineering: [Development environments at Slack](https://slack.engineering/development-environments-at-slack) |
0 commit comments