Taking a glance at running an Azure Webapp on a custom location powered by Azure Arc

Introduction

Earlier this week I published the following repository ; https://github.com/beluxappdev/demo-arc-appservice. Which basically contains all the needed steps (via Azure CLI) to create an environment that showcases how Azure AppService and Azure Arc work together. For today’s blog post, I would like to take you on the journey from a “consumer” of this App Service Environment (running on any Kubernetes distribution, managed via Arc) to deploy a Webapp onto it. Where we can then see how the it is currently looking in the preview!

 

Let us make it real! The platform…

First of all, I launched GitHub Codespaces on the above mentioned repo, and executed all steps including the creation of the App Service Environment.

So till here… Let us say we provided “the infrastructure” that allows you, or others, to deploy webapps onto this “infrastructure”. As at this point, we have an operational Kubernetes deployment, which is extended with the capability of a Azure AppService hosting plan. From now on, we can leverage it to deploy webapps onto this platform.

If we take a look at the kubernetes cluster, then we will see a dedicated namespace for the AppService environment ;

 

Deploying the webapp

Next up, let us deploy the webapp. So let us create a resource…

If we now select a Linux OS, we see that on top of the Azure regions, you see “Custom Location” (currently at time of writing in preview). Here you will see the custom region(s) you have created, as part of the Arc installation.

Once we continue with choosing a custom region, you will also notice that the default associated domain suffix is different …

If we would afterwards visit the URL, then we can already see our webapp (given that the network security allows it of course!) ;

 

“Cool, we have a webapp, what now?”

If we now take a look at the webapp, then it will pretty much look like any other webapp we are already accustomed to.

Having the typical UI …

Though the trained eye will notice that some capabilities have been greyed out ;

As those are currently not available when deploying to a custom location.

 

Are you sure it is running on the k8s cluster?

Let us go back to the AKS cluster we were using… and surely we notice that the webapp was added!

Now what would happen if we tell the WebApp to scale?

Then we see the Kubernetes magic kicking in!

 

Closing Thoughts

If you have requirements where you need to run a given set of web based workloads outside of Azure… and you still want to have the trusted AppService experience… then be aware that this has become a reality! Given, the service is currently still in preview, so watch out for any sharp edges out there! In general, the vision on Azure is to provide you with the means to have more and more services that can run on custom locations (where it makes sense of course). Here the base platform on which will be built, will be an operational Kubernetes cluster.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.