[cloud] What is the difference between Cloud, Grid and Cluster?

There's some pretty good answers here but I want to elaborate on all topics:

Cloud: shailesh's answer is awesome, nothing to add there! Basically, An application that's served seamlessly over the network can be considered a Cloud application. Cloud isn't a new invention and it's very similar to Grid computing, but it's more of a buzzword with the spike of recent popularity.

Grid: Grid is defined as a large collection as machines connected by a private network and offers a set of services to users, it acts as a sort of supercomputer by sharing processing power across the machines. Source: Tenenbaum, Andrew.

Cluster: A cluster is different from those two. Clusters are two or more computers who share a network connection that acts as a heart-beat. Clusters are configurable in Active-Active or Active-Passive ways. Active-Active being that each computer runs it's own set of services (Say, one runs a SQL instance, the other runs a web server) and they share some resources such as storage. If one of the computers in a cluster goes down the service fails over to the other node and almost seamlessly starts running there. Active-Passive is similar, but only one machine runs these services and only takes over once there's a failure.

Examples related to cloud

Get Public URL for File - Google Cloud Storage - App Engine (Python) What does ECU units, CPU core and memory mean when I launch a instance What is SaaS, PaaS and IaaS? With examples how to use free cloud database with android app? What is the difference between Cloud, Grid and Cluster? What is the recommended way to delete a large number of items from DynamoDB? Which programming language for cloud computing? What is the difference between Cloud Computing and Grid Computing?

Examples related to cluster-computing

How to fix symbol lookup error: undefined symbol errors in a cluster environment What is the difference between Cloud, Grid and Cluster? Database cluster and load balancing

Examples related to terminology

The differences between initialize, define, declare a variable What is the difference between a web API and a web service? What does "opt" mean (as in the "opt" directory)? Is it an abbreviation? What's the name for hyphen-separated case? What is Bit Masking? What is ADT? (Abstract Data Type) What exactly are iterator, iterable, and iteration? What is a web service endpoint? What is the difference between Cloud, Grid and Cluster? How to explain callbacks in plain english? How are they different from calling one function from another function?

Examples related to grid-computing

What is the difference between Cloud, Grid and Cluster? What is the difference between Cloud Computing and Grid Computing?