In my “hello world” blogpost, I mentioned that I used an Amazon EC2 micro instance to host this website (as well as other content, like my personal bugtracker, repositories etc). This was very attractive at the time, since using the Amazon Web Services Free Tier meant that I could do that for free (or well, almost free) for a year. Of course all good things come to an end, so I decided to move to a more “standard” VPS server as hosting platform. The main drivers behind this choice were for me:
- Price
- Proper IPv6 support
- Getting rid of the CPU limitation on micro instances
The last point had never been a real issue for me until I wanted to archive large quantities of data on my EC2 instance, which I could only get to run to completion with the help of a script similar to this one. While it probably wasn’t an issue, sending stop and continue signals to the tar process did not give me the most confidence in the archives it was creating.
Looking back, I think using EC2 was overall a good experience. It was more difficult to setup than for example a (VPS) server, since you need to worry about data persistency, but that came with the benefit of being able to scale much easier – you could pretty much launch copies of your instance [snapshot] at will. Once that was sorted the rest of the experience was pretty smooth: making backups was easy (I found a script that made volume snapshots and manually created AMIs whenever I changed something significant on the root partition), the admin interface was good, and I don’t remember experiencing any downtime (though there have been outages that made the news). I didn’t have any performance issues either, apart from perhaps the odd CPU throttling annoyance while trying to run some longer-lasting job, like svn imports of large-ish repositories.