Hello everyone. Welcome to the first blog post from the Arc enabled data services team. We plan to blog often to share updates with you more regularly going forward.
We will start our series with some context around the customer challenges we are attempting to address with Arc enabled Data Services and discuss the high level overview of Arc Data Services and architecture. In future blogs, we will go into feature updates in depth.
In the past few years, customer's environments have become increasingly complex. Customer environments have evolved from single data centers to multiple data centers, to hybrid and multi-cloud strategies more recently.
As the complexity multiplies, so does the challenge of viewing and managing the resources that are spread across multiple datacenters and even multiple clouds. The administrators who maintain these resources across these various deployment targets often end up using different tools, different deployment techniques, different orchestration techniques, and different management techniques, which makes their job extremely challenging.
There are also many customers who cannot move to cloud for various reasons such as data sovereignty, data compliance, and investments they have made in their own their own data centers.
Microsoft has long heard this feedback from customers and is addressing this challenge with Azure Arc.
Azure Arc is a brand of Azure that has two classes of offerings – Azure Arc-enabled infrastructure and Azure Arc-enabled services.
Azure Arc-enabled infrastructure is similar to Infrastructure as a Service (IaaS) offerings within Azure, and allows you to connect existing workloads such as physical servers, VMs, Kubernetes clusters, and SQL Server in VMs to Azure, and manage from Azure.
Azure Arc-enabled data services is similar to Platform as a Service (PaaS) offerings within Azure, and brings PaaS capabilities from Azure into your infrastructure, wherever that is - in your own data centers, in edge locations like retail stores or factories, or in a public cloud.
Azure Arc-enabled Data Services Overview
Azure Arc-enabled data services provides customers with a single pane of glass for managing all these diverse resources, regardless of where they reside. Azure Arc provides customers with the power to run their Azure data services on-premises, at the edge, and in public clouds via Kubernetes.
Today, we offer Azure Arc-enabled SQL Managed Instance and Azure Arc-enabled PostgreSQL as part of the Arc-enabled data services offerings.
Azure Arc-enabled SQL Managed Instance has two service tiers – General Purpose and Business Critical. The General Purpose tier is currently generally available and the Business Critical service tier is currently in public preview. General Purpose gives you the features and capabilities comparable to SQL Server Standard edition, while Business Critical provides a more robust feature set comparable to SQL Server Enterprise edition – including HA features using Availability Groups.
Azure Arc-enabled PostgreSQL is in public preview. This is a community edition of the PostgreSQL engine, just as we have in Azure – not a proprietary fork or custom version.
Why you should consider Azure Arc-enabled SQL Managed Instance
Azure Arc-enabled SQL Managed Instance brings PaaS-like benefits outside of Azure. This includes the following:
- Evergreen SQL – With Azure Arc, customers get the evergreen version of SQL that is only available in Azure as Azure SQL Managed Instance. By nature of being evergreen, you don’t have to worry about upgrades every 5-7 years as you would for on-premises installations of SQL Server. You also get cloud innovation into your infrastructure as soon as it’s available in Azure.
- As-a-service – With Arc-enabled SQL Managed Instance, customers can expect PaaS-like benefits including built-in High Availability, built-in automatic backups, built-in monitoring, built-in disaster recovery, and built-in scalability.
- Elastic Scale – You can scale your instances of Arc SQL Managed Instance up and down dynamically.
- Unified Management – Azure Arc enables you to connect and project your resources into Azure, regardless of where they are, and you can view and manage these resources from Azure as if they are running in Azure. This gives you a single pane of glass to view and monitor all your resources that are otherwise running outside of Azure. Customers can now use the same tools and techniques to deploy and manage the SQL instances in a consistent way across different clouds.
Azure Arc-enabled Data Services Architecture Overview
To understand how Azure Arc-enabled data services works, let us look at a high level overview of the architecture.
Arc-enabled data services runs on Kubernetes. Today we support most of the popular Kubernetes distributions such as open source upstream Kubernetes (like kubeadm), Red Hat OpenShift, GCP, AWS EKS, AKS HCI, AKS etc. For a complete list, please refer to the documentation .
Arc data services can be deployed directly from the Microsoft Container Registry or from a private repository.
The data controller acts as the brain behind Azure Arc data services. When you deploy the data controller, you get functionality like built in monitoring, built in patching, and built in scaling. In addition to all this, you also get Azure integration if you deploy in directly connected mode. This Azure integration allows you connect your data services to Azure and unlock added benefits. You can take advantage of Azure services like Azure Monitoring, Azure Security, and deploying and managing directly from the Azure portal. Additionally, users have the option to upload metrics and logs to Azure Monitor.
Azure Arc-enabled Data Services also has two different connectivity mode options - direct and indirect. Direct mode enables the cluster to be accessible from Azure all the time. For customers that might have their edge locations in remote areas with limited to no internet connectivity, or for locations that can’t have public-facing internet connectivity, indirect mode is the other option.
How do I get started?
Deploying Azure Arc-enabled SQL Managed Instance involves the following steps:
1. Deploy the Azure Arc data controller – as discussed earlier, the data controller is like a mini resource provider that enables resource provisioning, scaling, and brings with it all the PaaS capabilities. Deploying the data controller can be done via several methods, such as kubectl, the az CLI, Azure Data Studio, or the Azure portal.
Detailed step-by-step instructions are provided at deploy Azure Arc data controller in direct connected mode.
2. Deploy the Azure Arc SQL Managed Instance – once the data controller is deployed, the Arc SQL Managed Instance can be created using the same tools.
Detailed step- by-step instructions are provided at Azure Arc SQL managed instance in direct connected mode.
Dinakar Nethi and Nikita Takru,
Microsoft Azure Arc Data Services Product Team