SHARE
Follow this article on Twitter Facebook LinkedIn Bookmark and Share
Home >> Integrating IT

Cloud computing isn’t just Hosting 2.0

Cloud computing isn’t just Hosting 2.0

By:  Bernard Golden  On: 13 Apr 2010 For: cio.com Creator

OPINION: Bernard Golden tells why some companies who think cloud computing is the same as Hosting 2.0 are running into problems putting apps on platforms like Amazon

At my cloud computing consultancy, we've been approached several times in the past few weeks by companies that have put their apps up on Amazon's cloud infrastructure and are now running into problems. Problems like:

 

1. Applications are installed on Amazon Machine Images and run just fine, but if the EC2 instance crashes or needs to be terminated, the app is out of commission until a new instance comes on line.

 

2. If an EC2 instances gets overloaded, there's no way to add more resources to improve app performance.

 

3. No way exists to update the application without taking it completely offline.

 

4. Performance gets bottlenecked by the database, but there's no manageable way to move to database replication.

 

In our discussions with these companies, their question is: "Shouldn't this problem be solved by cloud computing? After all, the cloud offers resource elasticity, processing power on demand, huge scalability. So why is my application running into these problems?"

 

The challenge they've run into is that they treated cloud computing like Hosting 2.0, and now they're suffering for it.

 

The shorthand response to them is "cloud scalability isn't the same as application scalability, and unless you architect a cloud app, you aren't going to garner the benefits of cloud computing. In our workshops, we phrase this as "build cloud apps, not apps in the cloud."

 

So what does "build cloud apps" mean, and how is it different than treating the cloud as Hosting 2.0?

 

Here are key principles in building a cloud application:

 

* Recognize that individual compute resources can, and do, fail. In Amazon, individual EC2 instances will occasionally experience poor performance, stop responding, or crash. At scale, resources fail. And this is true of all cloud providers. Google is well-known for its philosophy of building ultra-cheap computers with (literally) the disk drives velcro'd onto the naked motherboards (Google's machines have no metal shell);when one of its computers fails, Google removes it and puts it in for recycling. With hundreds of thousands of machines running, failures are common, so Google architects its solutions to remain robust in the face of resource failure. Likewise, one should architect individual applications that run in cloud environments as though the individual resources (including virtual machines) will fail. So an application should be written to run on two EC2 instances -- at a minimum.


Sign up for our Newsletters












Print |  Views: 2581   |   Rating:offoffoffoffoff  (0 votes)
Rate this article on a scale of
1 to 5 stars,5 being the best.




bernard golden Bernard Golden is a contributor to the International Data Group (IDG) News Service, which publishes global technology stories from bureaus around the world to more than 300 publications in more than 60 countries.

Comments (0)

No Comments!
Name: (required) eMail: (optional)

Your email address will not appear online and will be used only if the editor wishes to contact you personally for additional comments.