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
Writing ssh configuration to ~/.ssh/config_nowdev
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)
If you are interested, it is available for download on GitHub at https://github.com/nvartolomei/nowdev.