back to main page

by Felix Becker | Oct 13, 2014

Orleans: Microsoft's take on the actor pattern in .Net

Update: Orleans is now Open Source and available on GitHub https://github.com/dotnet/orleans

In September 2014 the Orleans Team anounced an update of their Developer Preview for the Orleans Framework. This is a good chance to look a Orleans and find out what is Orleans and where do I get started?

What is Orleans

After getting a glimpse in 2010 Microsoft released a CTP of their Orleans framework around Build 2014 . Orleans is a research project from Microsoft's Extreme Programing group and is meant to be a programming framework for the cloud. It's main purpose is to abstract away the burden of distributed systems and give developers a platform to concentrate on their business cases and not worrying about concurrency and distributed transactions and many more things related to distributed and cloud systems.

It is finally an official approach from Microsoft to cover the actor pattern. If you happen to look outside of the .Net space and look for scaleability on large message based systems you should have come across the actor pattern. Some of the well know implementations are Erlangs Actor model or Akka in the Scala space.

But what is an actor?

An actor is a small (lightweight) independend object. Actors life in single thread and can also hold state. They can mutate but only their private state no common shared state between other Actors. But Actors can communicate with each other via async messages. And the creation of an actor is controlled by the runtime which could be in one process, on one machine or spread over serveral machines. A more general introduction can also be found on wiki.
In fact these are all good incredients for distributed, concurrent systems. This is by all means no official definition but a good way how I defined it for myself and how to get started.

Back to Orleans!

The main concepts of Orleans can be summed up like this:

If your are interessted to find out more you should check out following links.

More information here

You can find the orleans project page here

A show case talk at build 2014 demonstrating Orleans use on the Halo 4 back end can be found here

Right now the home of Orleans is on codeplex

Listen to .Dot Net Rocks! Episode #969 Microsoft Orleans with Richard Astbury

What's new with the refresh from September 2014

To find all details check out the What's new Post by the Orleans Team. But the most interesting thing is for sure that they relaxed the license situation. Screenshot from the What's new Post.
Screenshot License Change

This is an exciting project. I am looking forward to see more and will definetly have an open eye on it.

Update: Orleans is now Open Source and available on GitHub https://github.com/dotnet/orleans

back to main page