Microsoft open sources cloud framework that powers Halo

Microsoft is continuing its open-source push, this time announcing that it will open source its Project Orleans cloud computing web framework. The framework has supposedly been “used extensively” in the Azure cloud and is best known for powering the first-person shooter video game Halo 4.

The Project Orleans framework, which was previously made available as a preview by Microsoft in April 2014, is built on .NET and was designed to make it easier for coders to develop cloud services that need to scale a lot. This makes sense given that Microsoft uses it for multiplayer-centric video games in which gamers are notified of what their friends are doing online and need their gaming statistics transmitted back and forth across thousands of servers in seconds.

Project Orleans is basically a distributed version of what’s known as the Actor Model, a type of concurrent computing model that names collections of software objects as actors that can communicate with one another and behave differently each time they get pinged to handle a request.

While there are already frameworks like Erlang and Akka in existence that take advantage of the Actor Model, users still have to do a whole lot of legwork in making sure that those actors stay online and can handle failure and recovery. The Project Orleans framework supposedly takes that complexity and actor management into account and lets users code distributed projects without having to worry about it.

From the Microsoft blog post:

[blockquote person=”Microsoft” attribution=”Microsoft”]First, an Orleans actor always exists, virtually. It cannot be explicitly created or destroyed. Its existence transcends the lifetime of any of its in-memory instantiations, and thus transcends the lifetime of any particular server. Second, Orleans actors are automatically instantiated: if there is no in-memory instance of an actor, a message sent to the actor causes a new instance to be created on an available server. An unused actor instance is automatically reclaimed as part of runtime resource management.

[company]Microsoft[/company] said the open sourcing of Project Orleans should be complete by early 2015; Microsoft Research will release the code under an MIT license and will post it on GitHub.