the move from vps to amazon ec2

Today we moved SnapMyLife from liquidweb virtual private servers (vps) to Amazon’s Elastic Compute Cloud (ec2). This was made possible mostly because of the leg work of my co-worker Matt Conway. He has graciously shared his setup in the form of a Rails plugin called rubber. I’ll leave a discussion of rubber for another post, but if you’re considering ruby on rails on ec2, Matt has made it pretty turn-key.

The obvious question is “why?” We never really had plans for SnapMyLife hosting. So far we’ve been piggy-backing off of mobicious hosting. Liquidweb is a great vps provider and if we wanted to go that route, we’d defiantly choose them again.

We ultimately went with ec2 because of the interesting possibilities. You now have the ability to, in essence, script hardware. You can programatically fire up more resources as you need them. Servers tend to get slammed from 5-7pm? Just double your capacity for that time. You can easily see moving away for buying enough hardware for the worst case scenario to planning for it with hardware on demand.

It has other implications for daily development. Testing on a true parallel system (for every developer) becomes possible. One script to create a clone of production servers, run your tests, and tear it down. Only costs a couple of bucks.

I’ve done some performance testing specifically for rails on ec2 that I’ll clean up and publish, but Amazon has an acceptable performance for the price.

So, what are the downsides? I guess the biggest is a lack of IP address persistence. When you create an instance, it is assigned a public IP, but there is no guarantee that the instance will remain up or that on restart, you’ll have the same address. This creates a problem for trying to run load balancers. However, we get around this with DNS round-robin and scripting updates. It isn’t perfect, but it is an acceptable level of risk.

Bottom line is we’re all happier. We don’t have to re-investigate how much hardware we need each month. The usage dictates hardware and you only have to plan for about fifteen minutes in advance, not 24 hours.

managing your personal movie experience

The management of music digitally is now in a solid state for me. I hardly buy CDs, instead choosing to purchase mostly online from DRM-free vendors. I take that music, put it in to iTunes and then do various things with it (listen on my MacBook, sync to an iPhone, AirTunes, etc.). MP3 is a pretty good standard, and compresses the data down to manageable rates. I’m pretty happy with the setup. It is easy to discover new music, listen and add to the collection. Overall it is a huge step up from CD collections.

The Hollywood movie experience, on the other hand, is not quite correct. There are some movies you watch more than once. If you have kids, it is mostly their video collection. Most real movies, you just want to rent. The media answer for a while has been to purchase those movies on DVD and netflix everything else.

There is one problem with the netflix model, and that’s you need to decide in advance what movies you’ll feel like watching. I’m more impulsive then that. I’d rather have this be like music: you present me with a catalog and I can choose anything I want from my couch. So we canceled the netflix subscription.

The next try was Amazon Unbox since we already use Tivo HD. This is a very sub-par experience. No HD (not even really DVD) quality, very limited selection, and horrible buying experience. After agreeing to purchase, you need to wait for it to download. Supposedly, you can start after enough has downloaded. I’m not sure what that is, but it took over an hour with my FiOS connection… not exactly on demand.

Then there is a little problem of the 24-hour window to watch once you hit play. God forbid you’d want to watch 1/2 of the movie one night, then the other 1/2 at the same time the next night. I know this isn’t the fault of Amazon, but the studios need to see how this hurts paying customers with no real upside.

The recent announcement of Apple TV improvements I think will make me want to get one. I’ll have to wait and see, but I’m hoping you can rent ANY movie from the major studios in HD for about $4. Assuming that happens here are the issues:

  1. It’ll still have the issue of the 24-hour window for watching once you hit play
  2. Your private collection (think the kid’s videos) need to be permanently on your laptop for the sync to happen to Apple TV

I’m guessing the studios will give up on point 1 (a 48 or 72 hour window makes much more sense) and with the exception of HD space, #2 isn’t that big of a deal to me. Again I don’t have a collection of movies the same way as music.

What are other people doing? Are you running out and buying a bluray player? Or is physical media dead in your eyes? I’m guessing it will die in the next 3-4 years, making bluray go the way of SA-CD (remember that sony invention?) Who really likes dealing with discs?