Deploy and operate Orleans
An Orleans production deployment is a cluster of silo processes, optionally with separate Orleans clients. Silos communicate directly with each other over TCP. Clients discover gateways through the configured clustering provider and connect to those gateways.
Orleans manages grain activation and cluster membership, but the hosting platform remains responsible for process supervision, networking, health probes, secrets, resource allocation, and controlled rollout. A production design also needs durable grain state where the application requires it.
Review the Orleans security model before choosing the client, network, provider, and administrative boundaries for a production deployment.
Start the application
Section titled “Start the application”Configure a silo on the .NET Generic Host with UseOrleans, then build and run the host with RunAsync. For a separate client process, use UseOrleansClient and run that host the same way. Starting the host starts the silo or connects the client; stopping it coordinates a graceful Orleans shutdown.
See Server configuration and Client configuration for compiled examples.
Follow the deployment walkthrough
Section titled “Follow the deployment walkthrough”Deploy an Orleans application to Azure Container Apps takes you from an empty directory to a running multi-process cluster, then through code-based production configuration, deployment, observability, and verification. The sample’s application code, infrastructure, and deployment workflow are validated together.
For an existing application, use the walkthrough as a sequence:
- Host silos and external clients on the .NET Generic Host.
- Configure cluster identity, providers, credentials, and endpoints in code from deployment-supplied configuration.
- Choose a platform which gives every silo a unique, directly reachable endpoint.
- Deploy multiple silos with health probes, telemetry, resource policies, and a graceful termination deadline.
- Verify membership, TCP reachability, grain calls, provider state, failure behavior, and rolling replacement before admitting production traffic.
Operations track
Section titled “Operations track”Use these articles together:
- Production-readiness checklist - Review the decisions required before launch.
- Operate a production cluster - Control configuration, perform maintenance, exercise recovery, and maintain runbooks.
- Topology and networking - Configure listening and advertised endpoints, firewalls, and clustering.
- Health and observability - Design startup, readiness, liveness, dependency health, telemetry, and alerts.
- Graceful shutdown and upgrades - Drain instances, scale in, and perform rolling or blue-green releases.
- Capacity planning and scaling - Size silos, set resource policies, and validate scaling behavior.
- Backup, restore, and disaster recovery - Protect application state and recover clusters safely.
- Failure handling - Design grain calls for unknown outcomes, idempotency, and bounded retries.
- Troubleshoot deployments - Triage incidents using membership, networking, dependencies, and telemetry.
Choose a platform
Section titled “Choose a platform”- Azure Container Apps deployment walkthrough and sample
- Containers across multiple hosts
- Kubernetes
- Service Fabric
- Azure App Service on Windows
- Azure App Service on Linux
- Azure Container Apps
- Other orchestrators, virtual machines, or bare-metal hosts that satisfy the platform requirements
For application configuration, see Server configuration, Client configuration, and Typical configurations.
