Orleans (software framework)

Last updated
Orleans
Original author(s) Microsoft Research
Developer(s) Microsoft, 343 Industries
Initial releaseJanuary 2015;9 years ago (2015-01)
Stable release
8.0.0 / January 5, 2024;2 months ago (2024-01-05) [1]
Repository github.com/dotnet/orleans
Written in C#
Operating system Windows, Linux, macOS
Platform .NET Framework,
.NET
Type Software framework
License MIT License
Website dotnet.github.io/orleans/

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.

Contents

Overview

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]

  1. A virtual actor always exists, it cannot be explicitly created or destroyed.
  2. 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.
  3. The server that an actor is on is transparent to the application code.
  4. 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

Some Orleans features include: [11]

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

Related Research Articles

The actor model in computer science is a mathematical model of concurrent computation that treats an actor as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other indirectly through messaging.

<span class="mw-page-title-main">Mahadev Satyanarayanan</span> Indian experimental computer scientist

Mahadev "Satya" Satyanarayanan is an Indian experimental computer scientist, an ACM and IEEE fellow, and the Carnegie Group Professor of Computer Science at Carnegie Mellon University (CMU).

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

Google App Engine is a cloud computing platform as a service for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.

<span class="mw-page-title-main">Microsoft Azure</span> Cloud computing platform by Microsoft

Microsoft Azure, often referred to as Azure, is a cloud computing platform run by Microsoft. It offers access, management, and the development of applications and services through global data centers. It also provides a range of capabilities, including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Microsoft Azure supports many programming languages, tools, and frameworks, including Microsoft-specific and third-party software and systems.

NuGet is a package manager, primarily used for packaging and distributing software written using .NET and the .NET framework. The Outercurve Foundation initially created it under the name NuPack. Since its introduction in 2010, NuGet has evolved into a larger ecosystem of tools and services, including a free and open-source client application, hosted package servers, and software deployment tools.

Ignacio Martín Llorente is an entrepreneur, researcher and educator in the field of cloud and distributed computing. He is the director of OpenNebula, a visiting scholar at Harvard University and a full professor at Complutense University. Dr. Llorente is a IEEE Senior Member. He holds a Ph.D in Computer Science from UCM and an Executive MBA from IE Business School.

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first released in 2013 and is developed by Docker, Inc.

In computing, Hazelcast is a unified real-time data platform based on Java that combines a fast data store with stream processing. It is also the name of the company developing the product. The Hazelcast company is funded by venture capital and headquartered in Palo Alto, California.

ASP.NET Core is an open-source modular web-application framework. It is a redesign of ASP.NET that unites the previously separate ASP.NET MVC and ASP.NET Web API into a single programming model. Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET. The ASP.NET Core framework supports side-by-side versioning so that different applications being developed on a single machine can target different versions of ASP.NET Core. This was not possible with previous versions of ASP.NET. ASP.NET Core initially ran on both the Windows-only .NET Framework and the cross-platform .NET. However, support for the .NET Framework was dropped beginning with ASP.Net Core 3.0.

<span class="mw-page-title-main">.NET</span> Free and open-source software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

<span class="mw-page-title-main">Electron (software framework)</span> Development framework built on Chromium

Electron is a free and open-source software framework developed and maintained by OpenJS Foundation. The framework is designed to create desktop applications using web technologies that are rendered using a version of the Chromium browser engine and a back end using the Node.js runtime environment. It also uses various APIs to enable functionality such as native integration with Node.js services and an inter-process communication module.

CloudSim is a framework for modeling and simulation of cloud computing infrastructures and services. Originally built primarily at the Cloud Computing and Distributed Systems (CLOUDS) Laboratory, the University of Melbourne, Australia, CloudSim has become one of the most popular open source cloud simulators in the research and academia. CloudSim is completely written in Java. The latest version of CloudSim is CloudSim v6.0.0-beta on GitHub.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

Fluid is a free and open source computer platform for real-time collaboration across applications. Microsoft first demonstrated the software at its Build conference in May 2019 as a framework that would allow for real-time collaboration between users of its Office on the web online office suite. It replaces the concept of a "document" with a cloud address for real-time collaboration and sharing of content forms including text and tables. Microsoft expects to implement it in its Teams chat software, Outlook mail software, and other productivity software. It is designed for integration with other services, such as live translation and Cortana voice assistance. Public and private previews of the software began in November 2019. Microsoft open sourced the software in September 2020.

<span class="mw-page-title-main">Infer.NET</span> Microsoft open source library

Infer.NET is a free and open source .NET software library for machine learning. It supports running Bayesian inference in graphical models and can also be used for probabilistic programming.

Originally developed in 2019 by Microsoft under the name Coco and later rebranded to Confidential Consortium Framework (CCF), it is an open-source framework for the development of a new category of performant applications that focuses on the optimization of secure multi-party computation and data availability. Intended to accelerate the adoption of blockchain technology by enterprises, CCF can enable a variety of high-scale, confidential permissioned distributed ledger networks that meet key enterprise requirements.

<span class="mw-page-title-main">Dapr</span> Event-driven, portable runtime for building microservices on cloud and edge

Dapr is a free and open source runtime system designed to support cloud native and serverless computing. Its initial release supported SDKs and APIs for Java, .NET, Python, and Go, and targeted the Kubernetes cloud deployment system.

References

  1. "Tags · dotnet/orleans · GitHub". GitHub Orleans repository. Retrieved 2024-03-28.
  2. 1 2 Microsoft's Orleans Distributed App Framework Is Now Cross Platform - The New Stack
  3. Open-Source Cloud Framework By Microsoft - HPC ASIA
  4. Microsoft to release Project Orleans as open source | Computerworld
  5. Bernstein, Philip A.; Bykov, Sergey; Geller, Alan; Kliot, Gabriel; Thelin, Jorgen (2014). "Orleans: Distributed Virtual Actors for Programmability and Scalability" (PDF). Microsoft Research.
  6. Orleans at Microsoft | .NET Conf 2020
  7. Microsoft opens early adopter program for its 'Orleans' cloud framework | ZDNet
  8. Microsoft to make Halo 4 gaming cloud engine Project Orleans open source - SiliconANGLE
  9. "Dotnet/Orleans". GitHub . 17 February 2022.
  10. "Orleans benefits". learn.microsoft.com.
  11. "Introduction | Microsoft Orleans Documentation". Archived from the original on 2020-08-06. Retrieved 2019-11-01.
  12. Resurrecting Middle-Tier Distributed Transactions | Microsoft Research
  13. Distributed Transactions are dead, long live distributed transactions! | Reactive Summit 2018
  14. "Home · orbit-legacy/Orbit1 Wiki". GitHub .
  15. Gamasutra: Creating scalable backends for games using open source Orleans framework

Further reading