Vague title I know, but I'm enough of a beginner at this to not really know what I need to ask!
I would like to rent a server, that allows me to spin up different services, including things like Windows to use as a remote desktop. Ideally, I would then be able to just migrate this whole setup to my home server.
I thought it would be as easy as renting a scalable VPS, but apparently if you run something like Proxmox on those, you'll get terrible performance?
My understanding is that I'd need to rent a bare metal server, but then my 'scalability' will suffer- I can't just wind up and down the specs as needed, correct?
My user case: For the next several months, I'm on the road, without a proper computer. I may have some work doing some CAD drafting, hence Windows.
I'd also like to have some containers to run some dev tools, databases, web hosting. I'd also like to use the same service to start building my future home server environment- nextcloud, *arr, etc. Once I'm back home, I'd like to easily migrate this setup to a local machine, then continue to use the server as my own cloud and public entry point. And further down the line, hosting a gaming server for friends. In terms of location, Sydney would be great.
Will a VPS do this? Or do I need bare metal? Is there a single service that will allow me to do both, with one billing? Or am I doing a Dunning-Kruger?
A VPS is already a VM and nesting VMs, even if you get it to work, is generally a Bad Idea™️.
What you're asking for is squarely in "bare metal" territory. Does that reduce your flexibility? Sure. But it doesn't entirely eliminate it. Down the road if you decide you need more RAM or disk those are things you can have added (at a cost). CPU would likely necessitate a migration to a different system so I'd keep that in mind during initial sizing. Also, if you are using proxmox, migration will be as simple as backing up a container/VM and restoring it at the destination.
Your other alternative is multiple VPSes or possibly augmenting the bare metal server with one or more VPSes.
As far as unified billing goes, just have all the services with the same provider. Most providers I've encountered offer both services.
I can't speak to providers in our around Sydney, but I'd recommend checking out lowendbox.com to start your search.
Thanks. As bare metal is quite a bit more expensive, what would I lose by going to a VPS? I'm assuming Proxmox and Windows, assuming I wanted to go with a Linux VPS. Would there be issues with running Docker containers with the VPS?
Honestly I think you're asking way too much for a VPS, or even a full blown server. If you want to run CAD software you'll also want a remotely capable GPU and you won't get that in a server unless you've explicitly put something in it. The built in GPUs in servers are like radeon 3450s that are 15 years old and are basically just video adapters and not actual "graphics processing units". If you have your own server I'd throw a GPU in there and try running your software there. But honestly any remotely modern laptop will probably run faster than a cheap rented server.
No docker is not virtualisation, the poster below is talking about docker for desktop which is a nice gui wrapper around it in a VM, but by definition docke itself does not use any form of virtualisation. If you had a modern Linux server you can install any of the container runtimes, e.g. docker, podman to run containers or something like K3S which is effectively a lightweight kubernetes if you wanted to run a lot of different containers and have a central way of managing them
It's already all virtualized, so from customer perspective, advantages of virtualization aren't there (single box, maximizing use of local resources, etc).
Wouldn't you be able to do containers in a Linux VPS though? To the host, it's just a virtualized Linux, from Linux' perspective, those containers are local resources.
Docker desktop is not what most people on Linux are using. They're using docker engine directly, which doesn't run in a vm, and doesn't require virtualization if you use the same kernel inside the containers.