What is "Cloud Computing"? [closed]

  • Cloud computing means not needing any technical staff.
  • Cloud computing means not having to have worry about backups - it's in the cloud!
  • Cloud computing means not having to worry about capacity planning or architecture - everything is infinitely scalable.
  • Cloud computing means instant provisioning - unlimited resources available whenever you need them, they never run out.
  • Cloud computing means shifting the blame onto 3rd parties.
  • Cloud computing sits very well with management's idea of "just" setting up a new 'X' with zero resources, tomorrow. It's instant, right?
  • Cloud computing means not having to worry about planning and design - you just put it in the cloud and it works.

Cloud is a masking term for the idea of 3rd party network based services. Those services could be infrastructure (Amazon S3), platforms (Google App Engine), storage (online code repositories), or applications (Pandora).

It's definitely a vague buzzword, but there are advantages in the economies of scale for small companies that may not be able to afford a $25,000 server at launch, or can't afford another staff member to manage that server.

But other than cloud based apps like Pandora, Last.FM, or online storage like Apple's MobileME, cloud computing mostly applies to content creators and providers, not consumers.


Not Well Defined:

Cloud Computing is not well defined, or to say it another way, the definition is a bit cloudy (abrasive geek snort laugh). I understand as usually being used for two different things that have been around before people started using the term:

  1. Online Web Applications
  2. Virtual Machines which you can rent

Lets Make Fun:

I imagine some people in a marketing room, where the conversation went something like:

"So, here is the executive summary memo from the engineering department: 'Leased virtual machines, the main advantage being that new and small companies can get their products launched at a cheaper cost', we are tasked with giving this a name, what do you think Jan?"

"Well the whole thing is a bit cloudy to me, I don't know if I understand..."

"Wait a minute, that is perfect, cloudy computing!"

"What about Cloud computing?"

"Give that man a raise!"

Possibly a Valuable Option:

So, it is a term that is fun to make fun of. But hosting things on leased VMs can be a valuable option. Also, services like Amazon offer interesting approaches, for example, designing an application / virtual machines that can be launched, but don't depend on any persistent storage other than the database. Also, you can scale up and down if you have high period of load, but not at other times. Another common use is for one time tasks that require large amounts of computational power.

How to talk about it:

The term clouding computing is like a lot of 'business speak', I have also heard that called flab speak, for example synergize or Web 2.0 (Wiki: Irritating phrases you are subjected to in “the enterprise”). I think always better is plainly state what you mean, if you mean leasing Virtual Machines, just say that. If the person doesn't understand what a virtual machines is, explain it with a short analogy. There are whole books on this topic, for example: "Why Business People Speak Like Idiots: A Bullfighter's Guide"

Conclusion:

So, just because the name and term is vague and stupid (in my opinion), it doesn't mean the technologies related the term should be ignored.


Cloud computing is essentially computation resource (from low level CPU, memory, persistence, network to high level web applications) over network. Cloud shapes are usually used to denote shared networks (internet for public cloud, intranet for internal cloud) in system design diagrams, hence the name.

The economic incentive of cloud computing is lower overall cost for certain types (I'd say a majority without ultra-low-latency requirements) of computing. This is achieved by better utilization of computing resource through pooling. Real life analogies include: car pooling, vacation home time sharing etc.

The time-sharing of mainframe computers (since decades ago) via various networks (dial-up, pre-internet networks, and finally internet) can be viewed as the original form of cloud computing. The reason it got popular now is the wide availability of network access and better maturity of virtualization technologies.