The ABCs Of Virtual Private Servers Part 1 Why Go Virtual

From Yoga Asanas
Jump to: navigation, search

The ABCs of virtual private servers, Part 1: Why go virtual?



If you're tired of the hassle of maintaining your own server hardware, either ...



Glenn Fleishman - Feb 17, 2011 5:30 am UTC



reader comments



Share this story



Reddit: Share on Facebook.



Why do you need server hardware? In the past 15 years, I have asked this question many times. Every time a server failed or needed an upgrade, I have. I could have leased dedicated hardware at colocation facilities, or used a shared host. My needs were more urgent than I could have imagined and required resources that would exceed my amortized expenses. I was resigned to owning, maintaining, and replacing my own gear.



That is, until last fall, when I put my toes in the water with Virtual Private Servers (VPSes): virtualized servers with root access running on high-end hardware, and dedicated to your exclusive purposes. There have been many options for renting a VPS server from different companies over the years. The software has advanced, robust services are now available and cost is a significant advantage relative performance for the type of routine Web or database tasks that the vast majority websites do.



It is essential to have competition. Not only has this pushed prices down, but it ensures that if one host fails to meet your needs, you have multiple choices for selecting a replacement. Migrating from one service to another service isn't trivial, but it's not a horrible task, either.



I had first considered virtualized hosting back in November when Amazon's Elastic Compute Cloud was launched (EC2). Each year since, more and more companies have joined it with less complicated offerings. In November, I finally took the plunge and by year's end shed all the server hardware I owned or helped manage, along with a fair amount of stress and cost. I feel more productive, my backups are much easier, and I get better sleep at night. Although there have been some bumps in the road, four months into my journey, it has been remarkably smooth. All about private wow servers (I wrote an ode to the Economist's Babbage blog last November.



This article will explain why a VPS is better than a dedicated server or shared hosting server. It will also show you how to choose the right service and options for you, what can go wrong, and how to deal with disasters and backups. If you are a small business owner with a few servers, have a high volume of users, or need to share servers among workgroups, you should learn how to determine if one or more VPS hosts is right for you.



My direct experiences are with Rackspace's Cloud Servers and Linode's eponymous Linodes. I have also used Amazon EC2 to build recurring databases. In the chart in the Appendix, you can see how other services compare on pricing and features, but I can't provide anecdotal reports.



Not all service providers should be included. Some were excluded because pricing was out of whack. Ubiquity Server Solutions charges twice as much for a Linux VPS than the companies mentioned in this article. This is for no apparent reason.



VPS vs. dedicated/shared hosting



A virtual machine is a machine that runs on a piece of shared hardware. A multi-core host, which is often quite powerful, can provide dedicated pools, shared, single or multiple cores, and hard disk storage. Many hosts offer a range of GNU/Linux OSes, while others offer Windows Server in one and more flavors. (Apple allows Mac OS X Server virtualization, but it only works on Apple hardware, and requires a separate license for the hardware and each virtualized instance. Apple canceled its rack-mounted Xserve hardware, making it unlikely we'll see any large-scale virtualization.)



The storage attached to a VPS is persistent: if your virtual machine or the host hardware on which it runs crashes or loses power, you resume right back where you left off after rebooting, except in the case of hard-drive failures. Amazon is the only exception. I'll talk about it separately. Depending on which OS you are using, a file system recovery might also be required. I haven’t seen anything beyond a basic startup repair with Linux ext3 journaling. (You can back up your virtual machine quite simply, however, which will be discussed in a future post.)



VPS is different than leasing a dedicated hardware device, or using shared server space.



If you lease a dedicated machine from a provider, you're tied to that piece of hardware. This was a distinct advantage because no one else could access your CPU cycles and you could perform any task you wanted.



If the hardware is not available, however, your host must locate a spare unit and drive must be moved or repointed. Some hosts promise to keep such gear on hand. If you exceed the device's limit, you need to arrange to migrate to a different piece of hardware. And if you suddenly need 10 identical versions of your dedicated host, that can be time-consuming to arrange.



Host facilities that offer dedicated hardware may not be able to provide a simple solution for backing it up. This could make it entirely your responsibility. This can make it difficult to restore as well, or require a high per-hour "remote hands" fee.



For shared hosting, you're bumping elbows with other users on the same box. You don't know how many websites or other services are running on the system at any one time, nor how much computing power you have available. While a variety of throttling mechanisms might be used to keep users in line, they are not as effective as a group of people crowded together. One loud speaker could prevent others from having conversations.



If you use too many resources for legitimate reasons, or a programming error by yourself, you might be asked to upgrade to dedicated equipment, or throttled so that tasks don't take place. While shared hosts are generally backed-up incrementally and continuously, it's not a guarantee. You must also take some of the risk by ensuring you have backups.



VPS eliminates any concern about hardware.



Rackspace's Cloud Sites show that there is a shared option. It is more expensive than shared hosting but you don't get root access. Your files and scripts can be spread over a cluster of machines that have automatic scaling. The base price approximates a single dedicated computer. This strange combination of virtualization, shared hosting, would work well for larger websites that don't require any back-end server tweaking. It might be a good choice for a site that has 50,000 page views on average per day, but spikes to a million every other day. CDNs, content distribution network, can be used to deliver static pages, images, components, or other media for a fee per GB.



VPS removes all concerns about hardware. No matter what the hosting company has decided, you have no control over it. The VPS is similar to a dedicated server but has some benefits. A lot of servers allow you to exceed the maximum CPU usage if the host is idle, which can be a slight advantage. Recently, a MySQL server I run at Linode sustained 400-percent CPU usage over a couple of hours. Grn online



You can still be responsible for maintaining an operating system, which can cause problems. You can save system snapshots for backups. These backups can be restored quickly in case of an error. If the host hardware fails, the VPS service can migrate you quickly to another system. (This was what happened to myself.)



Virtually all VPS services allow you to create a VPS that you like. A spike in traffic can allow you to fire up additional identical images. Some services also offer tools to load balance among these servers or round-robin DNS. Amazon is particularly agile about this, having designed its systems to make it possible to fire up 1,000 servers and then kill them off while only incurring charges for the period of time during which they run.