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:
- Take a snapshot of a slice, currently you have to go to the backups tab to take a snapshot backup.
- When you choose to create a new slice, you have the option to create from that backup snapshot (see picture).
- 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.