Azure Arc went generally available for servers and Kubernetes in 2020, with data services following in 2021. It's Microsoft's play for organizations that are stuck with hybrid or multi-cloud infrastructure and need a consistent way to manage it all.

The core idea

Arc extends Azure management onto whatever you've got outside of Azure. An on-premises Linux server. A Kubernetes cluster on AWS. A VM on GCP. Register it as an Arc resource and you can manage it from the Azure portal, enforce policies with Azure Policy, monitor it with Azure Monitor, secure it with Microsoft Defender. It shows up in Azure Resource Manager like any other resource. You get resource IDs, resource groups, tags. It's Azure's abstraction layer over non-Azure infrastructure.

Arc-enabled Kubernetes

Any Kubernetes cluster that's conformant can be managed through Arc. That means EKS, GKE, on-premises clusters, edge deployments. You apply GitOps configuration using Flux directly from Azure Policy. Telemetry flows to Azure Monitor. Azure Policy enforces admission control across all your clusters. The Azure portal shows you a unified view of workloads everywhere. It's a single control plane across wildly different deployment contexts.

Arc-enabled databases

Arc-enabled SQL Managed Instance and PostgreSQL bring Azure's database services to on-premises infrastructure. The target customer is someone with data residency requirements. Or mid-migration, wanting consistent database operations everywhere. You get the same elastic scaling, automated patching, point-in-time restore that Azure SQL provides. It's the Azure experience, running on your infrastructure.

The real trade-off

Arc solves genuine problems if you're genuinely hybrid. The cost is non-trivial. You need Arc agents on every machine. Arc-enabled services running on-premises. It's operational overhead. If you're cloud-only or nearly cloud-only, Arc is complexity you don't need. The ideal customer is a regulated enterprise that can't move data to the cloud but needs Azure's management tools to keep things sane.