Multiple Experts Try Defining "Cloud Computing"
jg21 writes "Even though IBM's Irving Wladawsky Berger reports a leading analyst as having said recently that 'There is a clear consensus that there is no real consensus on what cloud computing is,' here are no fewer than twenty attempts at a definition of the infrastructural paradigm shift that is sweeping across the Enterprise IT world — some of them really quite good. From the article: 'Cloud computing is...the user-friendly version of grid computing.' (Trevor Doerksen) and 'Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs. An application or service developer requests access from the cloud rather than a specific endpoint or named resource.' (Kevin Hartig)"
With cloud computing you outsource *all* your hardware.
My firm practices "cloud staffing" then.
Table-ized A.I.
Cloud computing refers to a cluster computing environment hosted by a single company. This approach is also referred to as "utility computing," and back around 1999 or so, the companies providing these services used to be called "application service providers."
The difference between cloud computing and grid computing, which was all the rage around 2000 (see the academic Globus project) is that grid computing aggregates *widely* heterogeneous computers under different authorities across Internet-scale wide-area networks. A common approach is aggregating universities' computers to form a large-scale cluster. Disadvantages include the fact that you had to program with MPI, communication latencies are high, and there were a lot of authentication issues.
Cloud computing avoids these difficult issues by having a single company host these services for you, and it's typically being done by the big players who can afford to do so (Amazon, Microsoft, Google). Cluster farms are controlled in data centres under one authority. The programmatic interface is simpler, and computation is typically through a fixed paradigm like MapReduce, although there are known SQL-like approaches to run on clusters. Communication through a GigEthernet is typical in a cluster within a data centre.
Is cloud computing a buzzword? Possibly, but then "multi-core," "data centre," and "XML" used to be buzzwords too. Within five years, doing development on a particular vendor's cloud computing infrastructure may be as viable a (specialised) skill as programming for Windows, Linux, or MacOS.