Recently I spent some time trying to understand AWS at the next level of detail. I found some interesting stuff out there. Here is a brief overview of AWS.
Infrastructure Services
- S3 – Simple Storage System. Web-based storage.
- EC2 – Elastic Compute Cloud – On-demand processing power.
- SQS – Simple Queue Service – Messaging service for transferring work between computers.
- SimpleDB – Database version of S3.
Payment & Billing Services
- FPS – Flexible Payment System – System for accepting payments
- DevPay – Tool for developers to be paid for AWS applications
On-Demand Workforce
- Mechanical Turk – Ability to farm out units of work to humans.
Amazon also operates four Alexa services (web search, web information search, top sites, and site thumnail). These services are tied to the Alexa web search engine. Finally, Amazon operates two other web services fulfillment web service and associates web service. Both of these services are e-commerce services related to the Amazon store.
There don’t seem to be many books on the subjet. The best looking book is “Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB” by James Murty the author of JetS3t. A number of the reviews say that its a “Ruby” book. Another interesting book is “Amazaon.com Mashups” from Francis Shanahan. Both books were written some time ago while Amazon keeps upgrading their services.
There are a couple of seemingly good examples of how to program AWS on the Amazon site.
Sample application to get started with Amazon SQS and Amazon EC2 – http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1457&categoryID=85. The client examples in C#, server examples are in Java.
Browser Uploads to S3 using HTML POST Forms - http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1434. The examples are in Ruby, Python, or Java.
JetS3t is a free, open-source Java toolkit and application suite for S3. The JetS3t toolkit provides Java programmers with a powerful yet simple API for interacting with S3 and managing data stored there. (Description lifted from the web site.)
To use AWS you need to be prepared to pay for everything you do. Its not clear to me why this not free to developers like Salesforce.com developer accounts and Google’s AppEngine.
Posted by scooter998