Giter Site home page Giter Site logo

tjoudeh / taskstracker.containerapps Goto Github PK

View Code? Open in Web Editor NEW
42.0 3.0 23.0 1.07 MB

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

Home Page: https://bit.ly/ACATutorial

C# 56.02% Dockerfile 3.21% HTML 11.49% CSS 1.25% JavaScript 0.27% Bicep 27.76%
azure azure-cosmosdb containerapps dapr dapr-component dapr-pub-sub dapr-sidecar kubernetes azure-container-apps container-apps

taskstracker.containerapps's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.