I have been watching for a while the ever-broadening range of definitions for "cloud." My favorite is a recent piece that explains that Skype, BitTorrent, and SETI are all clouds. I now realize that a cloud can be whatever you want it to be, and that this is the best definition of the term, from dictionary.com:
11. to make obscure or indistinct; confuse
That got me wondering whether the "grid" term has also subject to similar expansion over the years. To some extent, yes--I've read about discovery grids, knowledge grid, data grids, and too many others to count. But I do think there has been a fair bit of conceptual clarity, albeit with some expansion over time. Specifically:
- The term was initially used to refer to on-demand computing (basically the Amazon cloud definition, but without the benefits of virtual machines) -- e.g., see the first edition of The Grid
- Then it was broadened to include resource federation within distributed virtual organizations (what you need to enable distributed teams to achieve on-demand access to their federated resources) -- e.g., see The Anatomy of the Grid
Then there is the use of the term to mean "any sort of parallel computing" -- e.g., see Sun Grid Engine, Oracle 10-G, etc. But that is just marketing.
Having dissed the term, I should explain why we at Chicago/Argonne are using it. In brief, we see an opportunity to make connections with the extremely interesting developments in on-demand/utility/cloud computing that are emerging in industry. Thus:
- Kate Keahey describes her work on Nimbus as a "cloud", to point out that her Globus virtual workspace service provides the same virtual machine provisioning capabilities that Amazon EC2 provides (and some), but in a package that you can run on your machines (if you so desire).
- We are holding a workshop on Cloud Computing and Applications in Chicago in October to help establish connections between those working on data-intensive science and thus developing tools and services for on-demand/utility/cloud computing.