Microsoft's 'Orleans' cloud programming model gets a Halo test drive

Microsoft's 'Orleans' cloud programming model gets a Halo test drive

Summary: Remember Microsoft Research's Orleans cloud-programming project? The Halo team at Microsoft does.

TOPICS: Cloud, Microsoft, Windows

Whenever anyone from Microsoft describes a Microsoft Research project, there's almost always a disclaimer -- specifically, "There's no guarantee when and if this technology will ever see the commercial light of day."


Given that caveat, it's interesting when a Microsoft Research project takes a step forward. Recently, that seems to have happened with "Orleans," a cloud-programming model I last blogged about back in 2010.

When perusing the end-of-year research roundups, I found this interesting tidbit buried in the eXtreme Computing Group's list of accomplishments for 2012:

"The cloud-systems team celebrated a year of successful deployment of its distributed cloud technology—Orleans—in production for Microsoft’s Halo team, and the team has scaled its system very significantly since then."

That's one pretty impressive proof-of-concept demo.

Orleans, as Microsoft officials themselves have described it, "offers a simple programming model build around grains, a unit of computation with private and shared state that communicates exclusively by sending messages to other grains and receiving and replying to requests from clients. Combined with the Orleans runtime, which provides functionality commonly used in this type of system, Orleans raises the level of abstraction and helps developers build scalable correct Cloud applications."

The (non-fiscal) Cliff Notes version: On the run-time front, Orleans is to Windows Azure approximately as the Common Language Runtime (CLR) is to Windows.

As the Microsoft researchers note on their page about Orleans: "Orleans provides direct support for the .NET programming model. We use standard .NET languages with custom attributes (currently C# is supported; we are working on F#)."

There's still no word as to when or how the eXtreme Computing Group will bring Orleans to market. Will it be internally used infrastructure only? Or will it be made available to any/all Windows Azure customers at some point? Stay tuned....

Topics: Cloud, Microsoft, Windows


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • It supports .Net languages?

    That list is currently made up of one entry - C#. So how does a single language merit a plural reference?
    • Nope

      There are several .NET languages. C#, F#, Visual Basic, Visual C++, PowerShell are a few. A quick trip to the MSDN site (or just entering a search in Google) could have saved you from looking stupid.
      Big Sparky
      • Language priorities

        C# first F# second. Hmmmmm.

        VB.Net support sometime after that I guess or will it be TypeScript next?
      • dinomutt is correct ...

        The quote is that Orleans uses "standard .NET languages." Note the plural. But, then it goes on to quote only one one of them as being currently supported. So, dinomutt's question is valid.
  • All you need

    Is a fiber optic connection to make it responsive enough to use.
  • Grains? Why must there be new terminology when the platform is different?

    Grains sounds very similar to processes, which receive requests from clients. The "grains" sound like the processes in the server, which can communicate with other processes, and all of them are serving the clients' requests. IOW, client/server, but for the cloud.

    But, because it's a "new" paradigm, we can't use the old terminology, can we? That "new" computing platform sounds very much like the old mainframe/terminal computing environment of 20 to 50 years ago.