A simple SimpleDB use case

I’m happy to say that I had the chance to use Amazon AWS for a project of my customer Deltatre.

The news is particularly good because it offers a real argument in the “use or don’t use it” debate, and offers practical innovation to the company.

Technically, we decided to go on with SimpleDB during the development of deltatrePULSE (or simply Pulse) product: the idea of CTO Carlo De Marchis is to create a new distributed system that will open more the Deltatre web/sport platforms.

Apart from strategic consideration, I would like to stress the fact that this decision was not forced by some obscure needs for innovation: in fact, both the data model and use cases fit perfectly with SimpleDB (costs considerations will be done as soon as we have some usage data at hand;) summarizing, Pulse needs an entity with 5 attributes (for now) in which to write a sport news and read it back later, modifying its state, and it should not be tied to a precise Internet hosting facility.

SimpleDB become a natural choice once the Pulse prototype run for some time: in fact, the first implementation of the Pulse Log Repository (i.e. the persistence layer) was implemented using FriendFeed as the “database” (we saved XML as FriendFeed entries, and attributes as comments), and it worked like a charm until our Pulse server IP was temporarily banned because we hit the rate limit; after some research, it was clear that FriendFeed was not good for our needs because the rate limits info are not disclosed, even if it was chosen because it can be seen as a free and simple to use database system that does not require any maintenance.

We were stuck, so it was immediate to think to SimpleDB: a simple to use database system that does not require any maintenance and “lives” on the Internet, even if it’s not free but that it’s not rate limited, though. In a matter of minutes we had a company-wide AWS account, and in two hours we were running on SimpleDB instead of FriendFeed.

I’ll give more technical and practical information about SimpleDB usage (and about clouds in general), but for now I would like to conclude this post saying that, besides a lot of [good and bad] _corridor discussions_ about computing clouds, my advice is: get somewhat familiar with the tool, then use it when you need it, as you would do with any other tool.

You can follow Pulse development and some other funny things on my Twitter profile.