Arc Enabled Data Services – 1

Introduction

Views 1141

Arc-enabled Data services is an offering from Microsoft that allows you to take advantage of the Cloud data offerings when you are not able to have your workload hosted and running on the Azure cloud.  Think of this as being able to run Azure SQL Managed Instance on your Kubernetes cluster environment in your data center or any public cloud (Azure, AWS, Google Cloud).

Why might you find yourself in this position of not being able to use the Azure Cloud?:

  • You may be locked into your current data center and are not able to move;
  • You might find yourself restricted due to regulatory requirements based on your industry preventing you from utilizing the cloud;
  • You might require an air gap in your environment from the public internet;
  • You might just like the Azure services, but also want more control over the underlying infrastructure;

These are just a few considerations that you may find yourself facing and are not able to put your workloads in the Azure cloud.  In this introductory blog post, I will introduce you to what is Arc-enabled data services outlining your dependencies to get started.

Management Capabilities

Utilising Azure Arc-enabled data services provides you the ability to take advantage of the Azure data services (SQL Server, Azure SQL Managed Instance, PostgreSQL) in a hybrid environment. This offering provides you with reduced administrative efforts in managing and maintaining your data services while giving you the same look and feel as if you were running in the Azure Cloud.

Using your hardware to host your Kubernetes environment gives you the same functionality as Azure (only limited by the resources supplied to your Kubernetes environment):

  • Elastic / Limitless scalability
  • Automatic HA/DR while utilizing the capabilities of Kubernetes
  • Compliance and any industry certifications are your responsibility

Deployment Types

When undertaking an Arc-enabled deployment, there are two (2) types of deployment offerings at the time of writing this blog post. Regardless of the deployment type, you choose to implement the only data that is required from your environment is metadata on the resources (CPU, Number of instances, deployment SKU (General Purpose / Business Critical) which are required for billing purposes). The way this data is provided back to your Azure subscription is slightly different between the 2 deployment types. Regardless of the deployment type the second type of data provided is optional and is around the metrics and log data in your environment.

To deploy, manage and maintain your data services is dependent on the type of deployment chosen, and at the time of writing this blog post, there is no way to change from 1 deployment type to another. If you have to change, this will require complete redeployment. This may change in the future.

Directly Connected Mode

In this deployment offering your environment has direct connectivity to your Azure subscription. You automatically upload your usage data, which is used to calculate your monthly billing requirements based on the resources being deployed and used in your environment just like they would if you deployed the resources directly in Azure.

Because the environment is running on your pre-configured Kubernetes hardware, the logging and metrics captured around your deployed data services is an optional upload which would allow you to take advantage of Azure Monitor and Log Analytics to review and analyze what is happening in your deployed data environment.

Authentication is using the Azure Active Directory.

If you choose this type of deployment, you have several options available to you:

  • Azure Portal
  • Azure Cloud Shell
  • Azure CLI
  • Azure Data Studio
  • Kubectl commands

Indirectly Connected Mode

In this deployment offering your environment has no direct connectivity to your Azure subscription. You have to manually upload your usage data every month, which is used to calculate your monthly billing requirements based on the resources being deployed and used in your environment just like they would if you deployed the resources directly in Azure.

Just like a directly connected deployment, the logging and metrics captured around your deployed data services is an optional upload that would allow you to take advantage of Azure Monitor and Log Analytics to review and analyze what is happening in your deployed data environment.

Authentication is handled by Kubernetes Authentication and Active Directory

If you choose this type of deployment, you have several options available to you:

  • Azure CLI
  • Azure Data Studio
  • Kubectl commands

Feature Comparison

Regardless of the deployment model chosen and implemented for your Arc-enabled data services the feature set provided and supported is the same as if you were deploying an instance of SQL Server On-premises or in an IaaS configuration, deploying an Azure SQL Managed Instance or in this case, deploying an Arc-enabled SQL Managed Instance.  You just get the benefits of what you get in an Azure deployment in your Kubernetes environment.

Things to consider

When you are looking at undertaking a deployment, you need to understand your requirements around whether you can utilise a directly connected mode deployment or if you require that air gap and need to use the indirectly connected mode deployment.

Depending on where you are located, is going to impact the hosting of your data controller (which is a requirement), you will need to check the supported regions to host your Arc-enabled data services.

You will need to decide where you are going to be hosting your Kubernetes environment:

  • On-Premises
  • Azure Cloud
  • AWS Cloud
  • Google Cloud

You will need to check for the supported versions of Kubernetes that you can utilise to build in the appropriate location to host your Arc-enabled data services environment. At the time of this blog post, V1.21 and above are required for your deployment. More detailed information on the deployment requirements is available.

You will require Azure CLI version 2.16.0 or higher, as well as several CLI extensions installed to allow you to manage and maintain the environment.

Azure Data Studio and the following 2 extensions at a minimum are required for you to have the required management functionality:

  • Azure Arc
  • Azure CLI

In the next blog post, we will look into what the Arc-enabled Data Controller is.

Leave a Reply

Your email address will not be published. Required fields are marked *

Warwick

I am a Microsoft Data Platform MVP as well as a Microsoft Certified Master working as the Principal Consultant here at SQL Masters Consulting. When I am not working with the SQL Server Stack I like to get away to the Snow and spend time Snowboarding.

Search