Orleans (software framework)
Original author(s) | Microsoft Research |
---|---|
Developer(s) | Microsoft, 343 Industries |
Initial release | January 2015 |
Stable release | 8.0.0
/ January 5, 2024[1] |
Repository | github |
Written in | C# |
Operating system | Windows, Linux, macOS |
Platform | .NET Framework, .NET |
Type | Software framework |
License | MIT License |
Website | dotnet |
Orleans is a cross-platform software framework for building scalable and robust distributed interactive applications based on the .NET Framework[2][3] or on the more recent .NET.
Overview
[edit]Orleans was originally created by the eXtreme Computing Group at Microsoft Research[2] and introduced the virtual actor model as a new approach to building distributed systems for the cloud. Orleans scales from a single on-premises server to highly-available and globally distributed applications in the cloud.[4]
The virtual actor model is based on the actor model but has several differences:[5]
- A virtual actor always exists, it cannot be explicitly created or destroyed.
- Virtual actors are automatically instantiated. If a server hosting an actor crashes, the next message sent to the actor causes it to be reinstantiated automatically.
- The server that an actor is on is transparent to the application code.
- Orleans can automatically create multiple instances of the same stateless actor.
Starting with cloud services for the Halo franchise, the framework has been used by a number of cloud services at Microsoft[6] and other companies since 2011.[7] The core Orleans technology was transferred to 343 Industries and is available as open source since January 2015.[8] The source code is licensed under MIT License and hosted on GitHub.[9]
Orleans runs on Microsoft Windows, Linux, and macOS and is compatible with .NET Standard 2.0 and above.[10]
Features
[edit]Some Orleans features include:[11]
- Persistence
- Distributed ACID transactions[12][13]
- Streams
- Timers & Reminders
- Fault tolerance
Related implementations
[edit]The Electronic Arts BioWare division created Project Orbit. It is a Java implementation of virtual actors that was heavily inspired by the Orleans project.[14][15]
See also
[edit]References
[edit]- ^ "Tags · dotnet/orleans · GitHub". GitHub Orleans repository. Retrieved 2024-03-28.
- ^ a b Microsoft's Orleans Distributed App Framework Is Now Cross Platform - The New Stack
- ^ Open-Source Cloud Framework By Microsoft - HPC ASIA
- ^ Microsoft to release Project Orleans as open source | Computerworld
- ^ Bernstein, Philip A.; Bykov, Sergey; Geller, Alan; Kliot, Gabriel; Thelin, Jorgen (2014). "Orleans: Distributed Virtual Actors for Programmability and Scalability" (PDF). Microsoft Research.
- ^ Orleans at Microsoft | .NET Conf 2020
- ^ Microsoft opens early adopter program for its 'Orleans' cloud framework | ZDNet
- ^ Microsoft to make Halo 4 gaming cloud engine Project Orleans open source - SiliconANGLE
- ^ "Dotnet/Orleans". GitHub. 17 February 2022.
- ^ "Orleans benefits". learn.microsoft.com. 3 July 2024.
- ^ "Introduction | Microsoft Orleans Documentation". Archived from the original on 2020-08-06. Retrieved 2019-11-01.
- ^ Resurrecting Middle-Tier Distributed Transactions | Microsoft Research
- ^ Distributed Transactions are dead, long live distributed transactions! | Reactive Summit 2018
- ^ "Home · orbit-legacy/Orbit1 Wiki". GitHub.
- ^ Gamasutra: Creating scalable backends for games using open source Orleans framework
Further reading
[edit]- Bykov, Sergey; Geller, Alan; Kliot, Gabriel; Larus, Jim; Pandya, Ravi; Thelin, Jorgen (2011). "Orleans: Cloud Computing for Everyone" (Document). Association for Computing Machinery.
- Bernstein, Philip A.; Bykov, Sergey; Geller, Alan; Kliot, Gabriel; Thelin, Jorgen (2014). "Orleans: Distributed Virtual Actors for Programmability and Scalability" (PDF). Microsoft Research.