Development

Running io.js on Azure

20 Feb 2015 12:05pm, by

The open source-friendly nature of Microsoft’s Azure cloud platform is well known. But what’s perhaps a little less obvious is its support for newer open source tools that aren’t yet widely in use. One such new tool that can be used with Azure Web sites is io.js.

Initially a fork of node.js, io.js is intended to have a more open governance model and deliver updates faster. While there’s been some controversy over the fork – with many of the io.js contributors having been involved with node.js – the intent is to work without corporate sponsorship. The original sponsor of node.js’ development, Joyent, owns the trademarks, and some developers had felt that new builds weren’t being delivered as quickly as they might be. Combined with a switch to a new advisory board governance model, where power shifted to bigger companies rather than individual developers, a fork was probably inevitable.

The io.js team is also tying their release cycle more closely to that of the underlying V8 JavaScript engine, letting their server take advantage of any performance improvements Google makes (as well as new and experimental JavaScript features, including support for the new ECMAscript 6 standard.) It’s also npm compatible, so you can run your existing node apps or use MVC frameworks like Express.

Support for io.js on Azure isn’t completely official, though it uses existing mechanisms to install the io.js runtime. Detailed in a blog post by Microsoft’s Felix Rieseberg, the process builds on Azure’s existing node.js support and tools, which let you add your own node.js binaries to an Azure Web site alongside the pre-installed node.js versions.

Installing io.js is easy, thanks to a Github hosted deployment script. All you need to do is copy its files to the root of your Azure-hosted Web application, and run the deployment script. This will download and install io.js: ready to run. You can re-run the script to update io.js when a new version is released – which will be a lot more often than node.js updates!

It’s good to see Microsoft simplifying the process of working with new open Web technologies on Azure. Scripts like this, while not supported directly, make it possible for developers to experiment with new technologies without affecting production systems. Sharing scripts through Github is an important development, as it gives developers the option of modifying and updating scripts – and for the io.js team to fork the script and adopt it as part of their distribution tools.

As io.js matures, we look forward to its adoption by Azure on a more formal basis. Until then, scripts like this are a good start. It’s an approach that bodes well for the future of Azure, and for its relationship with the open source community.

Featured image via Flickr Creative Commons.

A newsletter digest of the week’s most important stories & analyses.