When Windows Azure was launched in 2008, it was with the intention, Microsoft said, of running .NET Framework applications from the cloud. What ended up happening was that the PaaS market matured much faster than anyone in 2008 could have anticipated, so any cloud apps platform that needs to stay competitive must run with the languages the development world is using.
Hosted JavaScript certainly was in Microsoft’s original plans, but JavaScript that runs as a host, was not. For a company that has historically been incapable of turning on a dime, though, it’s executing a pretty impressive course change with Azure. Last June, the company helped the Joyent open source team to port its Node.js stand-alone JavaScript server to Windows. And yesterday, Microsoft announced it has completed its addition of Node.js support to Azure, meaning that any developer can launch a server-based JavaScript app from Microsoft’s cloud in minutes.
Node.js is designed to be almost instantaneous, with its contributors demonstrating fully functional app deployments in mere minutes. One of the facilitators of this rapid time-to-deployment is a set of frameworks called Express, which make the deployment of a Node.js server almost turnkey in nature. It lets you generate the principal framework in just seconds, and from there build public functions that get resolved as RESTful API calls via HTTP.
Though Azure has its own, “wizard-like” way of deploying apps that’s more familiar to long-time Windows developers, that’s a new dance entirely for folks in the open source realm. So yesterday, Microsoft published a set of tutorials featuring two methods to deploy a Node.js application in Azure, the second of which features the tools and frameworks with which Node.js devs are already familiar, including Express.
Both deployment methods utilize the new Node Package Manager (npm) for Windows, which is designed to be installed using Microsoft’s command-line tool of choice (at last), PowerShell. This tool was released yesterday, along with Microsoft’s complete SDK for Node.js on Azure, not on CodePlex – which is the company’s own distribution source for open source software – but instead through GitHub, which is more widely embraced by the OSS community.
That little concession, along with the fact that Microsoft’s demos did not involve a single branded, commercial development tool (outside of Windows itself, of course) suggests that the company is learning that the way to invite open source devs is to first accept the invitations they have received.
Yesterday’s Node.js news was coupled with Microsoft’s simultaneous release of its limited technology preview of Apache Hadoop for Azure and Windows Server. This in keeping with the company’s Hortonworks partnership announcement last October. The warning posted to the Microsoft Connect distribution point for this CTP made it very clear that this particular build was not ready for prime time.
It was never actually impossible for folks to deploy Hadoop to Azure, as had earlier been admitted by this blog post last May by Microsoft’s Mario Kosmiskas. For now, the company continues to point to this post as its official instructions for installing and deploying Hadoop to Azure, although it’s clear that this could probably change in the coming months.
When Azure was first conceived, it was with the idea that enterprise-class applications would relocate to the cloud and, in so doing, adopt the .NET Framework. In a statement to RWW this morning, IDC’s program director for applications development software Al Hilwa said he believes something else is happening instead, and that it’s a good thing after all for Microsoft and everyone involved.
“Microsoft realizes that we are still in the early stage for cloud application platforms adoption, and a pragmatic approach to appeal to a wider chunk of the developer community is important,” remarks Hilwa. “Azure is an innovative platform which takes a fresh approach towards programming models from the traditional on-premise model. But this very exact innovation has made it hard for existing enterprise workloads to take advantage to Azure. Instead, PaaS platforms from other vendors are battling for new workloads that are the back-ends of new-age mobile, social, content and gaming apps, which are being driven by a much broader ecosystem of developers and ISVs than Microsoft’s traditional base of developers. The new capabilities in Azure, such as Node.js and Hadoop support, are designed to appeal to this new audience, as well as cash in on a more immediate opportunity, rather than wait for the pie in the sky migration of enterprise apps – which will take a lot longer.”