jump to navigation

Amazon EC2 + S3 = never looking back to old school hosting June 20, 2008

Posted by Wille in Emerging Trends, Software Development, Technology.
trackback

Admittedly, I’m a bit late to the game when it comes to learning hands-on about Amazons Elastic Cloud Computing (EC2) and Simple Storage Service (S3), but I’m glad I’ve put in the time during the last few evenings.

There are a few niggly bits to get over, but when it all comes down to it, they are actually helpful: there is no persistent storage for your server instances in the cloud, which means you will loose any files or databases not backed up if your instance crashes. But I’ve actually found this useful, it has really made me think about how to best do frequent backups to the S3 storage, how to automate backups and restores if instances go down, and actually test that all this work.
How many people can actually say that they have put their backup- and restore strategies to the test? I think most organizations think about them, pay lipservice to it and have something in place, but it is rarely properly tested, with the consequence that from time to time they fail.

One thing that is easily addressable annoys me though – all Java API’s for Amazons Web Services are extremely poor, there are a few out there, but they are all subpar, including Amazons own. I guess this is down to Amazon preferring that people roll their own and simply use the RESTful http API’s that they provide, which are actually quite good.

These little annoyances got me started in writing my own Java API on top of S3, that will encapsulate the (small) complexity of the REST API’s in something that looks more akin to a regular “File system” interface for Java, but one that still gives you meaningfull Exceptions when things go wrong. I might go on writing some tools for management of EC2 instances too, and roll it up into a bundle and release it as open source, we’ll see about that (I have quite a lot on my plate at the moment, with trying to make an imminent release of Wicket RAD as well).

Overall, I’m starting to really like the concept of not having to pre-emptively know how much storage I need, or how many/how powerful servers I need, I’ll just increase capacity as I go along!

Comments»

1. Nicolai Wadstrom - June 24, 2008

Hi,

Good post, great you got started with Amazon EC2/S3, great services for building scalable web apps.

I am looking at starting a new startup that packages EC2/S3, somewhat like RightScale, but a with another twist to it.

Regarding Java API’s did you look at JetS3t (http://jets3t.s3.amazonaws.com/), I don’t know much about this (yet, but it’s on the list), but would love to hear your thoughts about it.

Cheers,
N

2. searchy - July 1, 2008

There is also information about mounting an S3 bucket directly to an EC2 instance. It will be handy for large data intensive applications like searchblox – http://www.searchblox.com/searchbloxami.html