Azure Regions and custom locations

Written by 8:12 am Microsoft Azure

Run cloud-native apps on Azure PaaS anywhere

At Microsoft Build 2021, Microsoft just announced the availability of Azure Arc enabled Application services. This allows you to deploy Azure application services such as Azure App Service, Functions, Logic Apps, Event Grid, and API Management anywhere, on-premises, edge locations, or any other cloud provider. This is great if you are building and running cloud-native applications on Azure PaaS services and want them to run outside of Azure without rearchitecting them. With the new Platform-as-a-Service (PaaS) services and the existing Azure Arc enabled Data services, and Azure Arc enabled Kubernetes, you get a powerful platform to run your cloud-native applications in a consistent way in your hybrid or multicloud environment.

To learn more about Azure Arc, check out the Microsoft Docs.

Azure Arc enabled Application Services

These are the new Azure Arc enabled Application services announced at Microsoft Build 2021. These allow you to run Azure PaaS services on-premises and at other cloud providers.

  • Azure App Service makes building and managing web applications and APIs easy with a fully managed platform and features like autoscaling, deployment slots, and integrated web authentication.
  • Azure Functions makes event-driven programming simple, with state-of-the-art autoscaling, and triggers and bindings to integrate with other Azure services.
  • Azure Logic Apps produces automated workflows for integrating apps, data, services, and backend systems with a library of more than 400 connectors.
  • Azure Event Grid simplifies event-based applications with a single service for managing the routing of events from any source to any destination.
  • Azure API Management provides a unified management experience and full observability across all internal and external APIs.

Azure Arc enabled Data Services

The applications services can be combined with the Azure Arc enabled Data services which inlcuded:

  • Azure Arc enabled Azure SQL Managed Instance – Azure Arc enabled SQL Managed Instance has near 100% compatibility with the latest SQL Server database engine, and enables existing SQL Server customers to lift and shift their applications to Azure Arc data services with minimal application and database changes while maintaining data sovereignty. At the same time, SQL Managed Instance includes built-in management capabilities that drastically reduce management overhead.
  • Azure Arc enabled Azure PostgreSQL Hyperscale – This is the hyperscale form factor of the Postgres database engine that is available with Azure Arc enabled data services. It is also powered by the Citus extension that enables the hyperscale experience. In this form factor, our customers provide the infrastructure that hosts the systems and operate them.

Azure Arc enabled Infrastructure

Azure Arc enabled infrastructure allows you to manage and operator Linux and Windows Servers as well as Kubernetes clusters outside of Azure.

  • Azure Arc enabled Kubernetes – With Azure Arc enabled Kubernetes, you can attach and configure Kubernetes clusters located either inside or outside Azure. You can benefit from Azure Management services such as Azure Monitor, Azure Policy, Azure Defender for Kubernetes, and many more. You can deploy applications and apply configuration using GitOps-based configuration management.
  • Azure Arc enabled Servers – enables you to manage your Windows and Linux physical servers and virtual machines hosted outside of Azure, on your corporate network, or other cloud provider. This management experience is designed to be consistent with how you manage native Azure virtual machines. When a hybrid machine is connected to Azure, it becomes a connected machine and is treated as a resource in Azure. That includes an Azure Managed Identity which can be used for Azure AD authentication within your apps.

How to run Azure Application Services anywhere

To run the Azure Application on-premises or at another cloud provider you will need an Azure Arc enabled Kubernetes cluster. On this cluster you can then deploy the Azure Application services. Azure Arc enabled Kubernetes works with any Cloud Native Computing Foundation (CNCF) certified Kubernetes clusters. The Azure Arc team has worked with key industry partners to validate conformance of their Kubernetes distributions with Azure Arc enabled Kubernetes.

How to connect a Kubernetes cluster to Azure using Azure Arc

To connect a Kubernetes cluster using Azure Arc you can follow the following Microsoft Docs article.

Deploy App Service extensions

Now navigate to the Azure Arc enabled Kubernetes cluster you want to deploy the Azure Application services on.

Azure Arc enabled Kubernetes Cluster running on-premises
Azure Arc enabled Kubernetes Cluster running on-premises

In the navigate to Extensions, and select add.

Azure Arc enabled Kubernetes Cluster Extensions
Azure Arc enabled Kubernetes Cluster Extensions

Select the Azure service you want to enable.

Add Application Services Extension
Add Application Services Extension

In my case I select Application services, which includes Azure Web Apps, Functions, and Logic Apps.

Application services extension Preview
Application services extension Preview

Click on Create to open the wizard which will help you deploy the Application services extension.

Define the instance name and select a custom location if you already have one. The custom location in an Azure Arc enabled Kubernetes cluster. This can then be used instead of an Azure region when you deploy a service.

Install application services extension and create custom location
Install application services extension and create custom location

After that, you can configure Monitoring and add Azure Tags. In the end, the wizard will create you a script that you can run using the Azure CLI locally or directly within Azure Cloud Shell.

Download or Copy script to deploy the Azure App Service for Kubernetes with Azure Arc
Download or Copy script to deploy the Azure App Service for Kubernetes with Azure Arc

Now you can find your new custom location in the custom locations list in the Azure Arc Center. You can see, in my list, I have Kubernetes clusters running on-premises or at another cloud provider.

Custom Locations
Custom Locations

I can now navigate to App services so add a new Web App.

Create App Service and select a custom location
Create App Service and select a custom location

When I select the Region, I can now not just select the Azure Regions, but also my custom locations.

Azure Regions and custom locations
Azure Regions and custom locations

Conclusion

I hope this blog gave you a quick overview on how you can create and run your cloud-native applications running on Azure PaaS Services using Azure Arc. This is ideal for you to build applications running on modern services in hybrid and mutlicloud environments using a single architecture. If you have any questions feel free to leave a comment.

Tags: , , , , , , , , , , , , , , , , Last modified: June 1, 2021
Close Search Window
Close