Orleans is a flexible platform for building distributed applications.
Orleans, by itself, does not mandate or recommend a specific configuration or deployment strategy. This is how it should be, as Orleans needs to support the widest variety of use-cases and provide the highest degree of flexibility.
In practice, however, this flexibility may present a beginner with too many choices and too much ceremony - taking focus away from the joy of using Orleans!
This does not have to be the case at all! Orleans does not, in reality, require a steep learning curve.
This library attempts to provide a simple, boilerplate free foundation on which to get started with Orleans, with pragmatic defaults and extension points, allowing a developer to focus on grain design and testing whilst providing opinionated guidance around the real-world concerns of configuration, packaging, service presentation and deployment.
Using this library is best done by interacting with the working bits published to Nuget. This will allow you to focus on building Orleans applications in your choice of idiomatic C# or F# with the least ceremony.
Getting started is easy. Follow the QuickStart Guide:
1. Install the templates
dotnet new --install Orleans.Contrib.UniversalSilo.Templates
2. Create an application with a name like
$ dotnet new orleans-webapi --name HelloOrleansWorld The template "Orleans: WebAPI Direct Client" was created successfully.
This will create a fully-functional C# application in the
You can also choose to generate the project in F# by using the following command:
$ dotnet new orleans-webapi --name HelloOrleansWorld --language F# The template "Orleans: WebAPI Direct Client" was created successfully.
Table of Contents
- Installing the Orleans UniversalSilo Templates
- Creating a Silo with a WebAPI interface
- Simple Configuration
Running Your Application
Developing Your Application
Configuring Your Application
- Configuration Order
Extending Your Application
- Extending the Silo
- Extending the Webapi FrontEnd
- Extending the Client
Building and Packaging Your Application
- As a .NET Core Application
- As a Docker Image
Deploying Your Application
- On AKS
- Using Tye
- On Github
- On Azure Pipelines