What is VPS hosting?
VPS hosting stands for Virtual Private Server hosting, it serves as the middle option among the traditional hosting types (shared, VPS, dedicated). With VPS hosting, multiple users share a single piece of hardware (server), the server is divided up according to the amount of resources and specifications you've purchased from the hosting provider. The hosting provider manages the server with a hypervisor, a type of software that lets them divide up the server's resources into separate sections for each of their customers. These sections can have different operating systems installed, be given access to different types of storage (ie HDD vs SSD), and be powered by individual CPUs at varying performance levels.
How does VPS hosting compare to shared and dedicated hosting?
VPS hosting finds itself in the middle ground between shared hosting and dedicated hosting in terms of capability, price, and performance.
What is shared hosting?
Shared hosting provides a budget-friendly and low-performance solution for those with small-to-medium websites by sharing a single server among multiple hosting customers. With shared hosting, there is minimal administrative freedom, you can't install apps and configure the server any way you want, you're stuck working with whatever the hosting provider allows you to do. This lack of freedom benefits those that want an easy-to-setup environment with minimal technical knowhow.
What is dedicated hosting?
Dedicated hosting is the most expensive of the traditional hosting types, but it also provides the most administrative freedom and computing power. When you purchase a dedicated hosting plan, you're given access to an entire server, that you can setup and use as you see fit. These added capabilities allow dedicated hosting to power demanding websites and web apps, even if they have special configuration requirements. The downside is that you're in charge of the entire server and therefore there is quite a lot of technical debt added to your project in the form of server administration (installs, updates, maintenance).
VPS vs shared vs dedicated
There is a great disparity between shared hosting and dedicated hosting. In summary, shared hosting provides a budget-friendly and low-technical skill solution for small-to-medium websites. Dedicated hosting on the other hand is very expensive and adds a lot technical debt to your workflow, but is capable of powering demanding websites and web apps. VPS hosting lives between shared and dedicated hosting, it acts as the middle ground in capability, price, and performance.
Many projects (ie a niche blog) will start out on shared hosting, but as the site grows in popularity, shared hosting may not provide enough performance for the amount of users on the site. Instead of investing in a very expensive dedicated hosting plan and a server administrator to setup and maintain it, a VPS hosting plan is a more flexible option for your growing site. VPS hosting offers flexibility via managed and unmanaged options. Managed VPS hosting lets your hosting provider manage and maintain the server, just like they would with their shared hosting plans. This is a great option for those that don't need a lot of administrative freedoms, but have outgrown a shared hosting plan. On the flip side, an unmanaged VPS hosting plan gives you more administrative freedoms, but requires that you maintain the server yourself. This option is ideal for projects that require special server configurations to work, but aren't busy enough to justify a dedicated hosting plan.
How does VPS hosting work?
VPS hosting works by dividing up a single piece of hardware (server) into separate sections that hosting customers rent from a hosting provider. The hosting provider divides up their server through the use of a hypervisor, a type of software that allows multiple operating systems to share a single piece of hardware through the creation and management of virtual machines (VMs). Hypervisors can be installed on top of an operating system (type-2 hypervisor), or can be installed on the physical server without an operating system (type-1 hypervisor).
As a customer of a hosting provider, you don't need to worry about interacting with the hypervisor layer, instead, you'll be provisioned one of the virtual machines that the hypervisor helps manage. Each virtual machine can have its own operating system (ie Linux, Windows) and resource allocation (ie 4GHz 2-core CPU, 3GB RAM, 128GB SSD). Oftentimes, the servers that hosting providers use for their VPS offerings have redundant components, like multiple CPUs installed, meaning that an entire dedicated CPU can be allocated to a single VM.
Each VM operates as it's own individual server, the resource limits are hard set so that a single hosting customer can't hog too many resources (something that can happen rarely in shared hosting). If managed properly, you should never see, or notice, any other hosting customer that is on the same physical server as you.
When should I use VPS hosting?
VPS hosting is best used for websites and web apps that are not suitable for shared hosting (ie too much traffic), but don't require the amount of computing power that dedicated hosting provides. The middle ground, where VPS hosting sits, offers an environment that is much more powerful than shared hosting and optionally provides more administrative freedom. We'll explore the differences between managed and unmanaged VPS hosting below alongside examples of projects that would commonly use them.
Each hosting provider may treat managed versus unmanaged VPS hosting differently, with some even offering a semi-managed solution. Make sure you research exactly what you're purchasing from the hosting provider. Personally, I always reach out to my selected hosting provider before purchasing a plan, to confirm that the solution that I'm choosing does exactly what I want it to do.
What is managed VPS hosting?
Managed VPS hosting offloads the server management (server administration) duties onto the hosting provider. These duties will vary from provider-to-provider, but in general, they'll continue caring for the server in the same way they do on their shared hosting plans. This frees up their customers to continue working on their website without having to worry about installing, updating, or maintaining the server's core functions.
Example: When to use managed VPS hosting
A common use case for VPS hosting is a niche website that has increased its traffic to the point where shared hosting cannot continue to provide a good experience for readers. Outgrowing shared hosting this way leads naturally to managed VPS hosting, as it provides vastly superior performance, with minimal technical knowhow.
What is unmanaged VPS hosting?
Unmanaged VPS hosting puts the server management (server administration) duties onto the customer. The hosting provider will provision a VM to their customer, leaving them to maintain and configure it as they see fit. This emulates the freedoms that dedicated hosting provides, without the steep costs. However, it's important to note that if you're not tech-savvy, server administration duties have a steep learning curve and can take a long time - adding to your technical debt.
Example: When to use unmanaged VPS hosting
A startup is creating a web app that has a lot of server configuration requirements. These requirements go beyond the customization capabilities that shared hosting provides (ie root access). Because the development team needs these freedoms, server management (sever administration) is not needed from the hosting provider. Since this is a new web app that is still not all that popular and is being developed on a startup's budget, unmanaged VPS hosting fits into this scenario almost perfectly.
What is VPS hosting used for?
VPS hosting is commonly used to host websites and web apps that are too much for shared hosting, and not enough for dedicated hosting. However, because you have an entire VM at your disposal (especially if it's unmanaged), then there are some alternative use cases for VPS hosting.
Alternative VPS hosting use cases
If you've read our article on dedicated hosting, it contains alternatives to just hosting websites and web apps. Because VPS is similar to dedicated in a lot of ways, namely in administrative freedom and computing power, the same alternative use cases that we mentioned for dedicated can apply to VPS as well. The benefit here is that VPS is a more budget-friendly option than dedicated, but because it is more locked down (ie managed VPS) you may need to shop around a bit more for a hosting provider that can give you a VPS that is appropriate for your alternative use case.
I recommend reaching out to the sales/support of your preferred hosting provider to ask them if their VPS is capable of running your use case. Since VPS lies between the restriction of shared hosting and the freedom of dedicated hosting, sometimes web hosts will put some limitations on VPS that echo that of shared hosting. These restrictions may prevent specific applications (ie a Minecraft server) from being installed in the first place.
Hosting game servers
Many video games allow you to host private game servers for your friends and/or community. Some VPS hosting plans will allow you to install whatever you'd like and are powerful enough to run a game server with quite a few people playing at once (these requirements vary per game). With many unmanaged VPS hosting plans you can even choose Windows over Linux as an operating system, an option that can open up a large list of game server compatibility. Keep in mind though, that VPS is typically not as powerful as dedicated, so a demanding game server - and especially a demanding game sever on Windows, may be too difficult to run on VPS. Check with your hosting provider for their hardware specifications.
IT departments are responsible for setting up and maintaining several pieces of infrastructure, some of which may benefit from being hosted on the cloud. If compatible, VPS can offer a budget-friendly way to host some infrastructure instead of reaching for a traditional cloud hosting service (ie Azure, AWS), or even dedicated hosting.
Sometimes you may need a workstation that is geographically close to a particular place. For example, if you hire someone from Australia, and they're required to FTP projects onto a Canadian server, they may experience disconnects and errors due to high latency (ping) between their computer and the Canadian server. By remotely accessing a server (remote workstation) that is closer to the Canadian server, these errors can be mitigated.
Is VPS hosting good?
VPS hosting is good as long as you use it for what it is designed for, projects that can't run on shared hosting, but aren't demanding enough for dedicated hosting. These projects are typically websites and web apps that have outgrown their beginnings on shared hosting. For example, shared hosting is a perfect place to start a niche blog, but once the traffic picks up, performance may suffer. When that happens, it's time to upgrade your hosting - VPS is a great option in this particular case because it can handle a lot more traffic than shared, and is much cheaper than dedicated. VPS hosting is also ideal for people that have minimal technical knowhow in server administration, many hosting providers offer "managed VPS hosting" plans meaning they deal with the majority of the server maintenance for you.
Choosing the best hosting type for you comes down to selecting the right tool for the job. In general this means...
- Shared hosting for small-to-medium websites and web apps. You can read more about shared hosting here
- VPS hosting for websites and web apps that have outgrown shared hosting, but don't need the full power of a dedicated server
- Dedicated hosting for demanding websites and web apps (and other server applications) that are very demanding, or need specialized configuration(s). You can read more about dedicated hosting here
Pros and cons of VPS hosting
Like all other hosting types, VPS hosting comes with its fair share of advantages and disadvantages. Please note that hosting providers operate as independent businesses and therefore some of the advantages and disadvantages listed below may not apply. After choosing a VPS hosting plan, I recommend reaching out to your chosen hosting provider to make sure that the project you plan to host will run without issues on their service.
Advantages of using VPS hosting
- Flexible offerings
- Managed VPS hosting lets you offload the majority of the server maintenance and administration duties onto the hosting provider. Typically, this results in less administrative freedoms, but allows those with minimal technical knowhow to take advantage of the increased computing power that VPS offers
- Unmanaged VPS hosting lets you get one step closer to dedicated hosting without a huge increase in budget by giving you more administrative freedoms for more demanding projects
- Budget-friendly upgrade
- VPS gives you a budget-friendly upgrade option when you're coming from shared hosting. Jumping from shared to dedicated requires a large bump in the budget and the ability to take on a heap of technical debt
- Testing and training friendly
- If you're training a new employee, or testing out a client project in a private environment then you probably don't want to pay the high cost of a dedicated server. VPS gives you the freedom and power to run most websites, web apps, and other projects - especially if the only traffic is the development team
Disadvantages of using VPS hosting
- The allure and constraint of the middle ground
- Since VPS is a lot cheaper than dedicated hosting, it may be difficult to convince a purchasing manager to upgrade to dedicated when the time comes
- It's easy for a manager to keep asking their developers to increase site performance to stretch the host to the absolute limit, but there are only so many efficiencies that can be done before an upgrade to dedicated is required
- Confusing offerings
- Some hosting providers aren't real clear on what they're offering
- For example, all their VPS hosting plans may be managed, or unmanaged, without clearly stating which is which. Other hosting providers will offer managed and unmanaged, but may call them by different names
- This "marketing confusion" can cause more shopping around than normal for VPS versus shared or dedicated options
Related Podcast Episode
If you want to learn more about dedicated hosting and other traditional hosting types like shared and VPS, we have a recent podcast that you might be interested in listening to titled "What Type of Hosting Should You Use? (Shared, VPS, Dedicated, Reseller, WordPress, NodeJS)"
You can give it a listen right here.
If you use our link to purchase a plan, we will receive a monetary kickback
- Learn to code using Scrimba with their interactive follow-along code editor
- Join their exclusive Discord communities and network to find your first job!
- Use this URL to get 10% off on all their paid plans: https://tinyurl.com/ScrimbaHATT
Support Us On Patreon
If you'd like to support more articles like this and future podcast episodes, please consider checking us out on Patreon.