Skip to content

Sample repository to cover Azure Container Apps and Dapr Integration. Detailed tutorial can be found on the link below

Notifications You must be signed in to change notification settings

tjoudeh/TasksTracker.ContainerApps

Repository files navigation

Azure Container Apps use cases covered in this tutorial

Complete 10 posts tutorial where we will build a tasks management application following the microservices architecture pattern Live demo application, this application will consist of 3 microservices and each one has certain capabilities to show how Azure Container Apps and Dapr can simplify the building of a microservice application. Below is the architecture diagram of the application we are going to build in this tutorial: Azure Container Apps Architecture for building Microservices using dapr-1 Use cases which we will cover during this tutorial are:

  • Web App front-end application that accepts requests from users to manage their tasks.
  • Backend Web API which contains the business logic of tasks management service and data storage.
  • An event-driven backend processor which is responsible to send emails to tasks owners based on messages coming from Azure Service Bus Topic
  • Continuously running background processor to flag overdue tasks running continuously based on Cron timer configuration
  • Use Azure Container Registry to build and host container images and deploy images from ACR to Azure Container Apps

Dapr Integration with Azure Container Apps in this tutorial

Dapr provides a set of APIs that simplify the authoring of microservice applications, once Dapr is enabled in Azure Container Apps, it exposes its APIs via a sidecar (a process that runs together with each Azure Container App), The Dapr APIs/Building blocks used in this tutorial are:

  • Service to service invocation: Web front-end app microservice invokes the backend API microservice using Dapr sidecar
  • State management: Backend API stores data on Azure Cosmos DB and some email logs on Azure Table Storage using Dapr state management building blocks
  • Pub/Sub: Backend API publishes messages to Azure Service Bus when a task is saved and the backend processor consumes those messages and sends an email using SendGrid
  • Bindings: The backend processor is triggered based on an incoming event such as a Cron job