<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Taiseer Joudeh</title>
    <description>The latest articles on DEV Community by Taiseer Joudeh (@tjoudeh).</description>
    <link>https://dev.to/tjoudeh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F921596%2F0bbf91af-bade-4ea5-b75a-b7a03a200451.jpeg</url>
      <title>DEV Community: Taiseer Joudeh</title>
      <link>https://dev.to/tjoudeh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tjoudeh"/>
    <language>en</language>
    <item>
      <title>Practical Azure Container Apps with Dapr</title>
      <dc:creator>Taiseer Joudeh</dc:creator>
      <pubDate>Mon, 26 Sep 2022 09:20:24 +0000</pubDate>
      <link>https://dev.to/tjoudeh/practical-azure-container-apps-with-dapr-2hf2</link>
      <guid>https://dev.to/tjoudeh/practical-azure-container-apps-with-dapr-2hf2</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This post is originally posted at &lt;a href="https://medium.com/@taiseer.joudeh/practical-azure-container-apps-with-dapr-f2d9b5ea1f82"&gt;medium.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Azure Container Apps is a fully managed serverless container runtime for building and running cloud-native applications which focuses on the business logic of the apps rather than on cloud infrastructure management.&lt;/p&gt;

&lt;p&gt;Azure Container Apps is built upon the foundation consisting of open-source technology with CNCF projects like Kubernetes Event-Driven Autoscaling (&lt;a href="https://keda.sh/"&gt;KEDA&lt;/a&gt;), Distributed Application Runtime (&lt;a href="https://dapr.io/"&gt;Dapr&lt;/a&gt;), and &lt;a href="https://www.envoyproxy.io/"&gt;Envoy&lt;/a&gt; running on the Azure Kubernetes Service (&lt;a href="https://azure.microsoft.com/en-us/services/kubernetes-service/#overview"&gt;AKS&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;During the past month, I spent quite a time digging deeper and learning more about this serverless offering.&lt;/p&gt;

&lt;p&gt;Theoretical learning is great, but nothing beats a practical example! So I've created a simple microservice application (Tasks Management App) which consists of three microservices and each one has certain capabilities to show how Azure Container Apps and Dapr can simplify the building of a microservices application.&lt;/p&gt;

&lt;h4&gt;
  
  
  Complete practical example on &lt;a href="https://bit.ly/ACATutorial"&gt;my blog&lt;/a&gt;. The &lt;a href="https://github.com/tjoudeh/TasksTracker.ContainerApps"&gt;source code&lt;/a&gt; is available on GitHub.
&lt;/h4&gt;

&lt;p&gt;The below architecture diagram shows the solution components and services I'm using in this practical example&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YTyqfCw5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ud4uslw1cv7kdr0wys5u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YTyqfCw5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ud4uslw1cv7kdr0wys5u.jpg" alt="Azure Container Apps Architecture Diagram" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To help understand how I build the application from scratch, I have written various companion blog posts to describe the source code and walk you through the steps. &lt;/p&gt;

&lt;p&gt;The application use cases and Azure Container Apps features I will be covered are below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An overview of Azure Container Apps Components and Dapr and their core features and capabilities (&lt;a href="https://bitoftech.net/2022/08/25/tutorial-building-microservice-applications-azure-container-apps-dapr/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Getting started with Azure Container Apps, build and push container image to Azure Container Registry, then deploy your first Backend API microservice (&lt;a href="https://bitoftech.net/2022/08/25/deploy-microservice-application-azure-container-apps/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Communication between two microservices (without Dapr) and different options for ingress configurations (&lt;a href="https://bitoftech.net/2022/08/25/communication-microservices-azure-container-apps/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introducing Dapr into the application and how it will help simplify complex microservices scenarios such as service discovery, service-to-service invocation, and calling services asynchronously (&lt;a href="https://bitoftech.net/2022/08/29/dapr-integration-with-azure-container-apps/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Enable local debugging for multiple microservices applications within VS Code and configure Dapr locally (&lt;a href="https://bitoftech.net/2022/08/29/dapr-integration-with-azure-container-apps/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Using Dapr State Management Building Block to store application data into Azure Cosmos DB with simple configurations and without adding CosmosDB SDK to the application (&lt;a href="https://bitoftech.net/2022/08/29/azure-container-apps-state-store-with-dapr-state-management-api/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Using Dapr Pub/Sub Building Block to enable Async communication between microservices while using Azure Service Bus as a service broker, and see how Dapr will simplify the process on the producer and consumer too (&lt;a href="https://bitoftech.net/2022/09/02/azure-container-apps-async-communication-with-dapr-pub-sub-api-part-6/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Handling external events from different systems and showing the connectivity and interoperability capabilities when introducing Dapr Bindings (&lt;a href="https://bitoftech.net/2022/09/05/azure-container-apps-with-dapr-bindings-building-block/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Introducing Cron binding to trigger application code periodically based on a configurable interval and store processing results Azure Blob Storage using Dapr State Management API (&lt;a href="https://bitoftech.net/2022/09/05/azure-container-apps-with-dapr-bindings-building-block/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Configure Monitoring and Observability for all applications in the Azure Container App Environment and implement distributed tracing between services and resources using Application Insights (&lt;a href="https://bitoftech.net/2022/09/09/azure-container-apps-monitoring-and-observability-with-application-insights-part-8/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Use GitHub actions to continuously build, push images to ACR and deploy new Azure Container Apps revisions with code changes (&lt;a href="https://bitoftech.net/2022/09/13/continuous-deployment-for-azure-container-apps-using-github-actions-part-9/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Creating the IaC scripts to recreate the entire ACA environment with the supporting resources (Azure Service Bus, Cosmos DB, Azure storage, etc…) using Bicep (&lt;a href="https://bitoftech.net/2022/09/16/use-bicep-to-deploy-dapr-microservices-apps-to-azure-container-apps-part-10/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Configuring Autoscaling for Azure Container Apps using KEDA based on Azure Service Bus Queue length (&lt;a href="https://bitoftech.net/2022/09/22/azure-container-apps-auto-scaling-with-keda-part-11/"&gt;continue reading…&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Integrating Health probes in Azure Container Apps (TBA)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will be adding more posts such as Authentication, services invocation using gRPC, file storage mounting, and using vNETs during the coming period, so stay tuned and thanks for reading.&lt;/p&gt;

&lt;p&gt;Happy learning and coding!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unsplash.com/photos/bukjsECgmeU?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditShareLink"&gt;Featured Image Credit&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>containerapps</category>
      <category>dotnet</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
