Skip to content.

Green Leaf Technologies

Sections
Personal tools
You are here: articles

Virtual Private Servers

Created on 2nd November 2005 05:50 PM. Linux | Web Development
Virtual Private Server are set to revolutionize low-cost web hosting. Find out how you can take advantage of this important new technology.

What is a Virtual Private Server?


A Virtual Private Server (VPS) is an entire operating system that runs within another operating system. What that means for web developers is that a web hosting company can host multiple "Virtual" servers on one physical servers, or host server. Each virtual server is isolated from the others (or "Private"), and access to hardware resources (RAM, CPU, Disk Space, Network throughput) is managed by the "host" server. So for instance, there may be a server with 2GB RAM, 100GB of disk space and 2 x 2GHz processors with 10 VPSes on it. Each one is guaranteed to have access to 200MB RAM, a disk space limit of 10GB, and an effective CPU of 400Mhz. Now, this is a slight oversimplification, but it gives you an idea of a potential scenario.

Most VPS plans are typically hosted on either Linux or FreeBSD, but they do also exist in the Windows world. My personal experience and preference is for the *nix side of things, and from my own research I've found the cost of Windows VPS plans tend to be orders of magnitude more expensive than those of *nix, but that's not to say they won't work for someone in some situation. For the purposes of this article I'll be focusing on the Linux VPS plans, as that's what I'm more familiar with.

Is it right for me?


VPS hosting plans fill the gap between entry level web hosting plans which offer specific services (such as PHP/MySQL, or Perl/CGI) with a limited amount of disk space on a shared server, and co-location, where you own and manage the hardware and simply rent "rack space" and an Internet connection at a data center. If you are outgrowing a shared hosting plan, but aren't ready for the financial commitment of co-location, a VPS hosting plan could be the ideal middle ground.

VPS hosting plans have the following key advantages:

  • Root access means you can install and configure any programs you want. Want to run PHP with PostgreSQL instead of MySQL - go ahead, install it. Want to try out Zope/Plone - knock yourself out.
  • You can host an unlimited number of web sites through Apache's Virtual Hosts.
  • You can host other services, such as a mail server, an FTP server, or any other type of server you want.
  • You can use the server for backup, file storage, or anything you need.

However, VPS hosting plans have the following disadvantages:

  • Since you are in control of the server, you are also responsible for all installation, maintenance, security and updates. If you are inexperienced with administering a Linux Server, and are not willing to learn as you go, this may be a big drawback.
  • While a VPS hosting plan gives you an entire operating system of your own to work with, you are still sharing hardware resources (CPU, RAM, etc.) with other VPSes on the same host server. Therefore, if performance is key, or you are running RAM intensive programs, you may be better off with co-location.

How Does it Work?


There are a number of virtualization technologies which make this all possible. There are commercial companies such as http://www.vmware.com VMWare, or Microsoft's own http://www.microsoft.com/windows/virtualpc/default.mspx Virtual PC, or Open Source offerings such as http://www.usermodelinux.org User Mode Linux, http://fabrice.bellard.free.fr/qemu/ QEMU, and more recently http://www.xensource.com/ XEN. This is a hot topic in the Linux world at the moment, with XEN particularly receiving a lot of press and support. There's even the possibility that it may be bundled with upcoming distributions 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 and lower cost it will provide.

Getting to the Root


So what do you get with a VPS account? Well, the one thing you do get is root access to your server. As mentioned above, if you're comfortable with administering a Linux server remotely, this is, of course, a great thing. It means you have complete control, can install any programs you want, and do anything you choose. However, it also places the responsibility for configuring and implementing in your hands. If you're not comfortable with this, stay away from VPSes.

Does that mean you need to install the entire operating system from scratch? Probably not. Most VPS plans have a number of "disk images" to choose from with different distributions (such as Debian or Fedora Core) with default configurations. You specify which disk image you want, and it will be configured on your VPS in a matter of minutes. Once you are set up with an account, you are then given root access via ssh, and can login and customize your server, install new software, remove unwanted software and update existing software as needed.

Choosing a VPS hosting company


So how do you choose a VPS hosting company? Here are a few pointers of things to look out for.

Know the details of your hardware resources
  • What are the specifications of the host server? (RAM, CPU, Network throughput, etc.)
  • How many VPS instances run on the host server you will be on? This is important because you are effectively sharing the host server's resources with these other VPSes.
  • How is resource contention 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?

Know the details of your Virtualization technology
  • What's the underlying OS - Linux, FreeBSD, Windows? If Linux, what distros are offered?
  • Are they using User Mode Linux, QEMU, or XEN? Why was that specific technology chosen?
  • How are hardware upgrades handled? Let's say you start out with a basic plan that offers 64MB dedicated RAM and 2GB disk space. Six months from now you realize you need more RAM and more disk space. What are the additional costs and what is the procedure for allocating the additional resources?

Know the details of your web hosting company - these are more traditional web hosting questions which apply across the board when choosing a web host
  • What kind of support is offered (phone, email, IM, IRC - 24/7?)
  • How long has the company been in 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 range from $20/month at the low end to $100+ for higher end systems, but beware - price isn't always an indication of more features or better service. If you're still wondering whether a VPS hosting plan is right for you, it may be worth starting with the lower end (potentially a 64MB RAM with 2GB disk space VPS). You can always expand from there - just be sure to choose a hosting company that can accommodate the expansion you have in mind. If you need significantly more hardware resources, co-location is the way to go. However, if you have a small budget but big ideas, a VPS may just be for you.

This article originally appeared on SitePoint

Comments

Comment pending review
Comment pending review
Comment pending review
Comment pending review
Comment pending review
Comment pending review
Comment pending review

Post a comment