We’ve talked a fair bit about home virtualization in the past, but now we’re going to take a different turn and tackle VPSs, or “Virtual Private Servers”. In essence, a VPS is a virtual machine in the cloud, allowing you to log in from anywhere and gain nearly full control over a remote machine with tons of bandwidth to do a variety of cool things.
As already mentioned, virtualization is the technique of having a “virtual” OS operate inside of a normal one, and with a VPS, the only real difference is that it’s located on a remote server. On the desktop, solutions used most often include VirtualBox and VMware, but for VPS use, the more common backbone is Xen, which happens to be what Amazon uses for its EC2 service. Other solutions do exist, such as OpenVZ and VMware, but their use depends on the VPS’ requirements.
Virtualization works because the hypervisor (tool to operate VMs) gives both real and virtual hardware access to the virtual machine. Often, a virtual machine will have direct access to the CPU and memory, but many other things will be fed through special drivers, such as for the USB and graphics. On a VPS, those two things in particular are not a concern.
To the end-user, though, none of this matters, and none of it is noticeable. If you’re familiar with the Linux command prompt to begin with, logging into a Linux VPS is going to feel completely natural – no different than if you were logging into an actual Linux-based server. The difference is that the VPS you log into might actually be running alongside many other VPSs as well.
One of the reasons VPSs are so intriguing is that they are completely customizable. It’s common for a VPS provider to offer a wide-range of OSes to install, and these can be installed an unlimited number of times (this assumes Linux, Windows’ licensing fees are different). Gave CentOS 5.3 a try, but didn’t like it? You can quickly and easily click a button to install Debian 5.0 (just an example) instead, and after a couple of minutes of waiting for it to install, you’ll be able to access the new environment.
Because VPSs tend to cater to a wide-range of customer types, there is generally a large selection of Linux distributions to choose from, and you might be surprised to not only see updated versions, but older versions as well. This is because for some people, an older version might be required for testing, or for compatibility reasons. It’s nice to have this kind of flexibility, especially since it’s not always an option for you to install a custom solution (this wouldn’t be the case for large organizations).
Because the OS you’ll be using is a virtual machine, nothing you do to it can spread through to the rest of the machine. The same thing applies to desktop virtualization, where if your guest Windows OS crashes and burns, your real OS install won’t know the difference. This of course assumes that your virtual machine doesn’t have read/write access to all of the sensitive system files on your real install, but that’s never the case unless you specified it.
There’s no “one” reason that a person might dabble in virtualization, and a couple of scenarios laid out earlier can give proof of that. Most of those applied to desktop virtualization, though, so what about server-based virtualization? Let’s tackle a couple examples.
Being that it’s so affordable to do so, many people today own and operate their own websites. Generally, people will purchase some hosting space from a provider, receive a basic control panel and can upload their website to an FTP for the world to see. It’s simple, and works, but there’s a major limitation.
If you take Web development seriously, a general Web host is not exactly the best solution, because the real control you have is weak. You might be able to create FTP accounts, e-mail addresses, and other things like that, but what you can’t control is the software configuration. Because most Web hosts place many different websites on the same machine, software packages are rarely updated unless they have to be.
What if PHP 5.2.14 was installed and you needed 5.3.3? On a shared host, you’ll be out of luck. But on a VPS, because you have full control over the OS, you can install whatever it is you like. It’s YOUR server… one that just happens to be virtual, not native to the machine it’s on.
This scenario is actually one of the more common consumer reasons for getting a VPS. It’s not incredibly easy to get a website up and running on a VPS, but it’s not something that requires a professional, either. And sometimes, your VPS provider might be able to help you out, or at least direct you to tutorials that will get you started.
For those big into torrenting, that’s another popular VPS use. It allows people to upload their own torrents, or download others, straight to and from their VPS. This use might seem a little odd since people could just as easy torrent on their home PC, but there are a couple of reasons for cloud torrenting. One is that a VPS solution is reliable, and second, they are always backed by a far fatter pipe (as in bandwidth) than a home PC.
Standard VPS packages generally offer 1MB/s up and 1MB/s down (megabyte, not megabit), and because of that, some people might choose to upload a file to be torrented to their VPS first, and then seed from there. This allows them to seed at a much faster speed, and retain greater reliability. It’s no secret that some ISPs throttle BitTorrent traffic, even if it’s used for legal means, so this is one way to get around it.
If you care a lot about privacy, especially on the Web, but don’t want to go with a commercial proxy application or even deal with something like Tor (not that there is anything wrong with it), another option is to get a VPS and set up your own personal proxy. A common issue with proxies is performance, but if you set up your own on a VPS, it means you get huge bandwidth in both directions, so theoretically, you should always get the best performance possible.
All of the examples mentioned above are just the beginning of things you can do with a VPS, and considering this is just a primer, you can expect more content from us down the road that gets more specific, including the mentioning of a couple of things I didn’t quite want to talk about yet. In the end, we’d like to show you how to do the things we mentioned above, and on multiple versions of Linux, to make sure that if you do go with a VPS, you have no problem getting it up and running.
Some common questions now might be, “Where do I get one?” and “How much are they?”. Depending on your personal needs, the cost of a VPS will vary, but for most, the $7~$10 a month mark is about right. That’d include a couple hundred GBs of bandwidth and between 5GB and 10GB of hard drive space. For those wanting to do things like torrent, however, prices will be a bit higher due to the extra disk space that might be needed.
There are a multitude of VPS providers out there, but I use Neosurge for my personal needs as I’ve been a customer there since 2003 and have never looked back. The service for me has been unparalleled, and it was because of that company that I ever decided to take a dive into VPS. I wouldn’t hesitate to recommend it to anyone. You can feel free to contact the company if none of the default solutions work out to your favor, as anything can be customized.
If you happen to have any suggestions of things you’d like to see done with a VPS, or you already run a VPS and want to let the world know what you do with it, don’t hesitate to post in our related thread linked to below and tell us about it! Stay tuned, as we hope to have VPS-related content published in the very near-future.
Have a comment you wish to make on this article? Recommendations? Criticism? Feel free to head over to our related thread and put your words to our virtual paper! There is no requirement to register in order to respond to these threads, but it sure doesn’t hurt!