EC2-like instances with Slicehost

Slicehost’s backup and add new slice

Virtual hosting and infrastructure is coming up in a big way, and Amazon’s EC2 is leading the pack. However, there doesn’t exist a comprehensive & provably scalable system for deploying applications to such a stack yet: the components are in place or being developed (SimpleDB or equivalent, EC2 and S3) but the crucial connecting layer is missing. Several attempts are on to fill the gap.

Until it becomes a reality (and perhaps even then), a great intermediate tool is Slicehost‘s xen-based virtual machines: “slices”, that allow for a quick snapshot from any particular slice and the creation of a new slice from that snapshot.

The way it works is a bit cumbersome now (and they really should expose this feature more), but the idea is simple:

  1. Take a snapshot of a slice, currently you have to go to the backups tab to take a snapshot backup.
  2. When you choose to create a new slice, you have the option to create from that backup snapshot (see picture).
  3. Change a few variables specific to the host (maybe add a puppet instance to reconfigure automatically), and wham! EC2-like virtual infrastructure at half the pain.

I plan to use this for factory-like instances across MobME‘s infrastructure.


What’s missing from Amazon’s suite of web services? Two things: SimpleDB which provides database-like persistence and SimpleBalancer, which load balances “services” on multiple EC2 clusters. While it’s possible to emulate both using S3 and EC2 right now, it’s hard to do, and feels really clumsy. When Amazon does engineer these things, expect Google to take a peek in as well. Oh, we live in interesting times.