Thursday, August 4, 2022

  This is a continuation of a series of articles on hosting solutions and services on Azure public cloud with the most recent discussion on Multitenancy here This article discusses SQL Server on Azure Arc enabled servers and their sizing guidance.

Azure Arc-enabled servers expose hybrid inventory to Azure management plane.  The Windows and Linux physical servers and virtual machines hosted outside of Azure, on the corporate network or other clouds can become primary citizens as Azure resources when they are Azure-Arc enabled.

SQL instances are a type of resource in the Azure management plan that plays a critical role in governance and security management. Consequently, SQL Server on Azure Arc enabled servers support a set of solutions that require the Microsoft Monitoring agent server extension to be installed and connected to an Azure Log Analytics workspace.

The previous post described the registration of SQL Server instances on Azure Arc enabled servers and the connectivity modes for these instances. This article describes sizing guidance for Azure Arc at scale. Compute, memory and storage must be adequately planned to run the data controller and the number of SQL managed instances and PostGreSQL HyperScale server groups. Since these are deployed on Kubernetes, there is leeway to add additional nodes as necessary. The minimum configuration starts with data controller plus one SQL managed instance and two worker nodes. This configuration requires 16GB of RAM and four cores of available capacity on the Kubernetes cluster. A minimum Kubernetes node size must be 8GB RAM and 4 cores and a sum total capacity of 16GB RAM across all the nodes in the cluster. The data controller is a collection of pods deployed to the Kubernetes cluster to handle the traffic. Its default values for CPU requests are in the range of 20m – 400m from metrics collection to control pod and the memory is in the range of 200Mi – 3 Gi. The limits are roughly double of these values. Each setting can be overridden. The SQL managed instance sizing can however have the values same for requests and limits but with a minimum of 1 and a maximum of 24 cores to handle CPU requests and a minimum of 2Gi and a maximum of 128Gi for memory.

The overall size of an environment required for Azure Arc enabled data services is primarily a function of the number and size of the database instances that will be created. The baseline size is the size of the data controller which requires 4 cores and 16GB of RAM. In addition to cores and memory requested for each database instance, care must be taken to allocate something for agent containers as well.

Only a certain number of machines can be connected per resource group but there are no limits at the service level.  The networking configuration, transport level security and resource providers required for connected machine agents continue to hold for registering these SQL Server instances.

 


No comments:

Post a Comment