On-demand, cost-efficient remote development environments, nowdev
Nicolae Vartolomei · 2023/03
I often need Linux machines with higher performance capabilities than the virtual machines that can be run on my personal computer in order to compile large codebases (typically ClickHouse). While GitHub Codespaces is available, its power and flexibility do not meet my requirements, and I find that using Linode is a more cost-efficient option.
To manage my remote development environments on Linode, I have created a small command line utility called nowdev. This utility is designed to provide straightforward commands for starting and stopping virtual machines that have persistent volumes attached. The cost of the persistent volume and virtual machine time is only incurred between the start and stop commands.
$ time nowdev start Added config https://cloud.linode.com/linodes/44054314 IP: 18.104.22.168 Writing ssh configuration to ~/.ssh/config_nowdev real 0m1.771s
Once you are finished with the virtual machine, stopping it will remove the Linode/VM instance, but any persisted data will remain on the volume and not be deleted:
$ nowdev stop Uptime: 1 hours and 42 minutes Instance type: g6-standard-4 Cost: $0.12 (per hour: $0.06) Instance deleted
If you are interested, it is available for download on GitHub at https://github.com/nvartolomei/nowdev.
Works great together with iTerm2 tmux Integration, Visual Studio Code Remote - SSH extension, JetBrains Remote Development.