A recent study of the CERN-based EGEE project group (Enabling Grids for E-Science) compares grid computing and cloud computing. Instead of describing theoretical features of grids and clouds, the authors take a look at two concrete implementations: the EGEE grid and the Amazon cloud (EC2+S3). This approach seems reasonable as it avoids long-lasting, fruitless discussions about how to define clouds and grids.
Usability & Simplicity
The study shows that a main advantage of clouds over grids is usability. Where Amazon S3 offers REST and BitTorrent and EC gives users access to virtual compute images with root rights, there is no such handy interface in the grid world. Google has proven the point many times before when it comes to Web-based applications and services: simple is beautiful.
Simplicity is an architectural design choice that I believe to be the major success factor of Amazon-style cloud computing. Easy-to-use interfaces allow third-party developers to hook into the cloud and build their own frameworks and tools on top of it.
The EGEE authors put it this way:
“In the medium term, the greatest potential benefit of cloud, as proposed by Amazon, is probably not the service itself, but its interfaces and usage patterns.”
EGEE and EC2/S3 usage patterns show significant differences: the grid is used for batch-style job execution, such as a scientific calculation, whereas the cloud serves long-lasting services. No wonder, more and more ISVs discover the cloud to be an attractive basis for storing and processing their application data. The Ruby on Rails community, known for early adoption of agile programming models, forges ahead into the cloud. Although only four of the 114 public EC2 AMIs come with a pre-installed Rails environment, two of those are of amazing quality (4-5 stars in user rating). Moreover, documentation for deploying Rails on EC2 ranked among the first tutorials that were available on Amazon’s EC2 developer center. Companies, such as Intridea, form a whole business model around Rails and PHP applications that run on EC2 and provide a number of exciting frameworks (Scalr) and services (MediaPlug). Another interesting EC-based service is the pay-as-you-go content search software SearchBlox.
Nevertheless, the cloud can be used for job execution as well (which for example is interesting if combined with Amazon SQS, such as ami-e346a38a). This example shows the flexibility that an Amazon-style cloud provides (as compared to the Google App Engine). Developers can use EC2 high performance instances for a processing-intensive service or S3 for storing terabytes of data, such as the NASDAQ Market Replay. The loose coupled cloud infrastructure empowers developers to unfold their creativity in ways that the masters of the cloud did not even think of. This is the power of cloud computing.