Most businesses start out small. They're often an e-commerce platform, a blog, a membership site, or maybe a simple portfolio. They'll get by just fine with a budget shared hosting account from one of the big boys like GoDaddy, HostGator, or 1&1 Ionos, paying a few dollars a month for a small amount of space on their servers.
Eventually, you get that dreaded email. "We're sorry but your site's grown too big, and you're now causing problems for other hosting customers" - heck, some might not even give you this courtesy and will just hit you with an immediate account termination notice, with no grace period, backups or options to 'upgrade' your service.
When that happens you know it's time to expand. You've grown big enough that you're now in need of something larger to support your growing website.
That's where you've got an important decision to make: VPS or Dedicated Hosting
Let's start by taking a look at the key differences between the two.
A VPS or Virtual Private Server provides a 'slice' of the resources of a server. You're given a fixed amount of CPU, RAM, and Disk Space and can run your own operating system (often a flavor of Linux), and install whatever programs you need for your business, such as Apache or Nginx, MySQL, PHP, Redis, Python, Ruby, Java, etc.
The beauty of a VPS is that you're not having to pay for a full piece of dedicated hardware, you're just renting a portion of it. This has the obvious benefit of costing less, but there are other benefits to consider, which would often be additional costs with a dedicated server, such as hardware maintenance.
With a dedicated server if one of the hard drives in your RAID array fails you won't know about it - unless you've installed something to let you know. With a VPS server, the provider should be actively monitoring the underlying hardware, and can often perform simpler tasks like a hard drive swap without you ever even noticing, and with no downtime.
Another benefit is scalability. Let's say you've paid for a fairly small VPS to start with, which provides you with 1 CPU core, and 1GB of RAM. As your site grows you can ask your provider to bump you up to the next plan. Suddenly you've got 2 CPU cores and 2GB of RAM and didn't have to mess around rebuilding your server and moving files or have to experience any major downtime.
A VPS is a great choice when you're in the process of growing your business and don't yet need the beefier resources that a full dedicated server provides.
If a VPS isn't for you, or if you've outgrown your existing VPS server then moving to a Dedicated Server is an obvious choice.
The biggest difference here is that you're in full control of the hardware. You're not splitting CPU time with other customers, and don't have to worry about someone else's server affecting the performance of your own site.
Dedicated Servers tend to cost a fair bit more than a VPS, but over the last few years, prices have dropped significantly, with providers like Hetzner, OVH, and ReliableSite offering powerful hardware at very competitive prices.
There are a few caveats to running a dedicated server, however. The maintenance side of things tends to be higher here, with the need to monitor the hardware for issues, keep an eye on potential attacks from bad actors, and monitor your site to ensure you're not going to run out of resources, as upgrading a dedicated server is a much more time-consuming task than a simple VPS upgrade.
This being said, by having your own hardware you are in control. You can split your own server up to run exactly how you need it to, you can even create your own individual VPS instances on the server if you wish to split different sections of your hosting requirements up - a tool such as Docker can also help greatly with this.
The term 'Cloud Hosting' gets thrown around a lot by hosting providers these days, and many use it purely for marketing purposes, with very few of their services being any different from traditional VPS or Dedicated hosting.
Using the 'true' meaning of the phrase 'Cloud Hosting', you'd be paying for a specific amount of resources that you can turn on or off as needed. Cloud Hosting is often billed by the hour and is intended for more advanced applications where you might need to run specific tasks at set times.
An example of this would be if you ran a large blog and sent out a newsletter every weekend, you could spin up a couple of cloud instances to handle the mail-sending duties, which then turn off and delete themselves once done - this provides a cost-effective way to use resources only when you need them so that you've not got an overpowered server sitting idle for 90% of the time.
Some of the 'big' hosting providers like HostGator have products called 'Cloud Hosting' but they aren't the same thing, and are often just a standard VPS hosting account, with no scaling or anything remotely 'cloud-like'. They promote features like 'automated failover' so that if the physical server your VPS is hosted on has problems, they'll automatically migrate your VPS to another server - something that most would consider a standard feature of VPS hosting.
The first thing we'd say is to avoid 'Cloud Hosting' from big-name providers unless you fully understand what you are paying for.
If you've recently outgrown a shared hosting plan, then the chances are a VPS server is the right choice for you. A small VPS can handle a heck of a lot of website traffic if correctly configured, but don't be surprised if you need to periodically upgrade to higher-tier plans. A good VPS hosting provider will allow you to automatically do this from your billing portal. Providers such as AWS Lightsail, DigitalOcean, Linode, and Vultr provide excellent support for this.
If you're concerned a VPS might not be powerful enough, or would rather take full control and not worry about being affected by other users on the server then a Dedicated Server is likely the best option for you, but remember that it'll be up to you to monitor the hardware for any issues, as well as handle the security and maintenance of the server.
One of the hardest parts of running your own server is managing user access, and monitoring resources. ServerAuth provides an easy-to-use control panel for keeping tabs on who can SSH into your server, and what resources are being used, as well as a whole suite of tools such as Cron Job and Supervisor management, Log viewers, and a handy interface to manage your firewall, and block dodgy IP addresses at the click of a button.
ServerAuth provides a whole host of management tools, from controlling who can access your server, to managing your website deployments. And with an ever-growing suite of tools you'll always be one step ahead!Start for free