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?
The first thing to check is whether you can install your CAD software on a virtual machine with your current license. If you have good internet at home and already own a CAD machine then it might be easier to setup VPN access and remote control that machine for your Windows needs. Sunshine/Moonlight works good if you have the bandwidth for it.
Adding to this: doesn’t CAD usually want 3D acceleration? I would definitely try running the CAD software with the same VM configuration you plan to use in your Proxmox VPS first before progressing to make sure it (a works at all and b) is responsive enough. You could even try nesting Proxmox in Proxmox to emulate the kind of performance you’d had on a VPS.
I don't know how easy it would be to migrate to your own local machine, but what you're describing sounds like Desktop-as-a-Service. All of the major cloud providers offer this in some form.
I think you're both over- and under-thinking this.
First: if you go with a cloud provider, your provider is your hypervisor. If they don't directly and clearly offer the features (import, export, Windows, etc.) that you need, they're not the right choice.
On the subject of exporting images from the cloud to use locally, eh, that's not the most common feature. It does exist, but I've never seen a provider that does it in a way that's not a complete pain in the ass and/or is simple to use one you have the image, which sounds like something you might actually want. Someone giving you a qcow image of your disk does not necessarily make importing it and getting it back up on a local KVM system easy, for example.
It sounds like half of what you need is a decent laptop (Windows in the cloud kinda sucks for any application that's got any sort of GPU-accelerated component, still.) and the other half is just a Linux server somewhere running docker, be it VM, real hardware, or some box sitting in your closet at home.
(Edit: clarification: you can get a Windows VM that has a proper GPU passed thru to it, but they're expensive and if you don't get a GPU, then you just have basically software rendering, which limits what kind of software you can reasonably use with reasonable performance.)
Nothing you mentioned about your "future home server environment" can't be run on a VM, but I would comment that you're looking at a pretty expensive route if you go the VM path. Nextcloud, for example, will want ~3-4gb of ram to not utterly suck and be useless. A full *arr stack with something like qbittorrent can happily eat another 4-5gb. Add in Plex/Jellyfin? That's another 2-4gb there, too. And so on.
You might actually end up spending less on a dedicated box than you would on a VM, simply because the pricing for things like RAM are usually substantially better for real, actual, physical hardware once you get past like, 4 or 8gb.
I'd also recommend going with a containerized install for all this stuff: I bounce stuff around between servers and it's just a matter of lifting the data out of the bind mount and moving it to it's new home, and then a docker compose up and we're done.
TLDR: Cloud maybe fine, bare metal maybe fine: it comes down to budget and comfort with what you're willing to deal with.
Bare metal server sounds like optimal solution for you and set up a hypervisor on top of it, so it's pretty trivial to migrate VMs to your own hardware when needed. But then for your 'long term' environment VPS would most likely be better and migrating a full VM from your hypervisor to VPS is a bit more work, but can be done.
I don't know about providers in Australia, but Hetzner has both and combined billing and my personal experience with them is pretty good. But I'm in Europe, so bandwidth nor latency is not a problem.
If I was in your shoes I’d probably build my own hypervisor box and rent colo space for it. Strictly because your requirement to migrate VMs to your own system later is more trouble than it’s worth.
I don’t know for sure but I’d guess you would pay less for colo than renting someone’s server for a year or two. Renting bare metal is stupid expensive.
I would go with Azure especially if you are interested in Windows servers. It will cost you but that's how I would do it if I wasn't using physical hardware.
For Windows on physical hardware you just need the proper license.