Cloud computing is about externalizing service. It means that the computation is done somewhere else. This requires the service provider to have powerful servers. Till this point, there is not any difference between good old mainframe and cloud computing.
BUT, cloud computing is about distributed computing. In the mainframe world, you cannot procure a data storage from one vendor, several IT services from multiple vendors, combine (mash-up) them into a business solution.
Both Service Oriented Architecture (SOA) and Cloud Computing focus on the flexibility and lower cost aspects of providing solutions. Both these terms include both a set of technologies and business models.
SOA is about creating a standards based framework that provides highly reusable services and workflow. Cloud Computing does not have any standards as such. Cloud vendors, at present, don’t see a value in creating standards based service offering. They are busy retooling and promoting their existing IT capabilities as Services on the Cloud. This will hurt many of these providers in the long run. Also this is making it hard for their customers to move from one vendor to another and integrate these externalized services deep inside their enterprise infrastructure.
A mix of SOA and Cloud computing would create standards based framework that can be integrated deep into the existing IT infrastructure. This would lower cost of migration from one vendor to another. Such an offering will improve the confidence of enterprise architects in these services resulting in deep integration into Line of Business (LOB) applications.
Grid Computing Difference
Grid computing is the combination of computer resources from multiple administrative domains applied to a common task. It is mainly used for scientific or technical problems. In grid computing, a few users makes request for a large amount of computing. So, grid computing devices usually employ super computers or specialized computing devices.
In Cloud computing, each service focuses mainly on solving a single business problem. Here, a large number of users request a small amount of computing. In cloud computing, a large number of off the shelf computers are used to create a cloud environment.