During its annual Build conference, Microsoft announced a new set of Azure Service in preview that customers can run on virtually any CNCF-conformant Kubernetes cluster with the help of its Azure Arc multi-cloud service. With Azure Arc, customers can use a single service in the Cloud to manage their container clusters across clouds and on-premises data centers.
Since the launch of Azure Arc, the company enabled some of the core Azure services to run directly in these clusters – a small set of data services such as Azure SQL Database at first and later machine learning tools and Kubernetes. Microsoft has now added services such as App Services, Azure Logic Apps, Azure Functions, Event Grid, and API Management - which means customers can deploy Web Apps, Functions, API gateways, Logic Apps, and Event Grid services on pre-provisioned Kubernetes clusters.
In the "Book of News" for this year's Build, the company explained the benefits of these Arc-enabled services:
This takes advantage of features including deployment slots for A/B testing, storage queue triggers, and out-of-box connectors from the app services, regardless of run location. With these portable turnkey services, customers can save time building apps, then manage them consistently across hybrid and multi-cloud environments using Azure Arc.
Satya Nadella stated in the Build keynote that integrating these services would make it easier for developers to construct hybrid applications that can then be run in various environments and managed from a single dashboard. Moreover, it means that developers can choose the service they want to run on-premise, on the edge, or other clouds – and tie to Azure Kubernetes Service (AKS) and Azure Stack HCI for a quick deployment workflow.
For instance, with Event Grid on Kubernetes with Azure Arc, businesses can integrate their workloads running on Kubernetes clusters using Event Grid Topics. They can build hybrid architectures, where events raised by their Kubernetes workloads are available to solutions running on Azure or any other destination to which Event Grid on Kubernetes has access.
Event Grid on Kubernetes supports several types of event handlers deployed to Kubernetes, Azure, or any hosting environment via Webhooks. An example is an inter-cluster communication, where the system's state changes happen through publishing events and configuring the routing of those events to event handlers deployed on the same cluster.
Azure Arc competes with similar offerings from AWS and Google. For example, Google's Anthos, or AWS's recently generally available ECS Anywhere, which, like Arc, also offer businesses a single service to manage their container clusters across clouds and on-premises data centers.
Maik van der Gaag, CTO of 3fifty, wrote in his blog post on the Azure Arc-enabled service in preview:
This function opens up many new possibilities to developers and opens up the option for using other cloud platforms next to Azure.
In addition, Chris Reddington, an Azure Cloud architect, wrote a six-part series of blog posts on each of the preview Arc-enabled services and concluded in the last post:
Overall, I can see how this end-to-end App Services story in Azure Arc is coming together. I'm excited by it - I think there's some great potential here to have an overall unified deployment mechanism directly to Azure Platform as a Service (PaaS) hosting models, as well as Kubernetes clusters that may be in Azure, AWS, Google Cloud, or on-premises.
And, Tom Kerkhove, Azure architect at Codit, wrote in his blog post on the Arc-enabled services:
We are on the verge of a new era where the Kubernetes adoption will skyrocket even more. Azure application services with Azure Arc are an essential asset for building cloud-native solutions that are operable and provide a consistent experience, regardless of where they run.
Lastly, more details of Azure Arc and its enabled services are available on the documentation landing page and individual pages: