Repolode
dotnet

dotnet/orleans

A cross-platform .NET framework for building distributed, scalable cloud applications using the virtual actor model.

Stars
10,913
Forks
2,148
Open issues
645
Last commit
3 hours ago

What is it?

Orleans brings familiar .NET concepts such as objects, interfaces, async/await and exceptions to distributed systems. Developers model application entities as grains, which have a stable identity, behavior and optional state. The Orleans runtime activates grains on demand, deactivates idle ones, and locates them across a cluster of silos, so calling code does not need to know which server hosts a given grain.

Grains can store state in any storage system, and support features such as timers, durable reminders, distributed ACID transactions with serializable isolation, managed streams backed by queues like Azure Event Hubs or Amazon Kinesis, and configurable grain placement. Clusters can scale from a single silo to many and recover from silo failures.

Orleans runs on Windows, Linux and macOS with .NET Standard 2.0 and newer .NET runtimes, and can be deployed to Kubernetes, virtual or physical machines, or PaaS services such as Azure App Service.

Key features

  • 01Grains with stable identity and optional persistent state stored in any storage system
  • 02Distributed ACID transactions with serializable isolation and no central coordinator
  • 03Managed streams backed by queueing services such as Azure Event Hubs and Amazon Kinesis
  • 04Durable reminders and non-durable timers for scheduled work
  • 05Configurable grain placement policies and grain interface versioning
  • 06Grain call filters for authorization, logging and error handling

Use cases

  • Building IoT backends where each device is modeled as a digital twin grain
  • Creating stateful, low-latency cloud services that scale out across multiple servers
  • Processing near-real-time event streams with checkpointed consumers
  • Migrating single-server .NET applications toward resilient distributed services

Things to know

  • Requires the .NET ecosystem and C# to build applications with it.
  • It is a framework for distributed applications, so running a cluster adds setup and operations effort compared with a single-process app.

In collections

Topics

FAQ

What is orleans?
A cross-platform .NET framework for building distributed, scalable cloud applications using the virtual actor model. Orleans brings familiar .NET concepts such as objects, interfaces, async/await and exceptions to distributed systems. Developers model application entities as grains, which have a stable identity, behavior and optional state. The Orleans runtime activates grains on demand, deactivates idle ones, and locates them across a cluster of silos, so calling code does not need to know which server hosts a given grain.
Is orleans free to use? What license does it have?
orleans is open source under the MIT license. Check the license terms before using it in commercial products.
Is orleans still maintained?
Actively maintained. The last commit to orleans was on Oct 24, 2026.
What can I use orleans for?
Building IoT backends where each device is modeled as a digital twin grain Creating stateful, low-latency cloud services that scale out across multiple servers Processing near-real-time event streams with checkpointed consumers Migrating single-server .NET applications toward resilient distributed services
Where can I get orleans?
The source code and installation instructions are on GitHub: https://github.com/dotnet/orleans

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects