A Virtual Private Server (VPS) is a simulation of hardware by a host operating system that allows another operating system to run on it. Simply put, this allows web developers to host multiple “virtual” servers on just one physical server. To a developer, the benefits seem readily apparent:
Each virtual server, or “private” server, are separated from one another and only accessible via the host server. This means only the host server can access the RAM, CPU, Disk Space, Network throughput etc. For instance, a server may have 2GB RAM, 100GB of disk space, and 2 x 2GHz processors, with 10 VPSes on it. Now depending on what VPS software you go with on the host, each virtual setup either share hardware resources, or have guaranteed access to 200MB RAM, a disk space limit of 10GB, and an effective CPU of 400Mhz. This, of course, is oversimplified a bit in order to help you get the idea.
Most VPS plans are hosted via Linux or FreeBSD, but Windows is not without it’s share of options. However, research has indicated that a Windows plan tends to err on the expensive side and you might be better off going with Linux. So, having said that, for the purpose of this article we will be illustrating using a Linux setup.
Is VPS hosting right for you?
Basically, a VPS hosting plan is something of a middle ground between entry level web hosting plans that rely on services such as PHP/MySQL and co-location setups, which has you owning and managing the hardware and simply renting the “rack space” and the Internet connection from a data center. If you are ready to move on from an entry level plan, but you are not ready to shell out the dough or a co-location, then a VPS hosting plan could be your Shangri-la.
Of course, there is also another option. There is something known as dedicated (or managed) hosting. This is often cheaper than co-location and becoming mo reasonably priced by the month. Dedicated hosting is actually more affordable than you tink. As the name indicates, this option gives you a dedicated server. You are, in essence, renting the server from the hosting company, rather than just renting the space. Consider it like those “Rents to own” furniture places that advertise on billboards from time to time.
But I digress. VPS hosting plans offer the following advantages and uses:
- Root access gives you the ability to install and configure any programs you want. For instance, you run PHP with PostgreSQL instead of MySQL? Go ahead and try it. Want to try out Zope/Plone? Go ahead and try it. The sky truly is the limit here.
- You can host an unlimited number of Websites through Apache’s Virtual Hosts. Convenient.
- You can host other services, such as a mail server, an FTP server, or any type of server you want.
- You can use the server for backup, file storage, or anything you need.
However, any sun that rises also sets. Here are several disadvantages to using a VPS hosting plan:
- You are in control, so you are also responsible for all installation, maintenance, security and updates. If you are inexperienced with administering a Linux Server. This is a big drawback to those of you lazy folks out there. The learning curve can be steep.
- While a VPS hosting plan gives you an entire operating system of your own to work with, you still share hardware resources (CPU, RAM, etc.) with other VPSes on the same host server. Therefore, if performance is key, or you’re running RAM-intensive programs, you may be better off with co-location. This depends, of course, on your hardware setup.
How does this VPS stuff work anyways?
A whole lot of interesting technologies working in tandem make Virtual Private Servers possible: There are commercial companies, such as VMWare, and Microsoft’s own Virtual PC. Open Source programs such as User Mode Linux, QEMU, and, more recently, XEN. XEN is a hot topic in the VPS world recently and has been receiving a lot of press and support. There’s even the possibility that it may be bundled with forthcoming releases of Linux. This can only be a good thing for Web developers, as the more widespread the use of Virtualization and VPS is in Web hosting, the more freedom it will provide at a lower cost. Freedom, usually, is a good thing
Getting down to the root of the matter
So what’s in it for you when getting a VPS account? A lot, actually. The one thing you get for sure is root access to your server. As you read above, if you are comfortable being an admin on a Linxus server remotely this is a great boon. It’ll give you absolute control. You can install anything you want whenever you want. The virtual world is your virtual oyster. However, with great power comes great responsbility. The configuration and implentation is in your hands. If this causes you great anxiety, maybe a VPS isn’t right for you.
Does this mean you’ll need to install the entire OS from scratch? Not really. Most VPS plans come with disk images to choose from, which means a set of schematics and timestamps that will get you started right away. You’ll simply have to specify which disk image suits your fancy, and it will be instantly configured on your VPS in minutes. Once you’ve established an account, the root access is granted via ssh. You can then log in and customize your server as you see fit. Get the ball rolling by installing new software, removing unwanted software and updating the software that’s already there.
Choosing the right VPS company
So you’ve decided to make the jump. Now what? How can you choose the right company? Here are some things to look out for.
First of all, know the details of your hardware and your available resources:
- What are the exact specs of your host server? (RAM, CPU, Network throughput, etc.)
- How many VPS instances are run on the host server that you’ll be on? This is important as you’ll be vying for host space with other VPS setups.
- How are the resources handled? In other words, what happens if all the other VPSes on your host server are running CPU/RAM-intensive processes? Do you have a dedicated minimum amount of RAM/CPU/Network usage? If so, how much?
You also gotta know the details of your virtualization technolgy:
- What is the underlying OS used with the server: Linux, FreeBSD, Windows?
- If Linux, what distros are offered?
- Are they using User Mode Linux, QEMU, or XEN?
- How are the hardware upgrades handled? What are the additional costs of upgrading RAM or getting more disk space? What is the procedure for going about such an upgrade?
You have to also recognize the abilities of the specific web hosting company. These are some broad questions that could be posited across the board when choosing any web hoster:
- What kind of support is offered? Can you get a real person on the telephone when you have a problem?
- How long has the company been open for business?
- What is the company’s client retention rate?
- How much downtime have they experienced in the last 12/24 months?
- What backup/redundancy measures do they have in place?
Prices at these hosting companies range from $20 a month for basic service to more than $100 per month for the higher end services. Beware though, a higher price doesn’t always indicate a better product. Do your research. Check message boards and read customer comments. If you are curious but unsure if a VPS plan is right for you, start small. Check out one of the lower priced plans for a few months and try out all of the features. Then you’ll know if it’s worth it to upgrade. Just be sure to choose a hosting company that can accomodate said upgrade. And, remember, if you need a lot more hardware resources, don’t be afraid to go the co-location route.