Thursday, October 13, 2011

Software development in the cloud

Software development is about to change forever. Certainly the people at Cloud9 have recognized that and so have a dozen-ish web and desktop collaborative IDE projects (see wikipedia).

I recently purchased a MacBook Air. The small 11" version with 64GB of SSD. It's not a lot of memory or disk but it is enough if all I want to be is a "user".  But as soon as I put on my programmer hat, it's not enough.

Partly because of the screen size but more importantly the tools. Sure my mac is a general purpose computer but my clients and applications are not. From one project to the next I can end up with completely different tools requirements. For any set of projects I can be required to use widely different versions of Java, python, perl, ruby or even erlang. And then it gets crazy as I try to handle the different versions of and dependencies of libraries.

Additionally, as I get ready to package and deploy the application(s) it wickedly hard to deploy without picking up unwanted dependencies. Specially when the dependencies run deep. It's always better to deploy on a fresh machine.

The good news is that most development heavy companies have already noticed this. They tend to use cloned drives when giving employees new computers so that they do not have to install each application individually.  Just clone a drive and off you go.  In many cases you can provide Dell a drive image and they'll manufacture a set of laptops for you. It's even more fun when they encrypt the entire volume. So your IT staff does not have to lift a finger other than to deliver and plug-in your new computer. Many of those same companies use operations' centric computers running something like VMWare to slice off developer systems that look the same. This way everyone has the same starting point.

So as we independents and SOHO business owners move forward we need to consider this. Spend more money on upgraded networking at the office and remote locations. Provide commodity hardware. Move everything to the cloud and replicate/duplicate everything.

PS: I did some math.  As much as I like my MBA, it cost me $999. Amortized over 5 years that comes to $16 per month. For just about $11/mo I can get a reasonable dev server at rackspace. It's still expensive and I have no idea what their expenses are it might actually be reasonable.  For my $11/mo I get a dedicated server with shell access with a public and private IP address. I get plenty of network bandwidth for development. And the system runs 24x7; unlike my laptop which I turn off at night.

So my recommendations for rackspace. Bring the price down and open up some cloud services even if they are repackaged and bundled google services. You could capture a huge market if you had a proper workbench for different vertical markets.

No comments:

Post a Comment

static site generators

Static site generators are pretty cool. Granted they are an oversimplification of the java/json/xml/xslt site manifestation from the olden d...