What's a cloud after all?

I read a quick post on RedMonk that made me laugh as well as reflect on what I many times find myself saying to users, "If you are a cloud purist then our model is not a true cloud." Which makes me want to pose the question, "what's in a cloud?"

A Cloud by Any Other Name?

The "cloud" for a business user simply means that they can get a solution over the Internet and not have to host it themselves. If they can go to a Web site, click click click and use the application -- that is great. For the average user, that's "the cloud." 

The cloud is a user experience for these people. It is certainly not an architectural road map about the future zen-like characteristics of computing or an unlimited resource of raw computing horsepower delivered as a service... blah blah blah... buzz buzz buzz.

At Etelos, we started a cloud initiative and I was impressed with the abilities of that model to scale. But at the same time, I was frustrated with the notion that this service wouldn't work to scale existing apps. So if the cloud can't handle the migration of an app and I have to rebuild my app to work with the cloud, what's the point? Well, the dirty little secret of most cloud computing models (or what is being called the cloud) is that you have code to write to make it work.  Even in the Red Monk post, James Governor says "if it doesn't have an API, it's not a cloud..."

So here goes my tag along thoughts along with the points from the post on RedMonk.

RM: If you peel back the label and its says "Grid" or "OGSA" underneath... its not a cloud.

>> Okay, no grids under the hood.

RM: If you need to send a 40 page requirements document to the vendor then... it is not cloud.

>> Agreed. That's an ugly thought.

RM: If you can't buy it on your personal credit card... it is not a cloud

>> Yeah, there is certainly an opinion that the cloud services should be aimed at the low end of the market. But, there is an enterprise play as well that doesn't need to be billed by credit card.

RM:  If they are trying to sell you hardware... its not a cloud.

>> Yeah. But this is assuming that you are only talking about the provider of the services and not the solutions around the service. I like to say that the cloud lives somewhere and someone is buying hardware. These machines don't procreate.

RM:  If there is no API... its not a cloud.

>> I'll buy that. But this means you are going to write some code.

RM: If you need to rearchitect your systems for it... Its not a cloud.

>> I like this, but most of the "leaders" in the cloud space are not this way? Amazon's DB model requires rewrites. Google's App Engine, Force.com. I guess I have to check out the link on the bottom of RedMonk's post to get the answer to this one.

RM: If it takes more than ten minutes to provision... its not a cloud.

>> Yeah, but it depends on how fat the app is and where provisioning happens from, ie. transport time.

RM: If you can't deprovision in less than ten minutes... its not a cloud.

>> Okay, you should be able to kill stuff quickly.

RM: If you know where the machines are... its not a cloud.

>> Well, I disagree. Mostly. The machines are on the planet, someone bought them and put them somewhere. The data center exists. Granted, if you have a Web service with worker nodes that are spread out -- great. Is that the point here? Running in a distributed model that removes the notion of physical location of an "app". There are many problems with this model architecturally. The true cloud models have not proven to be substantially better at handling the usage of small apps. They definitely can scale big apps.

RM: If there is a consultant in the room... its not a cloud.

>> Interesting...  but implies only a consumer model and if you are a developer, you probably don't want one. But if you are the developer consulting with an enterprise about cloud distribution, then you probably want to be that consultant in the room.

RM: If you need to specify the number of machines you want upfront... its not a cloud.

>> Definitely. 

RM: If it only runs one operating system... its not a cloud.

>> Most models I have seen only expose the web service and support only one code base.  Again, I have to see the motivation here.  It's really opinionated in this answer and I assume there is a motivation behind it.

RM: If you can't connect to it from your own machine... its not a cloud.

>> Again, seems aimed at some reference I don't get. Why couldn't you connect to it?

RM: If you need to install software to use it... its not a cloud.

>> Dittos. The architectural model of distributing code and scaling a Web app is different potentially than installing software that may be used to edit the code and publish it. Specifically, are you using an IDE to develop your code? Do you push that code to the cloud?  Isn't that using software? There must be some other reference here that this is aimed at.

RM: If you own all the hardware... its not a cloud.

>>  Well, Amazon probably would argue that they own the hardware and it's their cloud. 

Summary

I really liked this post because I have heard a lot of hype about "the cloud." I am very much the pragmatist when it comes to what the latest buzz is. I definitely think that the term is already overused. 

From my perspective, the user's perspective is the correct perspective to have. And for them running an app on the web and having it available in a browser is what "the cloud" is. Users don't care about the architectural models that make this experience all work. They definitely don't care about what us geeks want to call it.  

So does it matter if it's called cloud computing? 

Cloud computing

From Wikipedia, the free encyclopedia

Cloud computing is Internet-based ("cloud") development and use of computer technology ("computing"). The cloud is a metaphor for the Internet (based on how it is depicted in computer network diagrams) and is an abstraction for the complex infrastructure it conceals.[1] It is a style of computing in which IT-related capabilities are provided "as a service",[2] allowing users to access technology-enabled services from the Internet ("in the cloud")[3] without knowledge of, expertise with, or control over the technology infrastructure that supports them.[4] According to a 2008 paper published by IEEE Internet Computing "Cloud Computing is a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include desktops, entertainment centers, table computers, notebooks, wall computers, handhelds, sensors, monitors, etc."[5]

Cloud computing is a general concept that incorporates software as a service (SaaS), Web 2.0 and other recent, well-known technology trends, in which the common theme is reliance on the Internet for satisfying the computing needs of the users. For example, Google Apps provides common business applications online that are accessed from a web browser, while the software and data are stored on the servers.

So this definition still leaves much room for interpretation. You probably can even say that Wikipedia is a cloud based Encyclopedia.  

I still go with the users that I talk to. To them; running the app on the Web is synonymous with the cloud. Ask my programmers what they say and they probably will think that this post is stupid and I am wrong.

Oh well. Call it what you want. When you diagram it (as mentioned in this Wikipedia entry) you still end up using "a cloud" to illustrate the Internet.

Recent Entries

Etelos Becomes a Yahoo! Small Business Reseller
Maple Valley, Wash. -- June 1, 2010 -- Etelos, Inc. (OTCBB: ETLO), the leader in building and operating private-labeled Web…
Why Build an App Store?
SaaS is the way to deliver apps at a lower cost with a better customer experience. So you have a…
Savvy-U Becomes an Etelos Syndication Partner
Renton, Wash. -- April 23, 2010 -- Etelos, Inc. (OTCBB: ETLO), a developer and operator of private-labeled marketplaces for Web-based…
Home   |  Platform   |  Partners   |  About   |  Contact   |  Blog   |  Investors

Copyright Etelos, Inc. 2010 All Rights Reserved