These are my notes from a talk Matthew Podwysocki gave on July 2, 2012 at NodeConf 2012. You can contact Matt at firstname.lastname@example.org or follow him at @mattpodwysocki on twitter
I was one of the early true believers of node at Microsoft. Many people ask, why Microsoft and node.js? There has been some hostility of the form "gosh darn it you're hijacking node and taking it away from us!"
Not only that, our customers are really interested in seeing node succeed. Nobody really wanted to install cygwin, download all the dependencies, download node and pray that you got everything setup right and that it complies, and even better, actually works. How many Windows developers do you know who take source code and compile it? It's fairly rare.
We're also looking at it from a hosting perspective; we know that people associate it with .net applications but we wanted to make sure that it worked for everyone, including node.
After JSconf EU, I started talking with the interoperability group at Microsoft. We were able to address some of those early concerns. Our first stable release was 0.6.0 on November 5, 2011. NPM worked right out of the box, without any of the symlink issues that we had in the early days. You could deploy your apps, get a full experience, and build all the apps you want to.
In v0.8, we were working to make node production-ready on Windows itself. Imagine if you could profile your applications live and get results as you're going, without doing anything special to make that happen. Right now this is a work in progress, but it will happen in the next couple months. I talked a little bit about the interoperability team at Microsoft. All this work has led Microsoft to be able to turn on a dime and really help the community. Microsoft Open Tech is a subdivision which works with open source projects and accept patches to apply to Microsoft products.
What is Microsoft doing with Node? One of the big things is Windows Azure, our cloud hosting platform. That's one of our biggest areas of investment in node. We've spun up a full team, including Glen Block and a few others. This team provides tooling, SDKs and everything you'll need to be successful. We have deployment tools that work on Windows, Mac and Linux, which we've written in node. We also provide SDK services to interact with storage APIs, etc. Even if you're hosting on, say, Heroku, you can still access the Azure services. We host everything on npm, and Azure is on GitHub, and we take pull requests.
At Node Summit, we had a corporate VP (Scott Guthrie) give a keynote where he developed an application using the cloud 9 IDE and deployed to Azure on a Mac. So you can have a great experience on any platform.
What made this work is the right conversation at the right time, including Ryan asking for Windows support and the Joyent team working with us. This is kind of a turning point for us, and we're starting to see these deep engagements with open-source projects. Let's work together to find these opportunities to see where Microsoft can really help you. This is just the start!