Tag Archives: Cloud9

Node.js on Windows Azure

Last week, I wrote about getting a node.js hello world app running on my local machine in 10 minutes. But what if you want to run node.js on Windows Azure? Turns out that takes about 10 minutes to get running as well – and you can do it from Windows or Mac … in fact, any machine that runs Chrome (or Firefox or Safari … any major browser except IE, the market leader that gets no love Winking smile).

While you can create a local environment for node.js development on Azure, the Cloud9 IDE runs in a browser. That’s a very low-friction way to get started. Eventually, you still might want to get the Visual Studio environment working, because the remote debugging features are pretty outstanding, and they require VS. But for now, just follow these instructions for creating a node.js hello world on Windows Azure.

I considered writing up a separate set of instructions, but I don’t think I could improve on these. If you have any trouble as you are following along, don’t hesitate to contact me. Remember that you can get a 90-day free trial easily, and if you are a startup you have access to a LOT of free Azure through your MSDN subscription (in fact, if you have an MSDN subscription from any source, it includes Azure benefits).

The experience is awesome – I’ve been excited about the possibility of a browser-based development environment for some time, and node.js on Cloud9 to Azure delivers. I could see building a fairly sophisticated app purely in this environment (although again, I’d probably want to take advantage of remote Visual Studio’s debugging or unit tests at some point).

The only thing I found to be slightly janky in the example is creating a new deployment … if you choose to create a new one on this screen:

create a new deployment

Then make sure you overwrite the existing deployment name that shows up on the next screen:

create a new hosted service

In future node.js post, I’ll discuss some scenarios that are good fits for node, and I’ll review javascript itself and what’s different programming server-side javascript compared to client-side.