How Cloud Development Environments Work
Platform engineering workflow: Terraform templates, Kubernetes pods, VS Code Remote SSH, and JetBrains Gateway
Platform Engineering Team Creates Terraform Templates
Platform engineers and DevOps teams define workspace templates using infrastructure as code (IaC). Terraform, DevContainers, or Kubernetes YAML templates specify:
CPU cores, RAM, GPU (if needed)
Ubuntu, Debian, Windows, etc.
Languages, SDKs, CLIs
Linters, formatters, plugins
# Example Terraform template for Coder
resource "coder_agent" "main" {
os = "linux"
arch = "amd64"
}
resource "kubernetes_pod" "workspace" {
spec {
container {
image = "python:3.11-bullseye"
resources {
limits = {
cpu = "4"
memory = "8Gi"
}
}
}
}
}
Developer Selects a Template
Developers log into the CDE dashboard and browse available templates. They select one that matches their project requirements and click "Create Workspace."
Infrastructure Provisions Resources
The CDE platform automatically provisions the requested resources. Depending on the setup, this could be:
Developer Connects
Once the workspace is ready, the developer connects using their preferred method:
VS Code Remote SSH
Local VS Code connects to remote workspace over SSH
JetBrains Gateway
IntelliJ, PyCharm, WebStorm - local client, remote backend
Web IDE
Browser-based VS Code (code-server) - no local install needed
SSH Terminal
Standard SSH access for terminal-based workflows
Work, Stop, Resume
The developer works as if everything were local. When done:
- Workspace can be stopped to save costs (auto-stop after idle time)
- State is preserved - resume exactly where you left off
- Workspace can be deleted when project is complete
- New workspace from same template = same environment, fresh start