Wow. What a whirlwind the last few months have been. The company I'm consulting for at Abacus Data Exchange, is now running a cloud computing solution for end users. We've always offered virtual machines. I've always had redundancy and fail-over on those host machines. The only real difference now is that instead of having to call me to create that virtual machine, you can: create an account, enter a credit card, create a virtual machine and have remote access to that virtual machine within minutes. Our smallest image (router software) completes in about 5 minutes. Our largest (Windows Server 2008) takes roughly 40-50 minutes.
Here's a quick outline of how it went down:
Our only initial goal was to create a customer interface to at least power cycle a virtual machine. I created the outline in my head of the python driven site to allow for this. Before I could even get it on paper, I began to realize how much it encompassed. I thought of frameworks to use such as Tornado. Still seeing the amount of development considering security and user management, I realized I should do what I always do, find the open source solution and go from there.
I came up with Eucalyptus, Enomaly, and OpenNebula. Eucalyptus showed lots of promise, but it was extremely immature and clunky. I've since heard it's made great strides even in the last few months and has become a real contender. Enomaly looked like it was exactly what I wanted hands down. The features it did lack that we wanted were available in the paid version (which came with support which never hurts). OpenNebula gave us a great option on the control side. Clients could manage their virtual machines exactly how I wanted them to.... from the command line. I spoke with a few interface developers and got an idea on cost to build the front end. I called Enomaly and got pricing. Easily, Enomaly was the choice.
The JQueryUI interface is slick, easy to use and full of features. The admin interface, which I didn't even expect to get when this all started, is easy and full featured as well. The development team over there has taken full advantage of hypervisor technology and keep adding features monthly. Just about every feature that I first felt were lacking have all been added in features that have since been released. The only one I still haven't seen is the ability for a customer to boot an existing virtual machine to an iso image, but I hear it's coming soon.
There was only one problem still, I had to create new user accounts as admin. So I grabbed my favorite developer, and we went to town on a php driven user signup/verification process (cause php is so damn quick and easy). We verified credit cards and, using Enomaly's API, gave ability to manipulate virtual machines after a sign-up process.
So with much less cost, we only had to develop roughly 1/10th of what we would have had to develop to begin with. Plus we got all kinds of features we didn't expect!
I guess basically all I'm really sayin is .... Enomaly... FTW!!!!