What does "cloud computing" mean? There seems to be as many definition as there are people talking about it. Some people even say it doesn't exist.
Personally, I think the "cloud" is a surge in business for SaaS and PaaS that was initiated by the advance in hardware virtualization of 2005-2006. This enabled the development of low-cost (or no-cost) virtualization solutions.
EDIT
All this was technically doable before we called it "Cloud Computing". So is the switch from SW virtualization to HW virtualization and the public acceptance of having remote data just a market evolution?
EDIT 2
I’m trying to boost my arguments for non-technology people whose choices are driven by trends. First, the new ‘thing’ might look cool but unless you already had a problem to which this is the solution, it’s not necessarily an upgrade. Second, in the case of the Cloud; it’s not completely new. By that I’m saying that if you really had a problem that could be fixed by a Cloud-type solution, you could have fixed it way before the Cloud Wave.
BTW I’m not against the Cloud; I just don’t like the usage of any technology just for hype-sake. There’s definitely cool things that are being done and will be done on the Cloud. Thanks for all the answers!
A definition (although many can be brought up):
You're running an application on some servers. Somewhere. You can't exactly pinpoint where exactly these servers are. You have no idea what they could be doing otherwise. Or how many of them you are using simultaneously. You buy the computing power, but the exact hardware behind it is no longer specifiable. Then your application (or service) is running in the cloud.
Here is the NIST definition.
The Summary:
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
Cloud is just a new marketing name of the clusters, usually running a virtual servers. The idea is to merge the power of the all servers the Could vendor has and spread all the processes (typically virtual machines) across the whole hardware.
But it's hard and almost impossible on x86 without tuning the software side. So, practically the "cloud" is the set of servers, where virtual machines can be moved from one physical to another without a service interruption. But you're still limited to the power of the physical server and can't spread one virtual between two or more physicals without a modification of your software and creating an external load balancers to spread a load.
Buy a couple of servers, install XenServer or VMWare VSphere and WOW! - you have an own CLOUD! :)
A server cluster providing a service usually by an external vendor off premises. A private cloud is the same but either run within a corporate LAN or over an Extranet or VPN.
Quick answer: Cloud computing is a style of computing in which dynamically scalable and virtualized resources are provided as a service :-)
I think the cloud computing is based on SaaS, users can get services as they want.
Here's a related question with a lot of answers that could just as easily been written for for this one.
About to go live: virtual dedicated server or cloud?
Basically, cloud computing is the conveyance of registering administrations—servers, stockpiling, databases, organizing, programming, investigation and that's only the tip of the iceberg—over the Internet ("the cloud"). Organizations offering these computing services are called cloud providers and normally charge for distributed computing administrations in view of utilization, like how you are charged for water or power at home.