Owning The Rackspace Cloud
Friday, June 26, 2009 at 11:45AM
Over the last few months I've been exploring the shiny bauble that is "Cloud Computing". I've got various bits of this and that running in The Clouds at EC2, Slicehost and RackspaceCloud, but I mostly viewed it like the spork. Sure, they both serve up the content, but it wasn't really much of an improvement over the standard hosting I was used to... or spoons...
But when it rains it pours... Busted Loop has an internal project that needs significant bursts of computing power throughout the day, and one of our clients is looking to replace a $1000/month build server with a cheaper alternative. Fortunately, the client has a large investment in Rackspace and some substantial bandwidth requirements, which made the choice of which service to embrace pretty easy, with a bit of a hurdle...
No API?! The RackspaceCloud API isn't going live until Q3 of this year... This struck me as odd because I believe the Rackspace Cloud is powered by the Slicehost technology which has an API.
Oh well... This is 2009, the web is the API.
Introducing the RackspaceCloud Command Line Tool!
It's a groovy script I wrote that does the bare minimum we need to complete our projects; create, delete, resize and list servers in the Rackspace Cloud and some variations on those themes and a way to keep an eye on our bill!. I'm basically wrapping the web site features with a groovy API and then wrapping that in a command line tool. I'll switch features to the official API when it's released. We needed this tool pretty quickly so the API (in the script guts) isn't perfect and will be refactored before I package it up for general consumption, but I think there's enough in this command line tool to be generally useful.
In the future there will be commands for controlling DNS settings, fetching the internal IP of the server, rebooting, and anything else that stands in the way of our completed solutions.
If this is useful or interesting to anyone besides us, I can post more about how you can use the API in your groovy or java code to add this functionality into your apps.
If you think this is interesting, please use the "share article" links at the bottom of the post and leave a comment.

Reader Comments (4)
Now that's a fantastic and creative utilization of Rackspace's systems. Must try this out on my own accounts!
Thanks mark! let me know how it works out for you... you can email me directly if you have problems... dan at bustedloop dot com
Cool tool!
Is there any way you can program a way to restart an entire app pool?
Actually, any way to program "reliability" into the RackSpaceCloud would be great.
We host with RackSpaceCloud, and our site was down more than 200 hours last month due to connectivity issues, security issues, failing hardware, scheduled and unscheduled maintenance blackouts and "misbehaving nodes".
They are just growing far too quickly to keep the sites up, and this means LOTS of down time.
Down time for important sites!
Like mine. :-)
Anyway, we are moving immediately to a dedicated server... and it can't happen soon enough, but this does look like a pretty cool tool. If you can solve some of their technical issues, they might even acquire it from you. That would be worth some real money!
Every body understands that humen's life seems to be expensive, but we need cash for different things and not every man gets enough money. So to receive good business loans or consolidation loans should be a right solution.