You can think of a VPS, Virtual Private Server as a slice of a physical server. They slice up a single physical server into multiple virtual servers and present each one for sale to end users. Slice up a server with 16GB of RAM into 32 servers with 512MB of RAM, and sell each one on a monthly basis.
If you’ve ever played with VMware or Virtualbox at home (and you should – they’re both free), then you’ve created Virtual Machines. As I type this, the Windows PC I’m sitting at has the main operating system (Windows 10) running, along with two VMs, both running Linux. Each of the VMs thinks it’s running a separate physical server, but they’re just slices of my real box.
Both are allocated 1024MB of RAM and 1 CPU, each is talking on my home network with a different IP, and each has dedicated disk. I can connect to either VM from my PC (or from outside it). If my PC was a big, beefy server in a datacenter and I was selling those VMs to you, you’d be buying a VPS. That’s all they are.
Why would I need VPS?
If you are serving static web pages or a simple WordPress blog, you do not need a VPS. Many small business online web stores do not need a VPS. Most people’s personal galleries and home pages do not need a VPS. For these types of applications, shared hosting is just fine.
On the other hand, if you’re running a very active forum, a busy web application, lots of CPU-intensive sites, etc. then perhaps you do need a VPS.
Typically, it’s CPU usage that tips people into a VPS. A forum may not be high-bandwidth in terms of megabytes of content served per day, but might be very CPU-intensive because every click is a dozen MySQL queries and page renders.
You may also want a VPS as a game server, or if your shared web host does not support the particular software you want. There was a period where I wanted to run Ruby on Rails before it was widely supported, and so I hosted that on a VPS.
It’s certainly possible to outgrow a VPS – though some of the providers discussed on vpsadvice.com offer pretty beefy VPSes. The next step up in power is a dedicated server, where you have the complete server all to yourself. Some providers also offer “hybrid” servers, which are VPSes with very low occupancy so there is minimal contention for the CPU.
What kinds of VPS exist?
There are several different kinds of virtualiation. Here is a loose description:
- Virtuozzo/OpenVZ: It is container based. Which means that the Linux kernel’s isolation features are used to present the appearance of separate virtualized servers. All guest VMs share one kernel. Potentially the fastest, but often oversold.
- Xen: Full or paravirtualization, offering the ability to use different kernels. Greater isolation than OpenVZ and more difficult to oversell. Alternatively, you can use a hypervisor/hardware virtualization, which allows for loading different operating systems.
- KVM: The newcomer on the block, which works similarly to Xen.
That is not an exhaustive list – therea are also Solaris Zones, VMware, cloud-type offerings, etc.
As of 2023, KVM , OpenVZ and Xen are the most popular offerings. Most budget providers offer OpenVZ, because it’s the easiest to oversell. Many high performance hosts offer KVM ,Xen, though some high quality hosts offer non-oversold OpenVZ.
So What Do Different Virtualization Technologies Mean to Me?
Quite possibly, nothing. Unless you need to load a kernel module or run a custom kernel, OpenVZ vs. Xen is not likely to make much difference, assuming the box isn’t oversubscribed. Some people prefer Xen because it’s more difficult to oversell, which gives them the feeling that their resources are dedicated to them.
What is Overselling?
Overselling is exceeding the physical resources of a server. If you have 16GB of RAM and the VMs total 20GB of RAM allocation, that’s oversellling. It’s not necessarily bad – in most cases, all the VMs wouldn’t be active at the same time, they won’t all be using their full allocation at the same time, etc.
They can also oversubscribe CPU and disk I/O. For example, loading a server with a lot of RAM and many VMs can result in VMs that are fine as far as RAM, but starved for CPU and disk I/O due to contention.
How Big a VPS Should I Get?
The smallest one that meets your needs. Don’t think in desktop terms. While a 1GB Windows desktop would be almost unusable, a 1GB Linux VPS can be very speedy. People routinely serve web sites with very small VPSes.
If you want to use a panel (e.g., CPanel), you want at least a 1GB VPS, as CPanel is a bit of a memory pig.
The great thing about VPSes is that you can size up very quickly. Sometimes it’s something you can do yourself in the VPS control panel, and sometimes you have to open a ticket with your provider.
You Mentioned a Panel – What’s That?
Most VPSes are administered either at the command line (typing commands into the shell), or via a “panel”. CPanel is by far the best known, though there are many others, including some that are free. These panels allow you to administer your VPS through a web-based GUI and are considerably easier to those with limited systems administration experience.
So How Does Getting a VPS Work?
First, you will need to specify a hostname and domainname (i.e., node1.example.com), so you should have those handy. After selecting a vendor, you sign up with them and provide your payment (credit card, paypal, etc.) In many cases, they will provision you instantly. Some hosts (particularly if there is a panel to install, etc.) may take longer. Waiting 12-24 hours for your VPS is not unusual.
Eventually you receive an email giving you the IP address for your VPS, plus information on how to access the power panel. The power panel is different than any control panel you purchased, like CPanel. People use cPanel to configure the OS and services inside the VM. The power panel is use to control the VM externally.
So if you want to reboot the VM, power it on/off, reinstall the OS, etc., you’d use the power panel. If you wanted to reconfigure Apache or setup MySQL, you’d use CPanel. (To add some confusion, people often use the term “control panel” to describe either function).
So, you got your setup email. Your VPS is probably up and live and you can just ssh to it with the root password you specified (or the host chose for you). From that point, you can configure services, install whatever software you want, etc.
Can I Get a Free VPS?
Surprisingly, the answer is yes. There are some organization that I’m aware of that provide free VPSes, using a “post to host” model , trial vps ..etc