Cloud9…rocks…

I’ve been trying to move all my work to the cloud — including my IDE.   I often have different VMs set up for different projects / stacks (this sounds more sophisticated than it really is, trust me…)

I’ve tried a bunch of things — and lately,  I’ve been doing most of my (admittedly modest) coding in the AWS Cloud9…and it’s a happy place so far.

I often have different VMs set up — e.g. with oracle instant client — and I don’t want to pollute my own machine with different dev tools and stacks that will create inevitable version conflicts, etc.

The problem is to have a decent editor / IDE and be able to test the code on the VM immediately.  I don’t want to have to push to a git remote and pull, etc, in my development cycle.

Things I tried…

I’ve played with Atom + remote-sync plugin…which works…but…gets lobotomized if the ssh session it uses for remote pushes suddenly stalls.  I have tried to setup VS Code and use one of the NodeJS watch-directory-and-rsync things…which looks really promising, but…last time, I was stick with “why doesn’t it use my ssh keys to login instead of repeatedly prompting for a password?”

I also did one project using Codiad, which is a cute PHP-based IDE-style editor, but it is very very very light on features.  It’s better than using nano on a remote box (and I have done more of that than I care to admit), and fairly responsive, but…it’s really not scalable for more than a few hundred lines of code, IMO.

I have been really intrigued by Eclipse Che…and want to get back to figuring it out…but I have tried docker deployments of it…and it never quite…gets to the stage where it works.

Enter Cloud 9…

I heard about cloud9 from the CS50 course postings…and I played with the free offering at c9.io.  It was quite cool…but it offered a stock set of docker images to develop on, and I wanted to have my own (messed-up) VM…

Then I played with AWS Cloud9…which will spin up a VM for you.  This was cool.

But…then I noticed you could also use “your own” host if you had ssh access.  So I pointed it at one of the Azure instances I use for “official experiments” for the “Data Working Group” here at the university (we are supposed to be…developing and executing an analytics / BI / data-sciency strategy for the institution).

I expected that this would launch the IDE and then use the ssh connection to shovel files back and forth…but…it used the ssh connection to bootstrap an install of nodejs and the entire Cloud9 webapp…which the AWS console then delivers to you via a tunneled connection to the node server on *my* box.

What is impressive is that — I am running the managed AWS Cloud9 service, which they don’t charge for, to do development on a VM that I pay Microsoft for.  AWS adds a lot of value for…no revenue here.

And it works really nicely — it’s no feature-laden IDE, but it’s got a responsive, comfortable and attractive/themable editing environment with good syntax highlighting, with tabbed shell windows, and a file hierarchy

But I’ve been struck be the convenience and usability of it all.  I open the macbook, and it’s just *there*…no logging into remote hosts…the editor is even very smart about watching for file changes.  I can write program output into a file that I have open in an editor tab…and you can see the tab go blank when the file is opened, and the new output appears in the editor window in real time.

Have been using it for about a month, written 2-3Kloc of mixed Python/Flask, some Javascript, some PHP, MySQL things and it’s been very solid, no fuss.

I look forward to cloud 9 becoming more feature rich and competitive with current install-on-your-own-laptop IDEs.

Leave a Reply

Your email address will not be published. Required fields are marked *