views:

153

answers:

2

The web service that I want to run on AWS has to store and retrieve user data, present it to the user via a website, and needs to be able to parse the sitemaps of a few thousand sites every 10 min or so. Which components of AWS, such as S3, EC2, and CloudFront do I need to use. A short synopsis about the purpose of each component would be nice. :)

I particularly do not understand the purpose of the Simple Queue Service.

+1  A: 

You might, for example, use EC2 (on-demand, scalable, VPS) to host the actual application and S3 (networked storage) to store the data. You would probably not need Cloudfront (geographically optimized content mirroring).

We use SQS (Simple Queue Service) to queue tasks we want performed asynchronously, i.e. without making the user wait for them to complete. As it turns out SQS becomes incredibly expensive if your site has even modest traffic, so we'll be handling queueing on one of our own boxes soon.

Abie
How can a simple queue (i'm thinking of the data structure) cost so much?Also, is CloudFront optional?
Dove
Not sure why they charge so much for SQS. Cloudfront is totally optional.
Abie
A: 

Another service you might want to look at is the Elastic Block Store (EBS), which provides persistent storage for an EC2 instance. The default storage that you get with an instance is not persisted if you shut down the instance, so I'd recommend storing all your critical data on EBS so that you can recover quickly if an instance goes down.

SimpleDB might also be useful for your service.

Have a look at the Wikipedia entry for AWS to learn more about each service.

gareth_bowles