As I mentioned in a previous post, the “cloud is just grid” meme tends to pop up rather frequently for me. That can be a bit frustrating, and the contrary “cloud has nothing to do with grid” meme is just as bad. I think the two technologies are in fact very clearly related, though not identical. Cloud folks could certainly help themselves by listening more to grid folks who solved many of the same problems much earlier, and grid folks could do themselves a favor by listening more to cloud folks who have taken that technology in important new directions. Cloud folks: be less arrogant. Grid folks: be less bitter. There should be synergy here, not competition. To understand why, let’s step back a bit and look at what

  • The original grid “vision” was of combining previously separate resources to solve problems larger than those resources could practically solve while remaining separate. This was importantly contrasted with the work then being done on purpose-built massively parallel systems like ASCI Red. In one direction, grid computing led to the federation of multiple such systems so that they could be used remotely. In another direction, it led to things like Seti@Home or BOINC. In any case, the general direction was toward aggregating resources in a fairly open academic-style environment.
  • There’s still so much churn around definitions of cloud computing that I know I’m stepping into dangerous waters, but I think of cloud as having three essential characteristics and many incidental ones. The essential ones IMO are location transparency, rapid self-service provisioning, and “multi-tenant” isolation of users from one another not only in terms of security but in terms of SLA-protected performance as well. I consider virtualization to be an incidental characteristic, but an important one as it enables both isolation and “infrastructure as a service” deployment where users get to install everything from the operating system on up. By contrast, I think “platform as a service” is a lot more grid-like and “software as a service” is almost indistinguishable from plain old hosted applications. IaaS is the true cloud; how’s that for a comment sure to provoke some controversy?

So, how does that help to identify similarities and differences?

  • Location transparency and rapid self-service provisioning are things grid and cloud have in common. This is where the synergies are greatest.
  • There’s a level difference: grid tends toward platform level and above, while cloud supports and even emphasizes infrastructure level.
  • There’s a granularity difference: grid tends toward “few large” and aggregating resources, while cloud tends toward “many small” and dividing them up (via virtualization) as well.

I think a lot of the confusion is related to the fact that grids and clouds have co-evolved, and many of each are misidentified. For example, many grids have developed cloud-like usage models and protection methods over time. Some of them have really become clouds. On the other side, many “private clouds” might actually be devoted to few tasks and forego a lot of between-user protection. They’re really grids in practice. What people should do is forget about what “tradition” something came out of, or what the vendor/promoter calls is. Look at the level and granularity of the provided service(s) and isolation features, and that will give you some hints about where you should look first for examples or secondary technologies that might help you write your own applications no matter what you call them.

P.S. About the title: a gloud is something that was conceived (and perhaps implemented) as a grid but then turned out to be a cloud, and a crid is something that went the other way.