Just a moment...

Cloud Computing and Web Hosting

Having just come back from the HostingCon 2008 industry trade show, my head is still buzzing from all the presentations.  Everyone from hardware vendors (ICC-USA) to the great satan himself (Microsoft) was presenting their wares and as much as I hate to admit it, even the microsoft presentation was very impressive.

There was a lot to see this year from the vendors, but far more interesting were the presentations and group learning sessions.  Far less time was spent on the technical aspect this year than in previous years.  There were no “how to install XEN paravirtualization” classes;  instead, many sessions focused on the business itself, such as graphically mapping the company’s track record, how to evaluate your hosting company’s net worth, and some very interesting QA sessions with industry leaders who spoke about managing growth and valuation of assets.  Very grown-up conversations indeed!

The thing I noticed more this time than in past years is how the keywords “cloud computing” and “grid hosting” were thrown around the room.  It’s the new Web 3.0 terms that have had little meaning in the past but are now, all of the sudden, more tangible.

So what’s the deal? Grid/Cloud computing means: a “process/computation” moved off a single server into a “cloud” of computers.  A group of servers (can be tens of thousands) is presented as a single unit to handle a task with the combined power of all the processors/ram/storage.  In this model, all systems are the same when it comes to both hardware and software, and are completely interchangeable. Meaning that you can take any two systems and swap their physical locations in the cloud, they will not need to be reconfigured.  All systems perform the same task.

While this model works very well for parallelizable tasks such as graphics processing and mathmatical computation, it simply does not work for hosting a website.  A “grid” or “cloud” as they are being presented are far less useful than a “cluster” of servers.  While I may be too picky, I feel terminology is very important.  In our case, a Cluster is a group of systems, each performing a specialized task (web, mysql, dns, email), and presenting a unified interface to the Internet.  Here, you cannot take a server from the MySQL group and swap it with the server from the eMail group and expect them to work.  They are very distinct systems with differing hardware and software configurations.

This “cluster” model is a very old concept and is the only way to host the largest websites, such as facebook, myspace, youtube, google, yahoo.  When the existing systems are approaching saturation point and load spirals higher and higher, you simply add another front-end machine to the effected segment of the cluster to offload some of the processing.  When web traffic goes up, add another front end apache server.  Too many SQL queries, add another mysql machine.  In essense a Cluster is a collection of Clouds/Grids.  Each Cloud handles its specialized task and contributes to the performance of the main Cluster.

What I find infuriating is that some providers are talking about Cloud or Grid computing as though it’s the next step in VPS hosting.  This is so misleading that it makes my teeth grind.  There is no way to run a single VPS instance over a cluster/cloud/grid of computers.

When they market their VPS service this way, it makes a client believe that if the server that hosts their VPS, has a meltdown, their own system will continue to run on the rest of the cloud without interruption.  In fact, what happens is that a crashed system is a crashed system, and your VPS instance will also go down in smoke with the rest of the server.  And while it may be restarted almost immediately, it will still have downtime.

Also, they claim that you can scale out your VPS to unlimited levels, implying that it’s a trivial task to add more processing power.  The way they handle this is by adding other VPS instances of the same system and splitting the traffic with a load balancer.  This has it’s own tremendous issues because you cannot take a normal website, split it into two or more instances and expect it to function properly.  Websites have to be designed especially to handle this scenario.  For instance, MySQL files cannot be written to at the same time by two instances of MySQL without experiencing some very serious corruption.

More than that, this new “Cloud” model is billable based on usage of cpu cycles, bandwidth, disk access.  This means that you never really know how much it’s going to cost at the end of the month.  This is especially wonderful in the case of a Denial of Service attack which can burn through server resources like there is no tomorrow.

Today’s providers who claim to live in the Cloud, are using traditional hosting technology masked with a very fancy control panel.  In my opinion, cloud computing still has a long way to go before it’s going to be useful for our industry.  Today this technology is useful to a handful of customers.  For the rest of us, we have Shared hosting, VPS hosting, and Dedicated hosting.  With the incredible pace of technological advancement of individual servers, I don’t see a reason to move to the cloud.  Today’s web servers are more powerful than yesterdays supercomputers and this trend will continue for a long time yet.

Last thought, when the Cloud is going to become useful, we will add it to our product line.  For now, our products are every bit as useful as anything available today on the market, and without any fancy buzz words.

Read This Next:

Just a moment...
Just a moment...