GitXplorerGitXplorer
b

OrleansOnAzureContainerApps

public
20 stars
5 forks
0 issues

Commits

List of commits on branch main.
Unverified
e6b1c0957069c8224201ca44735482a4b3dedbb0

tweaks to open ports, pulled in new infra code

bbradygaster committed 3 years ago
Verified
22ac57c5e2a10cde6810276251266040a072c0fa

Merge pull request #2 from bjorkstromm/patch-2

bbradygaster committed 3 years ago
Unverified
a0969fc0c2b68ac9d1a353e79455100a0f04899e

Remove 'ingress.internal' as it doesn't exist

bbjorkstromm committed 3 years ago
Verified
3f96ecebf0639712d329e6ac4c11ee77065c8611

Merge pull request #1 from bjorkstromm/patch-1

bbradygaster committed 3 years ago
Verified
a5716f10857bb0e91a24c9466e2a61fe5369a448

Allow external ingress on silo

bbjorkstromm committed 3 years ago
Verified
ee5adb0c64e16afb81d156fc10cc8fc490ff5e9b

Add min replicas, and default to one

bbjorkstromm committed 3 years ago

README

The README file for this repository.

Orleans Silo + Client on Azure Container Apps

This repository contains a simple solution with an Orleans Silo and an Orleans Client project. Both are deployed to an Azure Container Apps environment, using Azure Storage clustering. The folders off of the root are described below:

  • Orleans.Azure.Infrastructure - an experimental project designed to support hosting Orleans Silos in Azure App Service or Container Apps with little wire-up.
  • OrleansOnContainerApps.Abstractions - project containing the Grain interfaces.
  • OrleansOnContainerApps.Grains - project containing the Grain implementations.
  • OrleansOnContainerApps.Silo - a simple ASP.NET Core project that hosts the Orleans silo.
  • OrleansOnContainerApps.Client - a simple ASP.NET Core Razor project that serves as a client to the silo and provides a simple user interface.
  • deploy folder - this folder contains a series of Azure Bicep templates that can be used to create the application and deploy it.
  • setup.ps1 - this file is a one-stop way for you to deploy the app to your own Azure subscription so you can try the scenario.

Prerequisites

  • .NET 6.0
  • The Azure CLI
  • An Azure subscription
  • Docker
  • PowerShell (GitHub Actions will replace this prerequisite soon)

To install the Azure Container Apps CLI commands until they are pre-installed in the Azure CLI, as documented in the Azure Container Apps official docs, execute this command:

az extension add --source https://workerappscliextension.blob.core.windows.net/azure-cli-extension/containerapp-0.2.0-py2.py3-none-any.whl

Setup

  1. Clone this repository.
  2. Sign in to your Azure subscription using the az login command.
  3. If you have more than 1 Azure subscription, make sure you're targeting the right Azure subscription by using the az account show and az account set -s <subscription-id> commands.
  4. From the root of this repository, run ./setup.ps1.

Topology diagram

The resultant application is an Azure Container Environment-hosted set of containers - the silo, and the client Razor Pages front-end.

Topology diagram