260px-Cloud9IDE

As far as developers go, I’m not too picky about the tools I use. I find this allows me to try out the latest and greatest without too much attachment to a specific toolkit. One type of toolkit that has been gaining popularity is a cloud-based IDE.

I’ve always been interested in a centralized workspace since I tend to blow through devices and workstations (usually to try out some new Linux distribution) and frequently have to reconfigure for the new environments. Yes, I could have just used dual-boot or swap hard drives but I really don’t care that much. All my important data is already in the cloud, through services like Google Drive, Dropbox, and Bitbucket.

In a way, I’m already set up for cloud-based solutions and for most people that may be the most difficult part, especially if you have a lot of data. If that’s the case, not all is lost. You can use many of these IDEs with any common git repository or in some cases, with SSH access to your own private server.

Cloud9 is one of these cloud-based IDEs and they provide a private PaaS (Platform as a Service) instance, or you can make use of your own FTP/SSH server. They also support directly deploying to Heroku, Azure, and Cloud Foundry. In my case, I use my own PaaS instance and connect to it through SSH. This does have one prerequisite: NodeJS.

In order for Cloud9 to access your workstation, you will need to not only configure your SSH server and keys, but you will also need to set up a NodeJS server (along with any firewall rules). Cloud9 provides excellent documentation.

Once these are configured, Cloud9 provides a full-featured IDE, including a decent terminal (though it’s not as responsive as other web-based terminals) that allows you to develop in any language you want.

This setup has been working well for me for the past few weeks across multiple platforms: Linux, OS X, Windows, and even my Chromebook. This is especially useful for quick fixes and testing when on the road with my $210 Chromebook, instead of taking my $1,200 MacBook Air.

Taking advantage of the recent SaaS (Software as a Service) and modern web browser improvements can save money in equipment, maintenance, security, and training. I look forward to seeing it improve even more.