Open Source Orleans ('Distributed .NET') Hits Version 3.0
Orleans, an open-source, cross-platform framework for building distributed applications with .NET that was created by Microsoft Research nine years ago, has been updated to version 3.0, with a new scheduler, code generator, co-hosting support and more.
Microsoft created Orleans in October 2010, and its core technology was donated to 343 Industries (developers of the Halo game franchise) and open sourced in 2015.
Its GitHub site says:
Orleans builds on the developer productivity of .NET and brings it to the world of distributed applications, such as cloud services. Orleans scales from a single on-premises server to globally distributed, highly-available applications in the cloud.
Orleans takes familiar concepts like objects, interfaces, async/await, and try/catch and extends them to multi-server environments. As such, it helps developers experienced with single-server applications transition to building resilient, scalable cloud services and other distributed applications. For this reason, Orleans has often been referred to as "Distributed .NET".
Major changes announced since the v2.0 release some 18 months ago were listed in a guest post on the Microsoft blog site as:
- Distributed ACID transactions — multiple grains can join a transaction regardless of where their state is stored
- A new scheduler, which alone increased performance by over 30% in some cases
- A new code generator based on Roslyn code analysis
- Rewritten cluster membership for improved recovery speed
- Co-hosting support
Also new is support for secure communications via TLS (Transport Layer Security), which entailed replacing the proect's networking layer with Project Bedrock from the Microsoft ASP.NET team, which woked with the Orleans dev team.
Along with co-hosting support enabled via the .NET Generic Host, the announcement post details reliability improvements, improved extensibility and more.
"These changes were driven by the experience of many people running Orleans-based applications in production in a wide range of scenarios and environments, and by the ingenuity and passion of the global Orleans community that always strives to make the codebase better, faster, and more flexible," said Reuben Bond, principal software development engineer on the Orleans dev team
David Ramel is an editor and writer for Converge360.