What is cloud computing?
First, to get this out of the way: Cloud Computing is a marketing buzzword and ill-defined one (at least at the moment).
I would recommend dissecting this overarching buzzword and in market segments, namely:
- IaaS: Infrastructure as a Service (e.g. Amazon EC2)
- Paas: Platform as a Service (e.g. Google AppEngine)
- DaaS: Database as a Service (e.g. Amazon RDS)
- SaaS: Software as a Service (e.g. Salesforce)
Coming back to your points:
- If you expose a Service through a Web Interface, you could classify this in the Cloud Computing bin
- Traditional Web Sites per-se would not fall in the CC category (see above segments)
- I do not know what a "Cloud Application" is: are you trying to define a new term ? ;-)
Aside from the latest marketing term?
Basically all the resources your program needs are held "somewhere" on the internet. You interact with them via a defined service contract; SOAP, REST, POX or whatever and what happens after that is up to the service provider. You don't care about how your information is stored or how the service is provided, just that it is.
If, for example, you wanted to store files, you may choose to use Amazon's S3 cloud system. You connect to the service and upload your files; you don't know or care where the files are stored, only the location of the entry point to that service.
If you have an application then it may also be ran in the cloud, assuming it's suitable. Live Mesh for example is a virtual machine which you can code against and run your software both locally and within the cloud, so your user simply goes to a URI and finds your program, you don't care where it is beyond it being available somewhere on the cloud.
Cloud computing is about hardware-based services (involving computing, network and storage capacities), where:
- Services are provided on-demand; customers can pay for them as they go, without the need to invest into a datacenter.
- Hardware management is abstracted from the customers.
- Infrastructure capacities are elastic and can easily scale up and down.
There is a powerful economic force behind this simple model: providing and consuming cloud computing services generally allows to have far more efficient resource utilization, compared to self-hosting and data center type of hosting.
Snippet from this article on cloud computing.