Proximity placement groups

Proximity placement groups are a logical entity, and an architectural component that should be considered in any solution design where low latency between Azure infrastructure compute resources are required. They ensure the compute resources are physically adjacent and collocated within the same physical data center and not across data centers.

Proximity placement groups are important where latency is considered. Placing the resources closer within a single availability zone is possible, but the challenge is that an availability zone can expand to span multiple physical data centers. The web frontend tier virtual machines may be in one data center, but the database tier is in a different data center’s racks; the latency impact here should be readily apparent. Proximity placement groups alleviate this as previously virtual machine-accelerated networking was one solution to latency.

The following diagram outlines the placement of virtual machines without a proximity placement group:

Figure 3.12 – Virtual machine placement without proximity placement groups

In the preceding diagram, we see that two virtual machines that need to communicate with each other could be placed by Microsoft in different data centers several kilometers apart, which may cause issues due to latency. The following diagram outlines the Azure proximity placement groups topology and how this can reduce latency; the virtual machines are now located within the same data center, and the latency is now reduced to within the same rack:

Figure 3.13 – Virtual machine placement without proximity placement groups

The preceding diagram for proximity placement groups while solving a latency problem does introduce an availability issue; as both virtual machines are now located in the same rack, they now also share the same fault and update domain. This issue can be resolved by using an availability set so that each virtual machine will be placed in a different rack and different fault and update domains. The following diagram outlines this:

Figure 3.14 – Proximity placement groups and availability sets

The following information should be noted about proximity placement groups:

  • They are Azure resources and need to be created before they can be used.
  • They can be used with virtual machines, virtual machine scale sets, and availability sets.
  • When creating the compute resource, you specify the proximity placement group previously created.
  • You can move existing compute resources into a proximity placement group; the resource will need to be stopped (deallocated) to move.
  • They are set at the resource level not the individual virtual machine level for availability sets and virtual machine scale sets.
  • A workload such as SAP Hana with SAP NetWeaver is a good example to illustrate the importance of having the machines far enough away for high availability/SLA but close enough not to face latency issues in communication.

This section looked at proximity placement groups. The following section looks at ASR.