There are lots of discussions going on right now about cloud computing is, I even touched on at least some aspects of that last week. This story at Slashdot touched on the issue, and the Cloud Computing GoogleGroup is full of the discussion. But I feel there isn't enough definition of what it isn't. So here's a list of what I think:
- It isn't datacenters, although they can certainly play a part. You can deploy an environment that supports cloud computing in a datacenter, but cloud computing is not about datacenters.
- It isn't client/server computing, although you could stretch the definition of either to meet each other. Client/server made the client split the execution of code between the client and the server side. With cloud computing we have a generalised resource to which you can farm work, and that could form part of a client/server application, but if so, it would be the server portion. There tends to be more independence and autonomy than with most client/server environments.
- It isn't Software as a Service (SaaS), Service Oriented Architecture (SOA), Web Services or similar, although, again, there is no reason why you couldn't use a cloud computing environment to support any of these.
- It isn't grid computing, but again,you could use cloud computing environments to support grid computing.
- It isn't a return to mainframes and mini systems, or centralized computing of any sort. The reason is that these systems relied on a single system that did everything. But cloud computing usually involves multiple computers, rather than one, and in a method that allows you to easily expand, and reduce your computing power according to your needs. With mainframes or minis that would have been impossible. In fact, sizing your old mini/mainframe used to be one of the hardest processes because the outlay was so high that you had to plan and predict your requirements for years.
You may have noticed a common theme here. If you've managed to grasp that cloud computing is not about solving a specific problem or computing issue, or about fixing or restricting your deployment and usage models, then you are well on the way to understanding, and hopefully looking to take advantage of cloud computing. Related Article: QuickStudy: Cloud Computing