Over the last couple of days I have spent some of my vacation playing with EC2 and S3. I have to say, I haven’t been this excited about technology in a long time. The possibilities for using the two separately and together are pretty staggering.
Essentially, EC2 (Elastic Compute Cloud) is a service that allows you to create Xen images (which they refer to as AMI’s (Amazon Machine Images)), upload them to S3 (Simple Storage Service) and then via API calls (or as I have been doing via a Firefox extension) start/stop/reboot a virtual Linux server. The server can then be used as would any Linux server.
S3 is simply storage space. And also via API calls, you can access Objects (data) that is stored in S3. However, of interest to me, is Eastic Drive which allows you to mount S3 space. I haven’t tried this yet, but plan to in the near future and will post about it here.
As many of you may already know, there are a few drawbacks and workarounds to drawbacks that need to be considered when deciding on using EC2/S3 for your web project. The first is that it costs money to test it. Yesterday I messed around for about 4 hours and ran up a bill of 44 cents :)
The second is that all virtual machines in the cloud are assigned dynamic IP’s (I will leave this for another time, because I am not convinced this matters as much as some do).
Third is that the AMI’s don’t maintain state, so anything created by a running instance becomes volatile data. Think, logging, MySql records, hand made changes to config files, etc.
There are others, but I will get into the ones above and the others as time goes on. I plan to spend the next few months designing some things to work with EC2 and so I hope that I can share that journey here.
Happy Hacking!