This repository is a demo for the Azure Container Apps. It showcases how to deploy a simple .Net core application consisting of two microservices a RabbitMQ Producer and a RabbitMQ Consumer.
The application architecture along with the main components used are shown below.
Azure container apps have native integration with Dapr and KEDA open source projects. this demo shows how to use Dapr and KEDA to scale the consumer app based on the messages in the RabbitMQ queue.
- Azure Subscription
- Azure Container Registry (ACR) to publish the container images
- Enable Azure Container Apps for your subscription
- Azure CLI
- Docker Desktop
- RabbitMQ cluster
Note: I am using a Azure Container Registry (ACR)
to publish the container images. You can use any container registry of your choice.
Follow the steps mentioned in the build container images to build the container images for TechTalks Producer and Consumer applications.
Follow the steps mentioned in the publish container images to registry to push the container images to the container registry.
We are now all set to deploy the application to Azure Container Apps.
Follow the steps mentioned in the create RabbitMQ cluster to create a RabbitMQ cluster.
If you have an existing RabbitMQ cluster, you can skip this step. In this case you will need to update the configuration for the Dapr Pubsub component to point to your RabbitMQ cluster. The same configuration needs to be updated for the KEDA autoscaler configuration.
Follow the steps mentioned in the configure RabbitMQ queue to configure the RabbitMQ queue.
Follow the steps mentioned in the enable Azure Container Apps to enable Azure Container Apps for your subscription.
Follow the steps mentioned in the Deploy RabbitMQ Producer and Consumer applications to Azure Container Apps to deploy the RabbitMQ Producer and Consumer applications to Azure Container Apps.
Follow the steps mentioned in the Test the Producer and Consumer apps to test the applications.
Follow the steps mentioned in the autoscale consumer using KEDA to enable KEDA for the Azure Container Apps.
Refer to the cleanup resources to delete the resources created for this demo.