What IS Cloud Computing Anyway?
Tuesday, February 23, 2010
((c) 2010 Michael Stein)
The cloud has
been used as a symbol for public Wide Area
Networks for as long as engineers have been
drawing network diagrams. But suddenly, there's
a lot of talk about something called Cloud
Computing. Major vendors are touting their
"cloud" offerings, while other industry
notables are raving against the whole cloud
thing. (Click
here to take a look at Oracle founder Larry
Ellison's monologue ridiculing the entire Cloud
frenzy, for example). So what is the story
here? Is talk
of the Cloud just the latest marketing buzzword
to help push internet apps, as Ellison says --
or is there really a new computing paradigm out
there you'd better learn
about?
If you start looking at
articles defining Cloud Computing you'll
quickly see that no one offers a pithy little
definition: each one defines the Cloud as list
of computing trends. But while each list is a
bit different, there is enough overlap to make
you realize these folks really are talking
about the same set of technologies.
Some
of these trends are simply emerging models of
pricing and service delivery that have little
to do with particular hardware or software
innovations. For example, the Software as a
Service model, (SAAS) is usually high on
Cloud lists. Pioneered by vendors like
SalesForce.Com, SAAS refers to software
applications that users pay for on a
subscription basis with little or no initial
investment. InfoWorld's David Knorr sees this
business model, built around commodity pricing
and self-service, as essential components of
the Cloud paradigm.
With the self-service approach... you don't need to spend hours on the phone working out your special configuration. In fact, you can't....You have an array of pay-per-use (or subscription) options, and if you don't like them, you go somewhere else. If you can negotiate and get some special deal just for you, it's conventional hosting or outsourcing, not a cloud service.
But there are other trends typically found under the Cloud rubric that are indeed part of a technology revolution. In one way or another these are all services that tend to remove hardware and access issues from the service consumer's list of worries. Of course, conventional hosting services have always allowed users to offload hardware responsibility for web sites or applications. But new technologies and management tools are allowing vendors to take responsibility for infrastructure to entirely new levels. And it is these capabilities, rather than the business model aspect, that is really at the core of the cloud excitement.
To a large extent, we're talking about offerings that evolved as major internet businesses like Google and Amazon have taken frameworks they engineered to manage their own requirements and repackaged them as services to sell to the public. Thus Amazon, the trailblazer of internet commerce, and search-giant Google, both have major Cloud platform offerings. These tools -- AppEngine and EC2 respectively, are aimed primarily at developers or resellers of internet based applications, not at end-users.
What these tools do is make available to small users the sophisticated content distribution, clustering and virtualization technologies that the internet giants have been using to allow their websites to scale to millions of hits and to push up-times closer and closer to 100%. Think about it. Most small businesses have a website that is running at a host somewhere on a particular computer. Maybe it's shared hosting, where numerous client websites are on the same box. And that's works fine Joe's Bar and Grill. But an Amazon or an Ebay requires thousands of computers to manage the vast number of hits it receives, and to run the constant queries users make against their databases. These systems route incoming users requests seamlessly among the machines, allow new computing capacity to put online without reconfiguration, and manage the complex tasks of storing the same information in multiple locations so a user in Tanzania is not querying a database in Dallas. The Cloud Service providers are now offering that capability to you and me.
What does this look like? Suppose I need to host a java-based web application for a new client. For ease of use, and increased security, I'd like to give them their own box. So as an Amazon EC2 subscriber, I go to my control panel, and tell it I need a new linux box with specified RAM and storage. I can tell it to build the box from a machine "image" I've saved that already has the apps I need preinstalled. Of course there is no "box' being built just for me - what I have is a virtual machine running on a slice of some honking big rack of computing power. When I put this virtual box online, Amazon begins to bill me - it's just pennies an hour. The next day another client calls and says "oops - we just lost our funding - we need to take our app down until further notice". I go back to the control panel, delete their box, and the hosting costs for that site ends. Adding and removing host computers has become a simple point-and-click task. I'm dealing with coputers the way I used to deal with individual pages.
Or suppose I have a public web site that is starting to make it big... I'm going from hundreds of hits a day, to thousands, to millions. How do I deal with the constantly increasing need for bandwidth and clock cycles? I can host it at RackSpace CloudSites. Again, this is all self-serve: there is no need for me to work out some complicated configuration with an engineer. I upload my php, and to me it looks just like any other web server. But in fact, I am being hosted by a complex load balancing cluster that serves the content from servers all over the globe, and puts gives me more computing power as my users require it.
So the cloud is really an amalgam of trends: Software as a Service pricing, automated provisioning, virtualization of computers and clusters. None are entirely new - all have been taken to new levels in the last few years.
We're also talking about a new user mentality here. Ten years ago, our clients were nervous when I talked about application hosting: they wanted their database safely behind their own firewall, on the server their network guy backed up every night. Today, they are more likely to worry about the safety and security of their data if it is sitting in a server closet in their office, rather than in a locked, guarded, top tier data center. And they are eager to offload the responsibility of maintaining their own server farm, routers, and firewalls. So while Larry Ellison can wonder which of all these things people are calling The Cloud, there is no doubt all these trends together imply a real changes in the way businesses manage the computing capabilities they need.