From Shared Hosting to VPS
Just a few short months ago we wrote about our transition from one shared web host to another. The move was prompted by downtime and poor customer service during that downtime and we came to our new host with high hopes of improvement. Unfortunately, we were disappointed on both fronts. After discussing the struggle with other development firms we have come to the conclusion that shared web hosts are stretching themselves too thin in order to maximize their profits. They are simply loading their servers down with too many websites. While the servers may very well have the necessary hardware to handle the traffic, the problem is that a single poorly coded site (either accidentally or maliciously) can cripple the server and take all of the other sites down with it. To be clear, this is not a new problem, but as shared hosts stack more and more sites onto their servers, this risk increases dramatically and that's the problem that we've seen over the past few months.
The Problem with Shared Hosting
Low traffic sites have been hosted in shared environments since the web's explosion in the 1990s. As hardware became more affordable, shared web hosting did as well which allowed more and more businesses and individuals to establish a web presence on the cheap. It wasn't long before shared servers could support thousands of sites since RAM, hard drives, processors, and bandwidth became more plentiful and the servers could handle the additional load. If all of those websites are operating with well written code, then it's unlikely that the site owners would notice much downtime. However, with more and more sites populating a server it only takes one bad apple to wreck the bunch. A website with a security flaw could quickly become a spambot or what's known as a "zombie" machine (one which is used in a distributed denial of service (DDoS) attack), chewing through bandwidth, locking up the server, and ultimately knocking off the thousands of other sites that share its resources.
VPS - The Other Shared Hosting
Virtualization can be traced (in concept, anyway) back to the time sharing days of computing's early history. In the modern web era, virtualization began with VMWare's ESX Server software, launched in 2001. Prior to that point, websites were deployed in one of two ways: in a shared environment or on dedicated servers, where each site runs on its own server. Dedicated servers have the obvious advantage of being able to allocate all of their resources to a single task, that of operating a single website. For high-demand sites, this is ideal -- but it quickly becomes both expensive and physically demanding from a data warehousing standpoint. Virtualization allowed web hosts to blend the best features of shared hosting with the reliability of dedicated servers.
In a Virtual Private Server (VPS) environment, a single server can be partitioned to run two, three, or possibly dozens of independent server instances, given an appropriate amount of resources. Each virtualized instance can have exclusive access to a portion of the server's processing power, RAM, hard drive space, and bandwidth. Other virtual machines (VMs) cannot access each other's resources. This gives each VM a layer of security that is not found in a shared environment in that if a single VM crashes due to a web security breach or other malicious code, the other VMs will be unaffected.
This critical difference is what makes a VPS so powerful and valuable. In our case, we can run all of our clients from a single VPS and because we have developed the site code and have full control over the quantity of sites on our VPS, we know that the reliability will be far higher than what we could ever hope to expect from a shared environment.