Get Started with Node.js + Windows Azure: Resources
I previously posted the recordings of a Node.js + Windows Azure presentation I gave at the NY Alt.NET user group in January 2012. As a follow-up, here is a bookmark-able post of Node + Azure resources.
Want to get started with Node.js on Azure yourself? First, go NOW and get a free 90-day Windows Azure trial account or activate your MSDN Subscription benefits. Then give it a spin! Here are a bunch of resources, many of which I used myself to prepare for my talk:
Node.js Developer Center for Windows Azure
Node.js Developer Center for Windows Azure
Start here! As I posted about previously, the new developer centers on WindowsAzure.com are a one-stop shop for getting started in the language of your choice. From this page, I downloaded the tools and SDK, then got myself started by following the steps in these two walkthroughs:
- Node.JS Web Application – This one walks you through creating & publishing “Hello World”.
- Node.JS Web Application with Table Storage – This one walks you through the same steps, but then adds code that consumes Azure’s table storage.
After you’ve done the walkthroughs, you can dig deeper into the docs for Windows Azure PowerShell for Node.js:
- How To Use Windows Azure PowerShell for Node.JS
- Windows Azure PowerShell for Node.js Cmdlet Reference
The day before I spoke at NY Alt.NET, Scott Guthrie announced at the Node Summit in San Francisco, Ca that the Cloud9 IDE would support deployment of Node applications to Windows Azure. Cloud9 IDE is a cross-platform, browser-based development environment for Node.js. It is one of the de-facto tools for Node developers today. Cloud9 runs completely in the browser, and it’s available to developers working on any OS.
This is a very neat development, and represents the first time you can deploy an application to Windows Azure from a non-Windows OS! Read more about the Cloud9 IDE announcements here:
- Windows Azure and Cloud9 IDE at Node Summit – Glenn Block’s summary on the Windows Azure blog.
- Windows Azure on Cloud 9 – Summary from the Cloud9 IDE team.
- Microsoft @ Node Summit – Peter Galli’s summary on the Interoperability @Microsoft blog.
After the announcement, a new walkthrough was added to the Node.js Developer center on WindowsAzure.com:
MongoDB is a scalable, high-performance, open-source NoSQL database build by 10gen. It is extremely popular with Node.js (and many other) developers. If you’re developing a Node app, it’s likely you’re going to want to use MongoDB too. Well, yes you can!
Microsoft has been working closely with 10gen and the MongoDB community to support MongoDB on Windows Azure. MongoDB support on Azure is currently in beta. You can read more about it here:
- MongoDB On Microsoft Azure – blog post from Mongo folks on Azure support.
- Openness Update for Windows Azure – blog post from Interoperability @ Microsoft team
To get MongoDB running on Windows Azure, try either of these tutorials:
- MongoDB on Azure – Walkthrough of running MongoDB on Windows Azure on its own
- Node.js Web Application with Storage on MongoDB – Walkthrough of using MongoDB with Node.js on Windows Azure
IISNode is a native IIS module that allows hosting of node.js applications in IIS on Windows, and thus Windows Azure too. You can think of this as the “flux capacitor” of Node on Windows. You can dive into the IISNode project on GitHub here:
A nifty thing to know about IISNode is that it allows you to automatically scale Node across multiple CPUs. This currently requires extra work on other platforms. Also, since IISNode is an IIS module, you can run Node applications side by side with other web applications (ASP.NET, PHP, etc).
Other Node Resources
- Node On Azure - A community supported blog that is focused on running node on Windows and Windows Azure. This site was started by Matias Woloski at the beginning of January 2012. It already has some great content. (And it runs on Node in Azure too!)
- HowToNode.org - A community supported blog created by Tim Caswell. The purpose of the blog is to teach how to do various tasks in node.js as well as teach fundamental concepts that are needed to write effective code. This site is not Azure-related, but a great resource for learning Node.js in general.
Glenn Block – If you’re going to be doing Node stuff on Azure, you’ll want to keep up with Glenn!
Aaron Stannard – Aaron is a fellow Azure Evangelist out on the west coast. He started digging into Node.js a bit before me and has already written up some great blog posts on it.
And there you have it… a bookmark-able set of resources for running Node.js on Windows Azure! As Node’s popularity grows, I have little doubt that there will be a lot more new content out there. For now though, this is a start.