Blog post

Taking Software Development to the Cloud

March 13, 2008 – 9:05 am by Justin

Recently, we’ve been experimenting with Software Development on the Cloud. What is that?

Typically, software development is a rather linear, individualistic process. The only form of collaboration is through the use of versioning systems such as SVN and CVS. However, that is only for version control and doesn’t truly allow developers to work on the same code.

Also, developing online software is only one part of the process. The next most tedious part lies in deploying the code to a production server and keeping it running. The intricacies of keeping production code alive means an exorbitant amount of developer time needs to be spent on patching, maintaining and scaling server setups. It should no longer be the case now that cloud computing services have matured to the point of being commercially reasonable price wise. Software development languages in the form of rapid web application frameworks such as Ruby on Rails has made it extremely easy for developer to create code easily and apply Agile Development.

What’s left is an “Agile Deployment” process. The problem with deploying typical Rails app lies in its great complexity: you need to get the mongrels, the ngix/apache/pound load balancers running, need to tweak and optimize your database connections. It’s just too tedious!

Now, we’ve found a cloud based development platform that is game changing for software development: It allows you to develop in a browser based IDE. Immediately deploy with just one button and will scale (nearly indefinitely) because the system itself is built on Amazon’s EC2 and S3 Systems.The coolest thing about it is that you can collaborate on coding out an application on a web browser. It totally takes away the tedium of having to set up a development environment on your own desktop.

Imagine: Login > Start Coding > Preview App.

We can literally hire software developers and get them coding from Day 1. No need to waste time. We can buy super low-spec Linux machines loaded with cheap ram enough to run AJAX apps instead of ridiculously priced workstations. We can hire developers from anywhere in the world and they can get started on contributing code that will go live almost immediately.

This, in my years of experience, is a very major game-changing paradigm shift in the software development process. And I guess we’re really only at the beginning of this.Stay tuned to our blog to find out more about our experiences with taking Software Development to the Cloud. :)

Post a Comment