skirby 2 years ago

I've always struggled to understand how remote development can compete with a modern laptop in terms of price to performance.

On GCP, I'd have to pay $2400/y for an 8-core machine as powerful as my M1 MacBook.

I get the portability and reproducibility arguments, but it's hard to justify that expense.

  • dolphinsaga 2 years ago

    The traditional VM-per-developer approach is indeed prohibitively expensive.

    Since developer workloads are bursty, we encourage resource sharing when possible. We've seen a Coder pattern where developers share a box, through Kubernetes or Docker, to cut costs by an order of magnitude.

    The Coder team dogfoods on a single 32-core dedicated machine that costs us $40/m per developer while building our code 40% faster than my M1 MacBook Pro.

    • sscarduzio 2 years ago

      Sorry this is a bit tangential, but:

      I had the same problem of slow builds like you, but instead of throwing hardware at it, I moved from Typescript to modern Python 3.10 with all new features and type hints.

      I enjoy a really fast development feedback loop (build times passed from minutes to milliseconds. I organised Jinja2 templates in "components", etc.

      The only drawback so far is that the output is not a proper SPA (I'm using Flask), which is fine for what I'm doing, and where needed I bridge the usability gap, 2022 vanilla JS was surprisingly practical. If one feels extra fancy, they would drop in Vue.js I guess.

      I'm really fast with this stack, I coded a whole self service subscription management system, product activation codes, support tickets management, etc, for my SaaS alone in 6 weeks.

      Excited to try the newest cool features and higher speeds of Python 3.11.

kylecarbs 2 years ago

co-founder of Coder (the company behind code-server) here…

We found that the biggest inhibitor to remote development was the lack of environmental flexibility. For example, Codespaces confines you to an ephemeral Linux container running on Azure, and our old product confined users to semi-stateful Kubernetes pods.

With coder/coder, you can use any operating system on any kind of compute on any cloud and change every single configuration knob. You can also mix and match cloud resources. An early user has hundreds of cloud resources in each workspace, including IAM roles, secrets, and network rules.

Early users are running stateful VMs running on GCP, Docker containers on big servers, Kubernetes Pods, and Windows VMs on Azure. We’re stoked to watch people adopt remote development in their own ways.