Decoding Multiple Cloud Perspectives
In today’s day and age, business enterprises are finding it difficult to navigate through different complex environments that run across data centers, edge, and multiple clouds. While single cloud still holds relevance, most companies are adopting multi-cloud and hybrid cloud models. However, the terms hybrid cloud and multi-cloud are inconsistently used. A multi-cloud strategy entails using multiple cloud services from different providers based on their performance levels at certain tasks. You can read my full blog on the same where I dive deep into multi-cloud perspectives and strategies and Choosing a Cloud Strategy: Hybrid, Multi and Distributed Cloud.
With the deployment of multi-cloud and hybrid cloud infrastructures and it being a reality, players like Microsoft, Google and AWS have entered this market, propelling for greater cloud innovation. All hyperscalers have built control planes for hybrid and multiple cloud deployment models, that overlook the lifecycle of managed services like Internet of Things (IoT), functions databases, virtual machines, and observability etc.
I believe that these control planes deliver the promise of a robust hybrid/multi-cloud technologies in this ever-changing multi-cloud services infrastructure. Currently, Microsoft Azure Arc and Google Anthos are the most popular control planes in this domain. However, Microsoft Azure Arc – stands out amongst others because of its unique design architecture.
In this article, I will deep dive and dissect the efficacy of Microsoft Azure Arc.
What is Azure Arc?
Azure Arc is a software solution that enables you to project your on-premises and other cloud resources, such as virtual or physical servers and Kubernetes clusters, into Azure Resource Manager.
Think about Azure Arc as a management and governance tool that enables you to manage your resources as if they’re running in Azure, using a single pane of glass for managing across your estate.
Essentially, Azure Arc is an extension of Azure Resource Management (ARM) that gives support to resources running outside of Azure. It uses ARM as a framework by extending its management capabilities and simplifying the use for customers across different hybrid and multi-cloud environments. Azure Arc is about extending the Azure control plane to manage resources beyond Azure, like VMs and Kubernetes clusters wherever they are, whether they’re Windows, Linux or any Cloud Native Computing Foundation-Certified Kubernetes distro. Organizations can even manage resources even if they’re not always connected to the internet. Thus, non-Azure deployments can be managed alongside Azure deployments using the same user interfaces and services, such as tags and policies.
Image source – https://docs.microsoft.com/en-us/azure/azure-arc/overview.
Azure Arc is a unique approach undertaken by Microsoft to accelerate innovation across hybrid and multi-cloud environments.
So, in a nutshell, what does Azure Arc offer?
- Arc enables management and governance of resources that can live virtually anywhere (on-premises, in Azure, Azure Stack or in a third-party cloud or at the edge). These resources can be servers, virtual machines, bare metal servers, Kubernetes clusters or even SQL databases. With Arc, you can use familiar Azure services and management capabilities including Create, Read, Update and Delete (CRUD) policies and role-based management.
- Arc provides a single pane of glass – Using the same scripting and tools, you can see those resources alongside everything else in Azure. Furthermore, they can cover, monitor and back all these services no matter where they live.
- Arc enables customers to easily modernize on-premises and multicloud operations through a plethora of Azure management and governance services. Supports Asset organization and inventory.
- Arc can support enforcing organization standards and assess compliance at scale for all your resources, anywhere based on subscription, resource groups, and tags
- Arc also provides other cloud benefits such as fast deployment and automation at scale. For example, using Kubernetes-based orchestration, you can deploy a database in seconds by utilizing either GUI or CLI tools.
- Arc allows organizations to extend the adoption of consistent toolset and frameworks for Identity, DevOps / DevSecOPS, automation and security capabilities across hybrid/multi cloud infrastructures and lastly, to innovate everywhere.
- Arc supports use of GitOps-based configuration as code management, such as GitHub, to deploy applications and configuration across one or more clusters directly from source control.
- Arc helps organizations to make right decisions about cloud migrations. Using Azure Arc, you can gather the workload data (discovery) and uncover insights to decide where your workloads should run – whether on-premises, in Azure, or in a third-party cloud or at the edge. This insight driven approach can save you significant time, effort and migration costs too.
- A unified experience viewing your Azure Arc enabled resources whether you are using the Azure portal, the Azure CLI, Azure PowerShell, or Azure REST API.
Key Features Of Azure Arc
Azure Arc allows enterprises to manage the following resource types outside the realm of Azure:
1. Azure Arc for Servers
Azure Arc-enabled servers became generally available in September 2020.
Servers, be it physical or virtual machines, running Windows or Linux, are supported by Azure Arc. Azure Arc enabled servers are in a way considered agnostic to infrastructure for this reason. These Machines, when connected, are given an ID amongst the resource group, and are deemed as another resource in Azure. Azure Arc servers enable various configuration management and monitoring tasks, making it easier for hybrid machines to have better resource management.
Additionally, service providers handling customer’s or enterprise’s in-house infrastructure, can treat hybrid machines similar to how they treat native virtual machines using Azure Lighthouse.
2. Azure Arc enabled Kubernetes
Managing Kubernetes applications in Azure Arc entails the attachment and configuration of Kubernetes clusters inside or outside of Azure. This could entail bare metal clusters running on-premises, managed clusters like Google Kubernetes Engine (GKE), Amazon EKS etc.
Azure Arc enabled Kubernetes allows you to connect Kubernetes clusters to Azure for extending Azure’s management capabilities like Azure Monitor and Azure Policy. By attaching external Kubernetes clusters, users can avail all the features that enable them to control external clusters like Azure’s own internal cluster. But keep in mind, unlike AKS, the maintenance of the underlying Kubernetes cluster itself is done by you.
Azure ARC is beyond minimum viable feature approach with Kubernetes
3. Azure Arc enabled Data Services
Azure Arc enabled data services help to run data services, using your preferred infrastructure, on-premises and at edge. Currently, Azure Arc enabled data services are available for preview in services like SQL Managed Instance and PostgreSQL Hyperscale. Azure Arc supported SQL Managed Instance and PostgreSQL Hyperscale can be run on AWS, Google Cloud Platform (GCP) or even in a private datacenter.
Azure Arc enabled data services such as Azure Arc enabled SQL Managed Instance and Azure Arc enabled PostgreSQL Hyperscale receive updates on a frequent basis, including servicing patches and all the new features in Azure. Updates from the Microsoft Container Registry are provided to you and deployment cadences are set by you in accordance with your policies. This way, on-premises databases can stay up to date while ensuring you maintain control. Because Azure Arc enabled data services are a subscription service, you will no longer face end-of-support situations for your databases.
Azure Arc enabled Data Services also support cloud-like Elastic Scale, that can support burst scenarios that have volatile needs, including scenarios that require ingesting and querying data in real time, at any scale, with sub-second response time. In addition, you can also scale out database instances using the unique hyper scale deployment option of Azure Database for PostgreSQL Hyperscale. This capability gives data workloads an additional boost on capacity optimization, using unique scale-out reads and writes. Many of the services such as self-service provisioning, automated backups/restore, and monitoring can run locally in your infrastructure with or without a direct connection to Azure.
I believe companies can find this as an attractive service if they need to use cloud-based tools outside the premise of Microsoft.
4. Azure Arc enabled SQL Server
Azure Arc enabled SQL Server is part of the Azure Arc for servers. It extends Azure services to SQL Server instances hosted outside of Azure in the customer’s datacenter, on the edge or in a multi-cloud environment.
Azure Arc vs Azure Stack Hub
You must be wondering why has Microsoft introduced Azure Arc when there’s an already existing hybrid cloud service – Azure Stack?
Azure Stack is a hardware solution that enables you to run an Azure environment on-premises. Whereas Azure Arc is a software solution that enables you to project your on-premises and multi cloud resources, such as virtual or physical servers and Kubernetes clusters, into Azure Resource Manager.
For applications that use a mix of on-premises software and Azure services, local deployment of Azure services through Azure Arc can reduce the communication latency to Azure, while providing the same deployment and management model as Azure. Azure Arc could be a better way to use Azure technology on-premises than using Azure Stack Hub appliances, which are expensive and require specific hardware.
While Azure Stack Hub is still viable for few businesses, Azure Arc becomes a holistic strategy for organizations that are looking to offload their workloads on both private and public clouds, both off-premises and on-premises.
Azure Arc vs Google Anthos vs Aws Outposts
So, how does Azure Arc compare to other hyperscalers who are offering hybrid and multi-cloud strategies?
AWS Outposts is a fairly new solution and currently more aligned to Hybrid Cloud deployment models. Google Anthos allows you to build and manage applications on-premises, Google cloud and even on AWS Outposts and Microsoft’s Azure. Anthos does NOT make GCP services available in either your own data center or in other clouds. To access GCP services (storage, databases, AI/ML services etc.), the containers running in your data centers must reach back to Google cloud.
Google Anthos and Azure Arc have very similar capabilities and approaches. Anthos is more focused on getting everything deployed to containers and has limited capabilities to manage VMs or servers running in your data center or in any third-party clouds. Additionally, Google Anthos currently might be a costly component. Moreover, according to me, Google Anthos is quite prescriptive. This is because, to run Google Anthos, you require GKE (Google Kubernetes Engine), be it to deploy to Google Cloud or on-premises. This isn’t the case with Microsoft’s Azure Arc as it goes beyond Kubernetes into areas like centralized discovery, common toolset for security, configuration, management Data Services. It also offers more choices for Kubernetes environments, giving the option to customers to choose the Kubernetes platform. Azure Arc offers more portability and less lock-in than Anthos. Basically, Azure Arc does everything Anthos does and much more; making Azure Arc more versatile to adapt to.
Azure Arc Pricing
Azure Arc is offered at no additional cost when managing Azure Arc enabled servers. Add-on Azure management services (Azure Monitor, etc.) may be charged differently for Azure VMs or Azure Arc enabled servers. Service by service pricing is available on the Azure Arc pricing page. Azure Arc enabled Kubernetes clusters and Azure Arc enabled data services are in preview and are offered at no additional cost at this time.
Roadmap Of Azure Arc
The current roadmap as stated in the Microsoft website includes adding more resource infrastructures pertaining to servers and Kubernetes clusters. In the future, you can expect:
a.) Self-hostable gateway for API Management – allows management of APIs hosted outside of Azure using the Azure-hosted API Management service.
b.) Other database services, such as Cosmos DB, are likely to be supported by the data services feature.
c.) Furthermore, support for deploying other types of Azure services outside of Azure could be added to Arc in the future.
To encapsulate, public cloud providers are churning out services to attain a spot in your company’s on-premises datacenter. The growing demand for hybrid-cloud and multiple cloud platforms and services has ushered Microsoft to launch Azure Arc as part of its cloud strategy.
So, what does this innovation mean to IT infrastructures? Well, with the demand for single management systems in multi-cloud environments soaring, I think it is more than a viable option. Simply because, once you register with Azure, Microsoft Azure Arc enables enterprises to jump on the hybrid cloud bandwagon regardless of whether they own an old version of Oracle on Linux or a modern one. I think this strategy is a game changer as it helps to simplify complex and distributed systems across various environments like on-premises, multi-cloud and on edge. Additionally, Azure Arc can be deemed as a compelling choice for enterprises that want to maintain balance by using traditional VM based workloads and modernized container-based workloads.
Azure Arc, can hence, distinguish itself as a legacy management tool for hybrid cloud applications infrastructure propelling for greater digital transformation. I feel the simplicity of Azure Arc will be enough to lure enterprises to adapt to it.