Demo used in Azure Friday on Azure Serverless on Kubernetes with KEDA episode.
We have an application that processes orders from a queue and schedules a shipment for every order.
To coop with the load, KEDA is used to automatically scale out/in based on the current workload and to optimize for cost.
Prerequisites
- Create an Azure Service Bus namespace with
orders
&shipments
queues - Install KEDA in your Kubernetes cluster (info)
Deploying the Azure Friday application
- Provide base64 encoded secrets in
deploy\deploy-app.yml
with your Service Bus connection strings for our app - Deploy the application with
kubectl apply -f deploy\deploy-app.yml
Autoscaling our .NET Core Orders worker
- Provide base64 encoded secrets in
deploy\deploy-autoscaling-orders.yml
with your Service Bus connection strings for our autoscaling - Deploy the application with
kubectl apply -f deploy\deploy-autoscaling-orders.yml
Autoscaling our Shipments Azure Function
- Deploy the application with
kubectl apply -f deploy\deploy-autoscaling-shipments.yml
This demo is shared under MIT license but is mainly a fork of kedacore/sample-dotnet-worker-servicebus-queue which provides a walkthrough to scale .NET Core workloads with KEDA and includes various Service Bus authentication examples.