Azure Local hyperconverged baseline reference architecture

Source: Microsoft Learn · Azure Architecture Center. Documentation © Microsoft and contributors, licensed under CC BY 4.0. This reading copy omits website navigation, adjusts layout and resolves links to their original destinations. View the official source and contributor history.

This reference architecture describes a connected, hyperconverged Azure Local deployment that uses storage-switched networking. Azure Local is the infrastructure foundation for Microsoft Sovereign Private Cloud. This architecture provides workload-agnostic guidance for a highly available platform of 2 to 16 physical machines that hosts workloads such as Azure Local virtual machines (VMs) and Azure Kubernetes Service (AKS) on Azure Local.

Use this architecture when Azure provides the management plane and each machine contributes compute and local Storage Spaces Direct capacity. For storage-switchless deployments, see Azure Local hyperconverged storage switchless architecture. Rack-aware hyperconverged, multi-rack, small form factor, and disaggregated SAN-based deployments have different failure-domain, storage, and platform requirements and are outside this architecture's scope. Disconnected operations deployments use a local management plane and are also outside this architecture's scope.

Important

Azure Local supports single-machine deployments, but this architecture starts at two machines and doesn't cover single-machine deployments. A single-machine deployment has no destination for live migration or workload failover, so solution updates and host maintenance that require a restart interrupt workloads.

Article layout

Architecture Design decisions Well-Architected Framework approach
▪ Architecture
▪ Workflow
▪ Components
▪ Potential use cases
▪ Alternatives
▪ Deploy this scenario
▪ Instance design choices
▪ Physical disk drives
▪ Network design
▪ Monitoring
▪ Update management
▪ Reliability
▪ Security
▪ Cost Optimization
▪ Operational Excellence
▪ Performance Efficiency

Tip

This two-machine, storage-switched ARM deployment example demonstrates how to deploy Azure Local by using an Azure Resource Manager template (ARM template) and parameter file. This Bicep example demonstrates an Active Directory Domain Services (AD DS) based deployment with separate management, compute, and storage intents. Adapt its network configuration to match this architecture's converged management and compute design. For Terraform deployment options, see Terraform.

Architecture

Diagram that shows a multi-machine Azure Local instance reference architecture with dual ToR switches for external north-south connectivity.

The diagram has four layers with six callouts. In the bottom hardware layer, callout 1 identifies Premier Solutions and Integrated Systems. Callout 2 shows 2 to 16 Azure Local machines connected to two ToR switches and an upstream switch, router, or firewall. Callout 3 shows a corporate firewall on the path to required Azure endpoints. The instance layer at callout 4 contains Hyper-V, Azure Arc resource bridge, Storage Spaces Direct, and Azure Local version releases. The workload layer at callout 5 groups Azure Local VMs and Virtual Desktop session hosts as traditional applications. It groups Azure Kubernetes Service on Azure Local and Azure Arc-enabled services as Kubernetes-based applications. Above them, Microsoft Entra ID and Azure Arc connect the instance to Azure services for governance, monitoring, secrets, security, updates, backup, recovery, and container images. At the top, callout 6 identifies the control plane: Azure portal, ARM and Bicep templates, Azure CLI, and tools.

Download a PowerPoint file of this architecture.

The east-west arrows in this overview show traffic direction, not the storage forwarding path. Storage traffic stays on the dedicated Layer 2 storage networks through the top-of-rack (ToR) switches and their interconnection. This traffic doesn't traverse the upstream router or firewall. For the connection layout, see Physical network topology.

For more information, see Related resources.

Workflow

The numbers in the architecture diagram correspond to the following workflow:

  1. Size, design, and procure the required hardware. Work with an original equipment manufacturer (OEM) or systems integrator (SI) partner to size the solution for the target workloads. For a new deployment, select a Premier Solution for Azure Local or an Integrated System for Azure Local. This baseline architecture and diagram cover deployments of 2 to 16 machines.

  2. Rack, cable, and physically connect the hardware. Install the physical machines at the target location, either directly or through your partner. Connect each machine to both ToR switches for management, compute, and storage traffic. Connect the ToR switches to the upstream network and firewall infrastructure.

  3. Establish outbound connectivity to Azure. Allow outbound access through the corporate firewall to the required URL endpoints. Register each Azure Local machine with Azure Arc so that you can use the Azure control plane for cloud deployment and ongoing management. For connectivity options, including Azure Arc gateway, see Outbound network connectivity.

  4. Deploy the Azure Local instance. Cloud deployment configures the instance across the machines, including Hyper-V, Storage Spaces Direct, and Azure Arc resource bridge. Keep each instance within six months of the most recent Azure Local release to remain supported. For update paths and prerequisites, see Azure Local release information.

  5. Run workloads and Azure Arc-enabled services. Host traditional, noncontainerized applications on Azure Local VMs and Azure Virtual Desktop session hosts. Host Kubernetes-based applications on AKS on Azure Local, and integrate supported Azure services through Azure Arc.

  6. Manage the instance by using Azure and local tools. Use the Azure portal, Bicep templates, the Azure CLI, and Azure PowerShell to manage the platform and its Azure Arc-enabled resources. Where needed, use PowerShell and other supported local tools for on-premises operations. For deployments that are based on Active Directory Domain Services (AD DS), these tools can include Windows Admin Center. Windows Admin Center isn't supported for deployments that use local identity with Azure Key Vault. Use PowerShell or the Azure portal for those deployments. For Azure Local VMs, use local tools only for documented supported operations.

Components

This architecture has resources in an on-premises environment and management services in Azure. The Azure services remain cloud-hosted. Azure Local doesn't deploy Azure Monitor, Azure Policy, or Microsoft Defender for Cloud on-premises.

Platform resources

External infrastructure dependencies

Azure management services

Workload options

An Azure Local instance can host multiple unrelated workloads. This architecture doesn't require one instance per workload. Colocate workloads only when their security boundaries, compliance requirements, maintenance windows, and availability targets are compatible. Keep production and nonproduction workloads on separate instances. As a rule of thumb, use separate instances for mission-critical or sensitive workloads when sharing with lower-priority workloads would introduce unacceptable resource contention, administrative access, or correlated failure risk. On a shared instance, isolate workload networks and permissions, validate concurrent peak demand, and preserve capacity reserved for failures and maintenance. For more information, see Architecture strategies for consolidation.

The Microsoft Sovereign Private Cloud portfolio includes traditional and cloud-native workload options with different deployment and connectivity requirements. Design and operate each workload independently from the platform baseline. This baseline applies only when an offering supports the connected, storage-switched, hyperconverged configuration described here. Use the Azure Local workload documentation to identify current options and verify their prerequisites, availability, and connectivity support.

These offerings evolve independently of this Azure Local hyperconverged baseline reference architecture. Evaluate their prerequisites, capacity, availability design, regional support, and preview or access terms separately. Don't use preview features for production scenarios.

Backup and disaster recovery are workload designs, not intrinsic instance capabilities. Back up every production workload and retain a recovery copy outside the Azure Local instance. Maintain at least one isolated or immutable copy, and protect its repository credentials separately from the instance and daily workload-administration credentials. For Azure Local VMs, use host-level backup for whole-VM recovery. Add guest-level or application-native backup when the workload requires application-consistent, point-in-time, or item-level recovery. Use Microsoft Azure Backup Server or a partner product whose current support matrix includes Azure Local, and test full restoration from the protected copy.

Backups don't provide rapid failover. Continuously replicate workloads whose recovery time objective (RTO) or recovery point objective (RPO) can't be met by restoring a backup. Prefer application-native replication for stateful workloads. For VM-level replication, use Azure Site Recovery for Azure Local when Azure is the recovery target. Use Hyper-V Replica when another Azure Local instance is the recovery target. After failover, the VM runs as an unmanaged VM on the target instance and can't be managed from Azure until you register it on the target and reconnect it to its existing Azure resource. For a temporary failover, you can defer registration and reconnection if you fail the VM back to its original instance within the Azure Arc reconnection window. You can't manage the VM from Azure while it runs on the target instance.

Potential use cases

Use this architecture for workloads that need:

This architecture doesn't by itself make a workload highly available. Deploy redundant workload instances and design backup and disaster recovery to meet workload recovery objectives.

Alternatives

Choose the Azure Local deployment model before you size hardware and design networking.

Requirement Deployment model
Hyperconverged storage, 2 to 16 machines, and the ability to add machines after deployment Use this storage-switched baseline reference architecture.
A fixed three- or four-machine hyperconverged deployment that avoids storage switches Use the hyperconverged storage-switchless architecture, which recommends three machines as the default topology.
Rack-level availability zones (fault domains) spread across two racks or rooms in close proximity Evaluate an Azure Local rack-aware cluster deployment.
SAN storage and independent compute and storage scaling Evaluate an Azure Local Disaggregated deployment.
Pre-integrated compute, storage, and networking across hundreds of machines Evaluate an Azure Local multi-rack deployment.
Compact, Linux-based hardware designed for environments with limited space and power, such as retail, branch, and edge sites Evaluate an Azure Local small form factor deployment. This deployment type is in preview. Review the preview terms and regional availability before you test or evaluate it.
Microsoft Sovereign Private Cloud requirements that prohibit use of the connected Azure management plane Evaluate an Azure Local disconnected operations deployment.

Rack-aware, disaggregated, multi-rack, small form factor, and disconnected operations require separate architecture guidance and aren't variants of this baseline.

Instance design choices

Understand workload performance and reliability requirements. For resiliency, understand the expectations for the platform and workloads to continue operating during hardware or machine failures. Also define RTO and RPO for your recovery strategy. Factor in compute, memory, and storage requirements for all workloads deployed on the Azure Local instance. Several characteristics of the workload affect the decision-making process:

Use Azure Local deployment-type guidance to select the deployment model and scale. Build a sizing model from the number and size of workload VMs, the vCPU count, memory, storage capacity, IOPS, throughput, and expected growth. Include capacity for platform services, storage resiliency, maintenance, and failure conditions. Use the Azure Local sizer to model these requirements and identify candidate validated hardware solutions. Review the output with the hardware provider or systems integrator, and use an OEM-specific sizing tool when one is available.

Apply these compute capacity recommendations:

During cloud deployment, use the recommended automatic volume creation option (Express storage configuration mode) unless workload requirements justify an advanced volume design. If you create workload volumes manually, document the resiliency and capacity tradeoff for each volume.

For two-machine deployments that use two-way mirroring, storage tolerates one machine or drive failure at a time. If one machine is unavailable for maintenance or after a failure, a drive failure on the remaining machine can make affected volumes inaccessible. Compute headroom doesn't protect against this storage failure. Validate this limitation against workload availability requirements. For more information, see Volume resiliency with two servers.

For business- or mission-critical workloads on a two-machine instance, consider nested two-way mirroring only as an exception when an explicit availability requirement calls for continued storage access during a machine failure plus a capacity-drive failure on the surviving machine. Use separately designed, supported workload volumes, and document why this requirement justifies the additional storage cost and lifecycle complexity. Its four data copies provide 25% capacity efficiency: 75% of raw capacity holds redundant copies, before repair reserve and other overhead. For the standard hyperconverged deployment covered by this baseline, this nested two-way mirror layout requires exactly two machines, and you can't convert volumes in place to another resiliency type. If you plan to scale beyond two machines, include data migration to new volumes with a supported resiliency type, such as three-way mirroring, in your scale-out plan. Validate the volume design and migration sequence with your hardware provider or systems integrator, and keep platform-managed infrastructure volumes in their supported configuration.

For configurations with dedicated write-cache drives, nested mirroring alone doesn't protect against a cache-drive failure while the other machine is unavailable. Review the additional cache-drive protection requirements and their performance tradeoffs with your hardware provider. This consideration doesn't apply to single-media-type all-flash configurations without dedicated cache drives.

Keep enough Storage Spaces Direct capacity unallocated for in-place repair after a drive failure. Reserve the equivalent of one capacity drive per machine, up to four drives. For configurations that use NVMe, SSD, and HDD drives together, reserve the equivalent of one SSD and one HDD per machine, up to four drives of each type. Include this repair reserve, resiliency overhead, and forecast growth when you calculate usable capacity.

For a new hyperconverged deployment, start with an exact Premier Solution SKU and bill of materials from the Azure Local catalog that meets the Azure Local system requirements. Premier Solutions provide the highest level of partner integration and validation. If no Premier Solution meets a documented requirement, evaluate an Integrated System and account for the additional deployment, update, and support responsibilities. Have the hardware provider or systems integrator validate the final configuration against workload, failure-state, support, and lifecycle requirements.

Physical disk drives

Storage Spaces Direct supports multiple physical disk drive types that vary in performance and capacity. When you design an Azure Local instance, work with your chosen hardware OEM partner to determine the most appropriate physical disk drive types to meet the capacity and performance requirements of your workload. In general, examples from lower to higher performance include:

  1. Spinning hard disk drives (HDDs).
  2. Solid-state drives (SSDs).
  3. Non-volatile memory express (NVMe) drives.
  4. Persistent memory (PMem), which is also known as storage-class memory (SCM).

SSDs and NVMe drives use flash storage. Configurations that contain only SSD or NVMe drives are known as all-flash deployments.

The reliability of the platform depends on the performance of critical platform dependencies, such as physical disk types. Make sure to choose the correct disk types for your requirements. Use all-flash storage solutions such as NVMe drives or SSDs for workloads that have high-performance or low-latency requirements. These workloads include but aren't limited to highly transactional database technologies, production AKS clusters, or any mission-critical or business-critical workloads that have low-latency or high-throughput storage requirements. Use all-flash deployments to maximize storage performance. All-NVMe drive or all-SSD configurations, especially at a small scale, improve storage efficiency and maximize performance because no drives are used as a cache tier. For more information, see All-flash based storage.

Diagram that shows a multi-machine Azure Local instance storage architecture for an all-flash storage solution.

The diagram shows one Azure Local instance with three machines. Cloud deployment automatically creates resilient volumes, and cluster-shared volumes can also be managed through the Azure portal, Windows Admin Center, or PowerShell. An instance-wide Storage Spaces Direct pool spans all three machines. Each machine contributes four SSD capacity drives and two NVMe cache drives. Storage Spaces Direct writes copies to persistent cache across machines, while each machine operating system provides an in-memory read cache. Above the pool are three Storage Spaces virtual disks, UserStorage_1 through UserStorage_3. Each contains a ReFS cluster-shared volume and VHD or VHDX files. Azure Arc VMs can read or write files on any volume and live migrate between machines.

The physical disk drive type influences the performance of your instance storage. The type of drive varies based on the performance characteristics of each drive type and the caching mechanism that you choose. The physical disk drive type is an integral part of any Storage Spaces Direct design and configuration. Depending on the Azure Local workload requirements and budget constraints, you can choose to maximize performance, maximize capacity, or implement a mixed-drive-type configuration that balances performance and capacity.

For general-purpose workloads that require large capacity persistent storage, a hybrid storage configuration can provide the most usable storage. For example, you could use NVMe drives or SSDs for the cache tier and HDDs for capacity. The trade-off is that spinning drives have lower performance and throughput capabilities compared to flash drives. These limitations can affect storage performance if your workload working set exceeds the cache capacity.

Storage Spaces Direct provides a built-in, persistent server-side cache. Its default behavior depends on the capacity drives: caching for flash drives, such as NVMe cache with SSD capacity, is write-only; caching for HDD capacity supports both reads and writes. Size and configure the cache to accommodate the working set of your applications and workloads. Storage Spaces Direct virtual disks, or volumes, are used in combination with Cluster Shared Volume (CSV) in-memory read cache to improve Hyper-V performance. This combination is especially effective for unbuffered input access to workload virtual hard disk (VHD) or Virtual Hard Disk v2 (VHDX) files.

Tip

For high-performance or latency-sensitive workloads, evaluate an all-flash storage configuration. In a single-media configuration, drives contribute to the capacity tier instead of reserving separate drives for cache. Resiliency, metadata, and reserve capacity still reduce usable capacity. Choose the machine count and volume resiliency based on workload availability, performance, and capacity requirements. For more information, see Plan volumes when performance matters most.

Network design

Network design is the overall arrangement of components within the network's physical infrastructure and logical configurations. You can use the same physical network interface card (NIC) ports for all combinations of management, compute, and storage network intents. Using the same NIC ports for all intent-related purposes is known as a fully converged networking configuration.

A fully converged networking configuration is supported, but the optimal configuration for performance and reliability is for the storage intent to use dedicated network adapter ports. As a result, this baseline architecture provides example guidance for how to deploy a multi-machine Azure Local instance by using the storage-switched network architecture with two network adapter ports that are converged for management and compute intents and two dedicated network adapter ports for the storage intent. For more information, see Network considerations for cloud deployments of Azure Local.

This architecture requires two or more physical machines and up to a maximum of 16 machines in scale. Each machine requires four network adapter ports that are connected to two top-of-rack (ToR) switches. The two ToR switches should be interconnected through multi-chassis link aggregation group (MLAG) links. The two network adapter ports that are used for the storage intent traffic must support Remote Direct Memory Access (RDMA). These ports require a minimum link speed of 10 gigabits per second (Gbps), but we recommend a speed of 25 Gbps or higher. The two network adapter ports used for the management and compute intents are converged by using Switch Embedded Teaming (SET) technology. SET technology provides link redundancy and load-balancing capabilities. These ports require a minimum link speed of 1 Gbps, but we recommend a speed of 10 Gbps or higher.

Physical network topology

The following diagram shows the physical connections for this multi-machine storage-switched architecture.

Diagram that shows the physical networking topology for a multi-machine Azure Local instance that uses a storage-switched architecture with dual ToR switches.

The diagram shows a storage-switched Azure Local instance that scales from 2 to 16 machines. At the top, a switch, router, or firewall connects to two top-of-rack switches. The switches carry management, compute, and storage traffic, and connect to each other through link aggregation. Below the switches, each Azure Local machine has four Ethernet ports. Two management and compute ports form a Switch Embedded Team, with one port connected to each top-of-rack switch. Two dedicated RDMA ports, labeled SMB1 and SMB2, also connect one per switch. Every link is at least 10 Gbps. The same redundant wiring pattern repeats for machines 2 through 16.

Apply these design recommendations:

Logical network topology

The following diagram shows how this architecture separates and routes management, compute, and storage traffic.

Diagram that shows the logical networking topology for a multi-machine Azure Local instance that uses the storage-switched architecture with dual ToR switches.

The diagram shows two Azure Local machines, labeled machine 1 and machine n. The total scale is 2 to 16 machines. Above the machines, two ToR switches connect to each other through link aggregation, and connect to an upstream switch, router, or firewall. A shared label identifies management, compute, and storage VLANs. Each machine has two management and compute Ethernet ports, a management virtual NIC, and a SET virtual switch. Below these components, each machine has two dedicated RDMA ports, labeled SMB1 and SMB2, that carry storage traffic. Connections run from the ports to the ToR switches. Network ATC management and compute intent spans the upper port groups, and storage intent spans the lower RDMA port groups.

Apply these design recommendations:

Network switch requirements

Your Ethernet switches must meet the Azure Local requirements and applicable Institute of Electrical and Electronics Engineers (IEEE) standards. The storage network can use RoCE v2 or iWARP RDMA. RoCE requires the documented data center bridging configuration, including IEEE 802.1Qbb PFC for the storage traffic class. iWARP doesn't require PFC. The switches must support the VLAN, Link Layer Discovery Protocol, and other standards required by the selected validated topology.

If you plan to use existing network switches, review the mandatory network switch standards and specifications. When you purchase switches, select models validated for Azure Local from the current hardware catalog and solution guidance.

IP address requirements

In a multi-machine storage switched deployment, the number of IP addresses needed increases with each physical machine, up to sixteen physical machines within one instance. For example, if you want to deploy a two-machine storage switched configuration of Azure Local, the Azure Local infrastructure requires a minimum of 11 IP addresses. More IP addresses are required if you use microsegmentation or software-defined networking. For more information, see Review two-machine storage reference pattern IP address requirements for Azure Local.

When you design and plan IP address requirements for Azure Local, remember to account for extra IP addresses or network ranges needed for your workload, beyond the ones that are required for the Azure Local instance and infrastructure components. If you plan to deploy AKS on Azure Local, see AKS on Azure Local network requirements.

Outbound network connectivity

Outbound network connectivity is required for the physical machines, Azure Arc resource bridge appliance, AKS clusters, and Azure Local VMs if you use Azure Arc for guest operating system management. Their local agents and services connect to public endpoints for Azure and Azure Arc management and control plane operations. This connectivity enables operators to provision and manage Azure Arc-enabled resources through the Azure portal, the Azure CLI, or infrastructure as code, and to use services such as Azure Update Manager and Azure Monitor. The Azure Arc resource bridge and the instance's custom location direct workload resource operations to the target Azure Local instance.

During a temporary loss of Azure connectivity, the host infrastructure and existing VMs continue to run, but cloud-dependent operations aren't available and information in the Azure portal can become outdated. Azure Local must successfully sync with Azure at least once every 30 days. After 30 days without a successful sync, the instance is marked as out of policy and enters reduced functionality until connectivity is restored. Also, the Azure Arc resource bridge appliance can't remain offline for more than 45 days. An offline resource bridge prevents Azure Local solution updates and Azure-based workload lifecycle operations. After 45 days, its security key might no longer be valid or refreshable. Monitor both connectivity states and restore access before either limit is reached.

Before deployment, configure your firewall, proxy, or other internet egress controls to allow outbound access to the required public endpoints. This planning is especially important when you integrate Azure Local into a datacenter network with strict egress rules. Consider the following requirements:

Monitoring

Enable Insights for Azure Local to send supported health and performance telemetry to Azure Monitor and Log Analytics. Configure data collection rules, retention, workbooks, and alerts for your operational requirements. Monitor the external dependencies and workload health that Insights doesn't cover through their owning monitoring systems.

Define an end-to-end health model that maps facility, connectivity, platform, VM, AKS, and application signals to workload service-level indicators. Add VM monitoring and application telemetry for VM workloads. For AKS workloads, use Kubernetes monitoring, managed service for Prometheus, and workload telemetry where supported. Route each actionable alert to an owner and tested response procedure.

Operationalize the system health checks that Azure Local runs every 24 hours, even when no update is pending. Assign an owner to review Critical and Warning results, investigate the affected machines and remediation guidance, resolve the underlying issues, and rerun the checks to verify recovery. Critical results block solution updates. Warning results require remediation or an explicit decision to bypass. Review update readiness checks separately after update content downloads because they use validation logic from the target release and can produce different results.

On Azure Local version 2610 or later, use Get-SolutionHealthSummary to review failures from the most recent health check results. By default, it lists Critical and Warning failures. Check the reported source and timestamp: the command selects recent pre-update results when available for a scheduled update, or the latest daily system health results otherwise.

Update management

Manage Azure Local solution updates separately from workload guest operating system updates. Each has different components, validation requirements, maintenance windows, and recovery procedures.

Infrastructure updates

Use Update Manager for Azure Local to assess update readiness, apply solution updates, and review update history. Use the current Azure Local release information rather than assuming a fixed release cadence.

Starting in November 2026, monthly security updates provide OS latest cumulative updates and .NET updates during the same week as Patch Tuesday. On the latest Azure Local release, these function as security-only updates. On applicable older releases, installation also applies the required Azure Local updates to reach the target security release. Review the supported update path and resulting target version before scheduling the change.

Apply Azure Local solution updates within six months to remain supported. Azure Arc resource bridge also requires solution updates within one year to keep its internal certificates valid. Delaying updates beyond this period can allow these certificates to expire. For more information, see the certificate-expiration warning under Operational Excellence.

The solution update can include the operating system, agents, services, and a hardware-provider Solution Builder Extension (SBE) package. When the hardware provider integrates its drivers and firmware into SBE, the orchestrator coordinates their installation and required reboots within the update workflow. Maintain the firmware and driver versions in the validated hardware support matrix. Confirm the hardware provider's delivery and support process before procurement, and test the complete update on representative hardware before production rollout.

Use the supported solution-update workflow through Update Manager for the Azure Local resource or the documented PowerShell interface. Don't install host patches independently or run Cluster-Aware Updating manually. The update interfaces on individual Azure Arc machine resources, Windows Admin Center, SConfig, and third-party patching tools aren't supported for Azure Local infrastructure updates.

Before you select a target release, review its known issues, supported update path, and the hardware provider's Solution Builder Extension (SBE) release information. Inventory every AKS workload cluster and confirm that its Kubernetes version is supported by the target Azure Local release. If a version isn't supported, upgrade the workload cluster through each required Kubernetes minor version before you update the platform.

Use successful validation of the target solution update and SBE package on a representative nonproduction instance as a quality gate. Roll out the update to production instances in stages, starting with a representative lower-risk instance. After each update, verify platform health, storage and network redundancy, Azure Arc resource bridge health, and workload operation. Pause the rollout and investigate if health checks, workload service-level indicators, or performance targets regress.

Before each update, verify that the remaining available machines have enough CPU and memory capacity to run the workloads within their performance targets. Account for CPU and memory overcommit in this check. For an N+2 design, also verify that the machine count, witness configuration, storage layout, and pool quorum support the two-machine failure state. Update Manager places one machine at a time into maintenance mode and live migrates eligible VMs. This process can't preserve workload uptime on a single-machine deployment or when the remaining machines lack compatible capacity.

Workload guest operating system patching

Use a supported patch-management method for each guest operating system. Update Manager can assess and patch eligible Azure Arc-enabled servers. Define guest maintenance windows, reboot behavior, workload sequencing, and rollback separately from Azure Local solution updates.

Considerations

These considerations implement the pillars of the Azure Well-Architected Framework, which is a set of guiding tenets that you can use to improve the quality of a workload. For more information, see Well-Architected Framework.

Reliability

Reliability helps ensure that your application can meet the commitments that you make to your customers. For more information, see Design review checklist for Reliability.

Design each workload for its own availability and recovery targets. Platform clustering doesn't replace workload-level redundancy, backups, or disaster recovery. For more information, see Architecture best practices for Azure Local.

Define workload service-level objectives (SLOs), RTOs, and RPOs. Include planned maintenance and dependency outages in those targets. Platform availability doesn't establish an end-to-end workload SLO.

Perform a failure mode analysis across facilities, Azure connectivity, machines, storage, networks, VMs, applications, and operator actions. Identify correlated failures and single points of failure. Assign an owner, mitigation, detection signal, and validation test to each material failure mode. Repeat the analysis after material architecture changes, and remediate tests that don't meet the workload SLO, RTO, or RPO.

The following example shows how to apply the recommendations. Contoso, Ltd., is a fictitious customer that runs production line-of-business services on Azure Local at its manufacturing sites. Its business and application owners set a 99.8% workload SLO and define an RTO and RPO for each service. The SLO is a workload target, not an Azure Local service-level agreement.

Priority Recommendation Contoso, Ltd., decision
1. Tolerate local infrastructure failure For most production deployments, use at least three physical machines and reserve one machine's worth of CPU and memory capacity across the instance for an N+1 design. Use three-way mirror for volumes that require its failure tolerance. Use dual ToR switches, redundant network paths, and redundant power. Use a two-machine instance only when its capacity and failure-tolerance tradeoffs meet the workload requirements, and configure a cloud witness. Don't use a single-machine deployment for workloads that require availability during updates or maintenance. Contoso deploys three physical machines at each site. It reserves one machine's worth of CPU and memory capacity across the instance and validates that the remaining two machines can run peak workload demand while one machine is unavailable. It uses three-way mirror, dual ToR switches, and independent power paths.
2. Make each workload redundant Run at least two instances of each production service when the application supports multiple instances. Place redundant VMs on different physical machines by using anti-affinity, and place their virtual hard disks on different storage paths when possible. Use application-native high availability for stateful workloads and health-aware traffic routing between redundant instances. A highly available VM can restart on another cluster node, but VM restart isn't continuous application availability. Contoso runs each application tier on at least two VMs across different physical machines and storage paths. Its stateful services use application-native replication and failover, and health checks remove unavailable instances from traffic routing.
3. Protect every production workload with backups Use host-level backup for whole-VM recovery. Add guest-level or application-native backup for stateful data that requires application-consistent, point-in-time, or item-level recovery. Keep an isolated or immutable recovery copy outside the Azure Local instance, protect repository credentials separately from workload-administration credentials, set retention based on the workload RPO and compliance requirements, and test restoration. Contoso uses host-level backup for each VM and application-native backup for databases. It retains an immutable copy outside the instance under separate backup-administration credentials and uses a documented retention schedule based on each workload's recovery and compliance requirements.
4. Provide recovery from instance or site loss Treat one Azure Local instance as one local failure domain. Continuously replicate workloads that can't meet their RTO or RPO through backup restoration. Prefer application-native replication for stateful workloads. For VM-level protection, use Azure Site Recovery for Azure Local for an Azure recovery target, or Hyper-V Replica for another Azure Local recovery target. With Hyper-V Replica, include registration and reconnection to Azure in the recovery plan if a failed-over VM remains on the target instance. For a temporary failover, document that the VM isn't manageable from Azure while it runs on the target, and fail it back to the original instance within the Azure Arc reconnection window. Replication complements backup because it can also replicate corruption or deletion. Contoso uses Azure as the recovery target for manufacturing sites that have one Azure Local instance. It prepares the Azure Site Recovery infrastructure through the Azure Local resource in the Azure portal and enables replication for eligible VMs from the Recovery Services vault. It uses application-native replication for stateful services that need a lower RPO.
5. Test the complete recovery path Keep the selected identity services, DNS, time, network, and recovery infrastructure available independently of the instance. For local identity, include access to the Key Vault recovery secrets in the recovery procedure. Document workload startup order, network and DNS traffic redirection, failover, failback, and Azure resource reconnection. Set the recovery-test schedule based on workload criticality. For critical workloads, run an isolated disaster-recovery test failover at least monthly, and verify that measured recovery meets the workload RTO and RPO. Test backup restoration and machine maintenance with conditions that represent production. Contoso runs a monthly isolated test failover for its critical business systems, including health-aware traffic routing and DNS redirection. It rotates backup-restoration tests across its other systems based on their criticality and records actual recovery time and recovery-point loss. Failed tests become tracked remediation work.

For more information, see Recommendations for designing for redundancy and Recommendations for reliability testing.

Security

Security provides assurances against deliberate attacks and the misuse of your valuable data and systems. For more information, see Design review checklist for Security.

Cost Optimization

Cost Optimization focuses on ways to reduce unnecessary expenses and improve operational efficiencies. For more information, see Design review checklist for Cost Optimization.

Operational Excellence

Operational Excellence covers the operations processes that deploy an application and keep it running in production. For more information, see Design review checklist for Operational Excellence.

Warning

Prolonged delays in applying Azure Local solution updates can allow internal Azure Arc resource bridge certificates to expire. Expired certificates can prevent Azure-based workload management and solution update operations. Keep the instance within its supported six-month update window, and contact Microsoft Support for recovery assistance if certificates expire. Don't independently upgrade or redeploy the resource bridge. Azure Local manages its upgrade through solution updates. For more information, see internal certificate requirements and resource bridge upgrade guidance for Azure Local.

For more information, see Recommendations for safe deployment practices and Recommendations for using infrastructure as code.

Performance Efficiency

Performance Efficiency refers to your workload's ability to scale to meet user demands efficiently. For more information, see Design review checklist for Performance Efficiency.

Deploy this scenario

  1. Confirm requirements and topology. Document workload capacity, performance, availability, RTO, RPO, security, data-residency, and connectivity requirements. Confirm that connected, storage-switched hyperconverged Azure Local is the appropriate deployment model.

  2. Size the failure state and select validated hardware. Model current workload demand and future growth, including the CPU and memory headroom required for an N+1 or N+2 design and storage-resiliency overhead. Select a supported configuration from the Azure Local catalog that meets the Azure Local system requirements, and confirm firmware, support, replacement-parts, and lifecycle terms with the hardware provider.

  3. Prepare dependencies and networking. Complete the deployment prerequisites, including Azure permissions, the selected AD DS or local identity with Key Vault configuration, DNS, time synchronization, IP address ranges, firewall access, and management access. Configure dual ToR switches and the storage, management, and compute networks for this reference topology. Before the hardware arrives, you can run the standalone Environment Checker connectivity validator from a Windows device on the target network to identify firewall, proxy, DNS, and endpoint-access problems.

  4. Stage and validate the environment. Rack and cable the machines, switches, and redundant power paths. During cloud deployment, the integrated Environment Checker runs the required validators on the actual machines and final network configuration. Resolve all blocking findings, and record the validated hardware and network baseline.

  5. Deploy and verify Azure Local. Follow the current Azure Local deployment sequence. Deploy the first instance through the Azure portal. For repeated deployments, use a source-controlled Azure Resource Manager (ARM) or Bicep deployment that separates validation from deployment and doesn't store credentials in source.

    For local identity, first deploy through the Azure portal, and then use the supported ARM template workflow for deployments at scale.

    Tip

    The two-machine, storage-switched ARM deployment example demonstrates how to deploy Azure Local by using an ARM template and parameter file. The Bicep example demonstrates an Active Directory Domain Services (AD DS) based deployment with separate management, compute, and storage intents. Adapt its network configuration to match this architecture's converged management and compute design.

  6. Establish operations before workloads. Enable monitoring and alerts, assign least-privilege roles, configure platform and guest update processes, document support escalation, and test machine maintenance and recovery. Then deploy workload resources through the Azure Local custom location and validate workload redundancy and recovery procedures.

Terraform

You can use Terraform to automate deployment of Azure Local instances and workload resources:

Review each module's requirements and examples, pin the module and provider versions that you validate, and configure networking and security to match this architecture. The cluster module requires AD DS inputs. For deployments that use local identity with Key Vault, follow the supported ARM template workflow.

In the cluster module, explicitly set credential_guard_enforced and storage_rdma_enabled to true for this baseline's security settings and dedicated storage adapters. Set storage_rdma_protocol to match the validated hardware and network configuration. When you use Trusted launch for supported workload VMs, set the virtual machine instance module's security_type to TrustedLaunch, enable_tpm to true, and secure_boot_enabled to true. Don't enable Trusted launch for VMs that use Azure Site Recovery. For the protection and recovery constraints, see Security.

Next steps