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