Hi Nishant,
You are quite right here.
Let me take example of what Amazon does for cloud computing and then we will also look at Google App Engine to understand how things can be
Amazon Services
1. Amazon S3 - Since Amazon EC2 requires virtual images to start instances (called AMIs), S3 (Simple Storage Service) is a pre requiste. It is a simple service which allows you to store from 1 byte to 5GB of files
2. Amazon EC2 - (Elastic Computing) Think about VMware images, its similar, but you can do this from command line, web interface and even programitically. You can just select one running instance and say, I want to start 10 more such instances. This is why Amazon uses the word Elastic. However a draw back of EC2 is the images once removed lose any state, just like VMWare images
3. Amazon EBS - (Elastic Block) - Now you may want to keep one EC2 Instance at the minimum running for web server, but for your database, you need a persistent block. This is what EBS, its meant for file system or database. You even if you don't have any EC2 instances running, your database is persistent. More over, EBS blocks can be attached (more like mounting) to any running EC2 Instance
Then there are other Amazon Service like Elastic IP to get static IPs and SimpleDB to get a database
Summary - Amazon Services are more of infrastructure services
Advantages - You are free to load what ever you want on the instances, you can open ports as you like
Drawback - Only one private IP given, you have to use DNS (Option use elastic IP)
Google App Engine
This one is totally different in approach, it is infact what is a running scalable, distributed, secured python runtime. Here you simply upload python code.
Here you upload your python code and it runs on google infrastructure. You can use App Engine's datastore apis to load or store data.
You don't have to worry about tuning and scalability issues, all you do is write business logic and let Google take care of the rest.
Summary - Google App Engine is more of a scalable python runtime hosted at Google
Advantages - Concentrate on business logic only
Disadvantage - Marry your code to Google App engine infrastructure. Python is not so popular.
Then there are no. of SAAS/PAAS coming for Java namely
stax.net, longjump etc and most of these are based on Amazon EC2.
We can talk more about these. If any one has any questions feel free to answer.
Thanks,
Rohit Ghatol