jump to navigation

What Good is the Cloud For? January 24, 2010

Posted by Peter Varhol in Software development, Software platforms.
add a comment

At a high level, there are two schools of thought on cloud computing, and you can probably guess what they are.  The first says that the cloud is going to revolutionize the application lifecycle, because it represents a new and efficient way of delivering applications.  The second says that moving applications and data from an in-house data center to an amorphous location is a prescription for performance, security, and loss-of-control problems.

Who’s right?

I’m pretty sure cloud computing is an inevitable trend, although I’m not sure if it’s a short-term (3-5 years) or long-term (10-20 years) trend.  The ability to deploy an application within minutes, and for pennies (I exaggerate, but not by much) is compelling, and the hard core technical types love the new challenges posed by architecting an application to run outside of the data center.  The issues offered by the critics will be overcome or ignored in time.

The logic of a few large and public data centers rather than many small and private ones is compelling from both an individual and aggregate perspective.  Individual users don’t have to buy new servers when they can rent them cheaply, while society benefits from less electricity consumption overall.

Leading the way in learning how to use the cloud is developers, who have a combination of small budgets and large curiosities.  If they can’t get the systems they need to do development, they can rent them in the cloud.  Even if they are fully outfitted with what they need for a particular project, many developers will try out the cloud just to see if their code will run well in it.

But perhaps the most willing audience is software testers.  When I worked full time in software development, there was a large room filled with dozens of different computers and monitors.  When it came time for testing, QA would take stored images of a variety of different configurations (different operating systems, different versions, clean images, mages with different combinations of applications on them, and so on), and load them onto some group of boxes.  Some testing was automated, and some was manual, but each configuration would get tested dozens of times before being declared done.

This was modest compared to testing facilities in large enterprises.  At one insurance company I visited, my escort proudly showed off its three-acre test lab, with over four thousand each of server and desktop systems (yes, they were all neatly racked).  Tens of thousands of images were stored, and the lab could be fired up to begin testing software in a matter of hours.

It was impressive.  And prohibitively expensive for almost anyone.  The cloud is changing that today.  It used to be that you had to spend a minimum of six figures for software that could simulate a few hundred users performing an activity against your application.  Today you can get as many real desktops and servers running your application for a few hours for a fraction of that amount.

Wherever else the cloud is going, application testing is on the verge of a revolution.  I’ll write more about that in coming posts.