<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Azure Container Apps on Thorsten Hans</title>
		<link>https://thorsten-hans.com/tags/azure-container-apps/</link>
		<description>Recent content in Azure Container Apps on Thorsten Hans</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Mon, 17 Oct 2022 13:23:33 +0000</lastBuildDate>
		
			<atom:link href="https://thorsten-hans.com/tags/azure-container-apps/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Background Workers in Azure Container Apps with KEDA</title>
				<link>https://thorsten-hans.com/background-workers-in-azure-container-apps-with-keda/</link>
				<pubDate>Mon, 17 Oct 2022 13:23:33 +0000</pubDate>
				<guid>https://thorsten-hans.com/background-workers-in-azure-container-apps-with-keda/</guid>
				<description>&lt;p&gt;Azure Container Apps has quickly evolved and become one of the most popular platforms to run containerized workloads in Azure. This article will look at how to run Background Workers in Azure Container Apps leveraging built-in KEDA.&lt;/p&gt;&#xA;&lt;p&gt;Developers can use Azure Container Apps to run simple cloud-native applications leveraging popular underlying technologies like Kubernetes, Dapr, and KEDA. Before we dive into building and running a background worker in Azure Container Apps, let&amp;rsquo;s do a quick refresher on what KEDA is and what it can do for us.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to Deploy Azure Container Apps with Terraform</title>
				<link>https://thorsten-hans.com/deploy-azure-container-apps-with-terraform/</link>
				<pubDate>Fri, 12 Aug 2022 18:56:47 +0000</pubDate>
				<guid>https://thorsten-hans.com/deploy-azure-container-apps-with-terraform/</guid>
				<description>&lt;p&gt;Although we can provision and manage Azure Container Apps with Project Bicep (&lt;a href=&#34;https://www.thorsten-hans.com/how-to-deploy-azure-container-apps-with-bicep/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;as explained in this article&lt;/a&gt;&#xA;), people keep on asking how to manage their Azure Container Apps using HashiCorp Terraform. This article demonstrates how to provision Azure Container Apps with Terraform utilizing a combination of the well-known AzureRM provider (&lt;code&gt;azurerm&lt;/code&gt;) and the recently released AzAPI provider (&lt;code&gt;azapi&lt;/code&gt;).&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-the-azapi-provider&#34;&gt;What is the AzAPI provider&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#deploy-azure-container-apps-with-terraform&#34;&gt;Deploy Azure Container Apps with Terraform&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#bootstrap-the-project-with-azurerm-and-azapi-providers&#34;&gt;Bootstrap the project with &lt;code&gt;AzureRM&lt;/code&gt; and &lt;code&gt;AzAPI&lt;/code&gt; providers&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#authenticate-using-an-service-principal&#34;&gt;Authenticate using an Service Principal&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#create-locals-and-variables&#34;&gt;Create Locals and Variables&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#specify-resource-group-and-log-analytics-workspace-with-azurerm&#34;&gt;Specify Resource Group and Log Analytics Workspace with AzureRM&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#hands-on-use-the-azapi-provider&#34;&gt;Hands-on: Use the AzAPI provider&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#hint-vscode-extension-for-the-azapi-provider&#34;&gt;Hint: VSCode extension for the AzAPI provider&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#describe-the-azure-container-app-environment-with-azapi&#34;&gt;Describe the Azure Container App Environment with AzAPI&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#describe-the-azure-container-apps-with-azapi&#34;&gt;Describe the Azure Container Apps with AzAPI&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#provision-azure-container-apps-with-terraform&#34;&gt;Provision Azure Container Apps with Terraform&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-weve-covered-in-this-article&#34;&gt;What we&amp;rsquo;ve covered in this article&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Before we dive into provisioning a sample workload, let&amp;rsquo;s look at what the AzAPI provider is and how it works.&lt;/p&gt;</description>
			</item>
			<item>
				<title>az containerapp up - AKA amazing inner-loop performance</title>
				<link>https://thorsten-hans.com/az-containerapp-aka-amazing-loop-performance/</link>
				<pubDate>Fri, 29 Apr 2022 16:32:22 +0200</pubDate>
				<guid>https://thorsten-hans.com/az-containerapp-aka-amazing-loop-performance/</guid>
				<description>&lt;p&gt;The Azure Container App team released a new command to simplify the deployment process. With &lt;code&gt;az containerapp up&lt;/code&gt;, you can deploy your workload to Azure Container Apps (ACA) with &lt;strong&gt;one&lt;/strong&gt; command. This article demonstrates how to use &lt;code&gt;az containerapp up&lt;/code&gt; and how you can tailor its behavior to meet your requirements.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-does-az-containerapp-up-actually-do&#34;&gt;What does &lt;code&gt;az containerapp up&lt;/code&gt; actually do?&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#install-the-containerapp-extension-for-azure-cli&#34;&gt;Install the containerapp extension for Azure CLI&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#all-in-one-deployment-to-azure-container-apps&#34;&gt;All-in-one deployment to Azure Container Apps&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#tailored-deployments-aka-reusing-existing-dependencies&#34;&gt;Tailored Deployments (aka reusing existing dependencies)&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-to-use-existing-azure-container-registry-with-az-containerapp-up&#34;&gt;How to use existing Azure Container Registry with &lt;code&gt;az containerapp up&lt;/code&gt;&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-to-use-existing-azure-log-analytics-workspace-with-az-containerapp-up&#34;&gt;How to use existing Azure Log Analytics Workspace with &lt;code&gt;az containerapp up&lt;/code&gt;&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-to-deploy-to-an-existing-container-app-environment-with-az-containerapp-up&#34;&gt;How to deploy to an existing Container App Environment with &lt;code&gt;az containerapp up&lt;/code&gt;&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#further-customizations&#34;&gt;Further customizations&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#my-take-on-using-az-containerapp-up-for-continuous-deployment&#34;&gt;My take on using &lt;code&gt;az containerapp up&lt;/code&gt; for continuous deployment&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-we-have-covered-today&#34;&gt;What we have covered today&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#recap&#34;&gt;Recap&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;what-does-az-containerapp-up-actually-do&#34;&gt;What does &lt;code&gt;az containerapp up&lt;/code&gt; actually do?&lt;/h2&gt;&#xA;&lt;p&gt;You can think of &lt;code&gt;az containerapp up&lt;/code&gt; as a meta-command that will spin up all necessary resources to take your application source and run it in ACA. Under the covers, it does the following&lt;/p&gt;</description>
			</item>
			<item>
				<title>Managed Identities With Azure Container Apps</title>
				<link>https://thorsten-hans.com/managed-identities-with-azure-container-apps/</link>
				<pubDate>Thu, 14 Apr 2022 13:21:20 +0000</pubDate>
				<guid>https://thorsten-hans.com/managed-identities-with-azure-container-apps/</guid>
				<description>&lt;p&gt;Yesterday (13th of April 2022), we saw a couple of new features appearing in Azure Container Apps (ACA). This article will use managed identities with Azure Container Apps, which allows us to authenticate and rely on Role-Based Access Control (RBAC) when interacting with other Azure services. Before we dive into using managed identities in Azure Container Apps, let&amp;rsquo;s do a quick refresher about managed identities to bring everyone on track.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Custom health probes with Azure Container Apps</title>
				<link>https://thorsten-hans.com/custom-health-probes-with-azure-container-apps/</link>
				<pubDate>Fri, 25 Mar 2022 11:41:56 +0000</pubDate>
				<guid>https://thorsten-hans.com/custom-health-probes-with-azure-container-apps/</guid>
				<description>&lt;p&gt;In Kubernetes, individual probes like &lt;code&gt;liveness&lt;/code&gt;, &lt;code&gt;readiness&lt;/code&gt;, and &lt;code&gt;startup&lt;/code&gt; are mission-critical when deploying applications. Kubernetes uses probes to determine the health of containers in a &lt;em&gt;Pod&lt;/em&gt;. Kubernetes may restart &lt;em&gt;Pods&lt;/em&gt; because of failing probes. On top of that, Kubernetes uses probes to determine if a particular container can deal with incoming requests. Kubernetes &lt;em&gt;Services&lt;/em&gt; will route incoming requests to containers that made it to the &lt;code&gt;Ready&lt;/code&gt; state. If a readiness probe is defined on a container, that container must successfully respond to the probe invocation to become &lt;code&gt;Ready&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to run your own Helm Repository on Azure Container Apps</title>
				<link>https://thorsten-hans.com/how-to-run-your-own-helm-repository-on-azure-container-apps/</link>
				<pubDate>Tue, 15 Mar 2022 15:29:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-run-your-own-helm-repository-on-azure-container-apps/</guid>
				<description>&lt;p&gt;Do you use Helm charts for packaging and deploying your stuff to Kubernetes? Have you ever thought about creating your own Helm repository to store and distribute your charts? This article explains how to take &lt;a href=&#34;https://chartmuseum.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;ChartMuseum&lt;/a&gt;&#xA; and run it on Azure Container Apps backed by an Azure Storage Account. You can find all source code shown in this example in the &lt;code&gt;005-chartmuseum&lt;/code&gt; folder of &lt;a href=&#34;https://github.com/ThorstenHans/azure-container-apps-samples&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;my Azure Container Apps samples repository on GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Exposing gRPC services in Azure Container Apps</title>
				<link>https://thorsten-hans.com/exposing-grpc-services-in-azure-container-apps/</link>
				<pubDate>Mon, 07 Feb 2022 11:06:35 +0000</pubDate>
				<guid>https://thorsten-hans.com/exposing-grpc-services-in-azure-container-apps/</guid>
				<description>&lt;p&gt;In my recent webinar on Azure Container Apps, an attendee asked if gRPC services could be exposed. Although I was pretty sure this was possible, I asked the attendee for some patience because I wanted to try this independently. Long story short, it&amp;rsquo;s possible. This post demonstrates how to expose gRPC services with a simple .NET 6 gRPC API and a corresponding client. We&amp;rsquo;ll also talk about a small glitch that may prevent your gRPC services hosted in Azure Container Apps from being accessible.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Traffic split in Azure Container Apps</title>
				<link>https://thorsten-hans.com/traffic-split-in-azure-container-apps/</link>
				<pubDate>Thu, 04 Nov 2021 18:45:15 +0000</pubDate>
				<guid>https://thorsten-hans.com/traffic-split-in-azure-container-apps/</guid>
				<description>&lt;p&gt;With Azure Container Apps (ACA), Microsofts latest serverless runtime for containerized workloads in Azure, we can customize certain aspects of traffic routing on the ingress level. This article will look at traffic split and configure a relatively simple API to leverage a tailored traffic split configuration in Azure Container Apps. If you are new to Azure Container Apps, consider reading my article &lt;a href=&#34;https://www.thorsten-hans.com/introduction-to-azure-container-apps/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&amp;ldquo;Introduction to Azure Container Apps&amp;rdquo;&lt;/a&gt;&#xA; first.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-traffic-split&#34;&gt;What is traffic split&lt;/h2&gt;&#xA;&lt;p&gt;First, let&amp;rsquo;s quickly revisit what traffic split is. Traffic split is a mechanism that routes configurable percentages of incoming requests (traffic) to various downstream services. See the following picture, which shows the relation between ACA ingress controller, traffic split configuration, and downstream services (or revisions in the case of ACA):&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to deploy Azure Container Apps with Bicep</title>
				<link>https://thorsten-hans.com/how-to-deploy-azure-container-apps-with-bicep/</link>
				<pubDate>Wed, 03 Nov 2021 19:21:33 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-deploy-azure-container-apps-with-bicep/</guid>
				<description>&lt;p&gt;Although Azure Portal and Azure CLI provide a decent experience to deploy Azure Container Apps, I prefer using Infrastructure as Code (IaC) to deploy and manage my cloud infrastructure. That said, this post guides you through the process of deploying Azure Container Apps using Bicep.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;!Note that container apps are moving namespace. In March 2022, ACA will shift from the &lt;code&gt;Microsoft.Web&lt;/code&gt; namespace to &lt;code&gt;Microsoft.Apps&lt;/code&gt;. Everything described here should still work, but you have to change the namespace!&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>Introduction to Azure Container Apps</title>
				<link>https://thorsten-hans.com/introduction-to-azure-container-apps/</link>
				<pubDate>Tue, 02 Nov 2021 23:36:24 +0000</pubDate>
				<guid>https://thorsten-hans.com/introduction-to-azure-container-apps/</guid>
				<description>&lt;p&gt;During Ignite 2021, Microsoft announced the public preview of &lt;strong&gt;Azure Container Apps&lt;/strong&gt;, a fully managed serverless container runtime for building and running modern applications at scale.&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;The announcement of &lt;a href=&#34;https://x.com/hashtag/AzureContainerApps?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#AzureContainerApps&lt;/a&gt; was definitely my personal highlight at &lt;a href=&#34;https://x.com/hashtag/MSIgnite?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#MSIgnite&lt;/a&gt; so far 🚀 &lt;a href=&#34;https://t.co/zbHaYotIWi&#34;&gt;pic.twitter.com/zbHaYotIWi&lt;/a&gt;&lt;/p&gt;&amp;mdash; Thorsten Hans 🦀 (@ThorstenHans) &lt;a href=&#34;https://x.com/ThorstenHans/status/1455676602948505609?ref_src=twsrc%5Etfw&#34;&gt;November 2, 2021&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;This article gives you a brief introduction to what Azure Container Apps is, which technologies are used to provide this fantastic serverless container runtime and how you can build and run containerized workloads on Azure Container Apps&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
