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 virtual machine time is incurred only 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. Example:
$ 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.