The 6 Best Ways to Run Microsoft's .NET in the Cloud

In programming circles, there’s been a steady emphasis on platforms that support Ruby, Python and Node.js - and not as much attention paid to Microsoft .NET platform providers. That’s a real oversight given the enduring popularity of Microsoft languages.

For example, since Heroku was acquired by Salesforce.com in 2010, it has become the poster child of platform-as-a-service (PaaS) providers. Whenever a new PaaS launches, it gets called “the Heroku of X.” Before that, the comparison of choice was Google App Engine. Those honors are somewhat deserved, since those two services did practically invent the PaaS category as we know it.

But the .NET platform remains important, so let’s take a look at the options for running .NET applications in the cloud.

Windows Azure

Microsoft Windows Azure has been getting more attention lately for its efforts in open source than for its roots as a .NET PaaS. Microsoft has made PHP a first-class citizen on Azure, and has been porting Node.js to Windows specifically so it can run in the Azure environment. And last week’s announcement of Linux support on Azure infrastructure-as-a-service makes the fact that it can still run .NET applications almost an afterthought. Still, with "tens of thousands" of users and the legacy of being the service from the company that invented .NET, Azure remains the most obvious choice for a public .NET PaaS. But there are, of course, other options.

Tier 3

Tier 3, which launched in 2006, was originally an Infrastructure as a Service (IaaS) provider, but it added a PaaS service called Web Fabric last month. Tier 3 also develops a fork of VMware’s PaaS Cloud Foundry called Iron Foundry, which adds support for .NET to the existing open source platform and can be used for private clouds. Web Fabric is still relatively new, but it’s based on an open source platform. By building on Cloud Foundry, Tier 3 has created a polyglot platform that supports all the languages the original projects support, including Java, Ruby and Node.js. You can find the source code on Github.

AppHarbor

AppHarbor, which launched last year, is a slightly more established public .NET PaaS running on Amazon Web Services infrastructure with support for Git, (including Github for Windows) and Mercurial. One big differentiator for the company is the built-in support for unit tests. Developers just upload their code, and any unit tests included are automatically run.

“Generally most of the PaaS environments run in a way that you could add that capability, but it is a lot of work,” Tier 3 developer and PaaS enthusiast Adron Hall told ReadWriteWeb via email. “With AppHarbor a developer doesn’t even need to click a button to turn it on. I’m personally a HUGE fan of the fact that they do this.”

Uhuru

Uhuru is another newcomer, founded by former Microsoft executives. Like Tier 3, the company is running its own Cloud Foundry-based .NET PaaS called Uhuru.NET Services for Cloud Foundry. The source is on Github.

Apprenda

Apprenda was probably the first private .NET PaaS and sells a proprietary enterprise version along with a free-as-in-beer “express” version. In addition to running as a private PaaS, Apprenda can sync with Azure to enable a hybrid cloud environment.

Moncai

As of this writing Moncai hasn’t launched yet, but it does have a beta invite sign-up. The company bills itself as a .Net/Mono PaaS with support for both Git and Mercurial. It’s the only PaaS we’re aware of with Mono support.

Disclosure: Apprenda, Heroku, Tier 3 and VMware Cloud Foundry are among the sponsors of DeployCon, which paid Klint Finley’s travel expenses to moderate a panel.