A recent post here about 4th July sales has made me consider buying a VPS but the cost still seems a little steep. What are the main advantages of using a VPS?
Depends on what you want to do and how technical you are.
Main advantage of hosting on your own hardware from home are cost and ease of access. Main drawback is that you need to give acces to your home network when you want to provide services. When you know what you do and your connection is fast enough, that isn’t a problem.
The main advantage of a VPS, which you rent instead of buy, is the flexibility and keeping security threats out of your home network. You can activate one for the service you like to provide, keep it alive until you don’t need it and have it detstroyed. Security issues may exist, but they are out of your home network. In the long run they are more expensive.
You can also combine both, host some services locally (RPi or a nuc) and some remote on a vps.
Here I run several personal websites local, but the DNS of my domains, incoming email and business websites are hosted on a set of VPS’es (set as you need 2 for dns). All websites are static, no management software what so ever, as most are (huge) security risks. For email I use the main VPS as 1st line of defence. Spam and virus scanning is done there.
I could use my RPis to do all locally, but I prefer to have DNS and email externally. Also, my only surviving client would be leaving when I run everything from home. (He’s basically paying for the servers, I just keep them running, pay for them and send the bill ;) )
When just ‘messing around’ a VPS is advisable, as you can trow it away and try again when you mess up. ;)
That’s really helpful thanks. My main reason for considering switching is for availability when outside of my home. I know I could port-foward but I am concerned about the security risks of that. I might buy one for just a month or two to see how it might help
What I do is this - and some may frown upon it because well…Cloudflare! But I use Cloudflare’s tunnels to access my remote instances for my password manager, Home Assistant and a SSH shell. All of which are behind passwords and 2FA. I then have only one port open on my router, that’s for my wireguard instance. I access it using my ddns and can be on my home network from anywhere.
I’d move away from the tunnels and push everything through WG, but my family is not as savvy as I am and don’t always activate the tunnel when away from home. I am putting a plan for that this weekend though. :)
I managed to put my family on wireguard. I said ‘install this and come to me when you are done’, I finished the setup and told them ‘the key icon must always be visible’. I don’t know how, but it worked 🤷
Re: port-forwarding, I used traefik as a reverse proxy and that worked well (having a single domain cert instead of per service DNS is another layer but it’s just obfuscation), but it’s always a risk. I finally started using Tailscale after hearing about it for years and it is actually very good and deserves the hype. I had meant to setup wireguard myself but this is a lot easier. And if you don’t want to use tailscale server, you can run headscale (on a cheap VPS?) instead.
If you think about it like renting vs buying a house it makes sense. A VPS means hardware problems are not your problem and you can switch or upgrade for free anytime, but you pay more in the long term.
Also, the costs don’t end when you buy your own hardware. Power ain’t free and swapping out components when they die does add up, especially hard drives.
Don’t forget automatic enterprise level backups, provided your SP doesn’t suck.
I hadn’t really considered hardware problems although I suppose that’s a rather negligible cost. I probably only have to replace my own hard drives every 3 years or so. I appreciate the insight!
Story time. Apologies for the length, but consider it a cautionary tale.
I have my own email server. I have been hosting my own email since around 2001. It used to be hosted on a box in my house, which was fine since I had a “business” plan from the cable provider giving me a /29 and no port blocking.
One summer, I moved from a 1 bedroom apartment to a 2 bedroom. Awesome, now I have a room dedicated to computer stuff instead of having it in the living room.
Just after moving I went on a 2 week vacation. About 2 days in I was no longer able to access my email server. Could not ping the ip or anything. I had someone go to the apartment to check the console. Nothing wrong, just no internet access. Hmmm. Maybe my router is broken. I wasn’t going to subject the person looking at it to debugging it, so I figured I would deal with it when I got back.
Aside: my domain is hosted at EasyDNS, which has a “backup MX” service. If my mail server ever went offline, they would hold emails for up to 9 days and flush them into the real one once it came online. Since I would be away for longer, mails would start bouncing back to the original hosts. I contacted their support to see what they could do. The owner of the company even jumped in and they were able to redirect all of the past and future emails on their MX cache to my work email until I could resolve the problem. Brilliant. I remain a customer for life.
Anyway, when I got back I found that the problem was not with the router but the cable company. As it turns out whoever was in the apartment before I moved in didn’t pay one or more bills. A disconnect got scheduled despite the fact that a business account had moved there. The departments don’t talk to each other it seems. I got a partial refund but I immediately realised i could no longer host email at home.
I found a hosting company offering Xen paravirt VPSes here in Canada. They did not offer the distro I wanted so I contacted them and mentioned I can provide the image. They were happy to let me do it. In fact, they had other requests from other potential customers and asked if I could handle them. Long story short I now own half the company. The VPSes, no longer Xen, are all highly available thanks to Ceph and Pacemaker, and my mail server continues to run without any real interruptions.
All of that said, I do self host certain things. Anything used at home including home assistant, static websites, etc. are all running off my 5-node home cluster running the same stack. My current connection is generally quite reliable, since it’s fiber from the local telco, and I have bypassed their awful CPE. I also have a variety of VPSes around for multiple reasons, such as backup, DNS, routing IPv6 for my personal AS, etc.
The moral of this story, of course, is that you should assess how important whatever you are hosting. Do you want it to run when you are not able to get to your house? How much do you trust your internet provider? Also, how much do you trust your VPS provider?
It really boils down to availability. A VPS will usually be more reliable than a home network.
For 99% of personal use though a home network behind a dynamic DNS service will be more than good enough.
- Lower upfront costs and quicker to set up as you don’t have to buy the hardware
- Don’t have hardware taking up space in your home
- Flexibility of being able to scale up or down your specs (or get rid of the VPS entirely) at the click of a button
- Don’t have to open your home network to the internet
- Better uptime (not your job to fix outages)
Usually in residential internet connections, upload speeds are terrible. Good enough for most uses. But if you are streaming video from home, it is noticeable.
Primary benefit of using a VPS:
Placing mission critical items there which you can not afford to have go down due to hardware failure Some of those items may be a DNS Server, uptime monitor, or VPN/Wireguard Tunnel.
They are usually quite fast, and will provide a STATIC IP which makes it easier to set your domain’s DNS resolver to, it never changes as long as you keep paying. :)
**Disadvantage of VPS: **
Who says they don’t log into your VPS Instance and snoop around? I’m sure about 99.99% of VPS hosts will never do that and are ethical, and honestly, won’t really care to. At a moment’s notice, the VPS can close shop and take your data with them. (I had that once a few years ago). No warning was given and they went dark. Very aggravating. Fortunately, I had a fairly recent backup but still.
If you do go with a VPS, a place which supports KVM is a huge bonus! You can then install just about any host OS you want. Pivo is a good place for this and they are reasonably priced. They’ve been around since 1997 and I doubt they will go anywhere. Or you can spin up an instance at Linode and take advantage of some of the free trials they have (Jupiter broadcasting a podcast production company has something like $100 credit for them, so you can get your ‘feet wet’ testing things out.
My advice, if you go with a VPS, avoid eBay for hosting plans, and read reviews of the sites you are considering. Trust pilot and others are often great resources.
**Benefits of your own hardware: ** You have everything on your server, you know where everything is and can have the peace of mind knowing it’s there and not looked at by anyone but you or those you trust.
Disadvantages of your own hardware
If anything fails, you are responsible for repairing/replacing it, this can also mean some massive downtime depending on how long it takes.
Your hardware is limited by the resources you provide it, Memory, Disk Space etc. Your ISP may throttle your data and cap the usage as well.
Thats super helpful thanks!
Aside from the already mentioned benefits in terms of maintenance and hardware cost… A VPS simplifies a lot of routing to the public internet. Many residential ISP’s intentionally make their network design outright hostile to any kind of inbound connection that could be used for hosting services… If you want your services to be accessible from anywhere outside of your home LAN a VPS greatly simplifies such things and guarantees it will always be up rather than being subject to the whims of an ISP’s routing stack.
What are you looking to host?
You should have a general idea on what you wish to accomplish to determine which solution is better.
Mostly public IP, connection speed, and bandwidth. Not everyone has the right internet uplink.
Personally I do both. My VPS takes care of stuff like DNS, Email, Webhosting, and a couple of light services such as Syncplay.
I use the Control Panel called ISPconfig for DNS email webhosting and etc.Then I have Proxmox at home behind a reverse proxy for services such as Emby, Game servers, NAS, Mumble DJ Bot.
What do you mean, buy a VPS, you rent them as they are virtual. Do you mean a co-located dedicated server? And what is “self hosting” to you?
Apologies, I meant rent a VPS. When I mentioned self hosting I meant hosting it myself on my own hardware and my own network
Dunno, I host all my personal services at home. I do have VPS for public services, websites etc. If you host at home you still pay for power, hardware etc. That being said, you most likely want local storage which needs some cpu power anyway, so you can certainly host some services at home. In the end it’s a matter of personal preference mostly.
Also you need to be aware that it is a virtual server, meaning you share resources with others and the cheap VPS providers over provision their servers quite aggressively.
Way better upload speeds, at least for me. Residential uploads speeds here are awful unless you have fiber. Uptime also tends to be way better.
I switched to Oracle’s free tier VPS and it’s giving me more RAM, better CPU performance, and better network speeds than my home server. Only issue is less disk space, but i had already stopped using Jellyfin/Plex before switching.