Skip to content

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.

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.

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:

  1. Host silos and external clients on the .NET Generic Host.
  2. Configure cluster identity, providers, credentials, and endpoints in code from deployment-supplied configuration.
  3. Choose a platform which gives every silo a unique, directly reachable endpoint.
  4. Deploy multiple silos with health probes, telemetry, resource policies, and a graceful termination deadline.
  5. Verify membership, TCP reachability, grain calls, provider state, failure behavior, and rolling replacement before admitting production traffic.

Use these articles together:

  1. Production-readiness checklist - Review the decisions required before launch.
  2. Operate a production cluster - Control configuration, perform maintenance, exercise recovery, and maintain runbooks.
  3. Topology and networking - Configure listening and advertised endpoints, firewalls, and clustering.
  4. Health and observability - Design startup, readiness, liveness, dependency health, telemetry, and alerts.
  5. Graceful shutdown and upgrades - Drain instances, scale in, and perform rolling or blue-green releases.
  6. Capacity planning and scaling - Size silos, set resource policies, and validate scaling behavior.
  7. Backup, restore, and disaster recovery - Protect application state and recover clusters safely.
  8. Failure handling - Design grain calls for unknown outcomes, idempotency, and bounded retries.
  9. Troubleshoot deployments - Triage incidents using membership, networking, dependencies, and telemetry.

For application configuration, see Server configuration, Client configuration, and Typical configurations.