🌐

Azure Proximity Placement Groups - Key Points and Best Practices

Jun 27, 2024

Proximity Placement Groups

Introduction

  • Proximity Placement Groups (PPGs) in Azure
  • Key considerations: best practices for usage
  • Target audience: users focusing on minimizing latency between services and VM scale sets

Separating Resources in Azure

  • Separation for resiliency and isolation from different problem levels:
    • Node level, Rack level, Data Center level, Regional level
  • Mechanisms for separation:
    • Availability Sets: Distributes workloads among different fault domains/racks
    • Availability Zones: Group of buildings within a region, provides isolation from building-level problems
    • Regions: Separate physical locations with considerable distances, useful for disaster recovery

Proximity and Separation Effects

  • Proximity as a side effect of separation techniques:
    • Availability Sets give some proximity within clusters
    • Regions offer a ~2ms round trip latency envelope
  • No SLA guaranteeing proximity

Proximity Placement Groups (PPGs)

  • Purpose: Minimize latency between VMs and VM scale sets
  • Applicability: Only for VMs and VM scale sets, not other services
  • Expectation: Sub-millisecond latency (not guaranteed)

Working Mechanism of PPGs

  • Creation and Pinning:
    1. Create a PPG in a chosen region (e.g., South Central US PPG1)
    2. PPG is initially floating in Azure Resource Manager, not pinned to a data center
    3. First resource added to PPG pins it to a specific data center
    4. All subsequent resources in that PPG will be in the same data center
  • Availability and Capacity Constraint:
    • Capacity limited to the pinned data center
    • Supported VM SKUs depend on the specific data center
  • Not About Disks: PPGs do not reduce latency between VMs and their disks

Best Practices for Using PPGs

  • Declarative Technologies:
    • Use templates (ARM JSON, Bicep, Terraform) for VMs and PPGs
    • Helps Azure Resource Manager make informed placement decisions
  • Non-Declarative Approaches:
    • Avoid using Powershell, CLI, or the portal for initial PPG setup
    • If necessary, start with the most exotic VM SKU to improve placement success

Handling Constraints and Errors

  • Over-Constrained Allocation Request:
    • Indicates unmatched SKU combination in a single data center
    • Retry by reordering resources or use a declarative template

Additional Considerations

  • Existing VMs:
    • Can de-allocate, add to PPG, and start up
    • Maintains alignment in the PPG
  • Availability Sets in AZs via PPGs:
    • Allows placing availability sets in a specific Availability Zone
  • Maintenance and Re-alignment:
    • Resources may show as non-aligned after maintenance
    • De-allocate and restart to re-align

Conclusion

  • Purpose: PPGs aim to reduce VM-to-VM latency
  • Not Influence on Disks: Does not influence VM-to-disk latency
  • Best Practice: Use accelerated networking to further reduce latencies