Thursday, December 29, 2011

Windows Azure and NodeJS

When starting at my new home at RESAAS about 6 months ago, I was determined to become a better developer in a Windows environment. Developing in a *nix environment for about 10 years made it so I had to change my way of thinking (package dependencies, scripts, paths, keybindings) which is why RESAAS was a perfect learning environment for me.

RESAAS is a social network for Real Estate Professionals -- we're building a platform that lets them be more open and connected with their colleagues and clients -- and then we build tooling around that to make their everyday lives easier and more simple. That said, the whole platform is built on Windows Azure -- from Blob storage to Compute instances to SQL Azure.

Thinking back now from when I was still at Blast Radius, I've come to realize that I've come a long way in learning about Windows tooling (BACPACs, DACPACs, Visual Studio, MSBuild, SQL Azure, Windows Azure Portal, and much much more). To go even farther that just learning some of the tooling, I stepped up to the plate and gave a talk at the first Vancouver Windows Azure group about developing and deploying NodeJS applications to Windows Azure.

In this meetup, I talked about how seamless it felt going from a *nix environment to a Windows environment when writing NodeJS applications. I also showed the crowd how fast you could deploy a NodeJS WebRole (literally in 6-9 minutes). Furthermore, to end it off, I demo'd a quick URL Shortener application built with NodeJS and Azure Table Storage (Microsoft's NoSQL Solution).

When hacking together that URL Shortener, I was finding that Microsoft's NodeJS SDK for Azure felt like being in a *nix environment -- using Cmdlets in PowerShell felt like any other Heroku-style deployment.

I'm really astonished at the effort that Microsoft is putting into NodeJS -- They've done an amazing job of making it easy to develop, deploy NodeJS apps to Windows Azure.

Good luck and have fun,
Jaime Bueza

Jaime Bueza is a software engineer in Vancouver, British Columbia, Canada. He has developed web applications for Nintendo, Starbucks, Bacardi, Nike, Electronic Arts, Ritchie Brothers, Kiwi Collections, Cox Communications and Microsoft. When he's not developing useful software that constantly evolves with business requirements, he's writing open source software and creating tutorial videos for aspiring front-end developers.