You are implementing an n-tier application that runs on three Azure Virtual Machines (VMs) in your Azure subscription.
The application requires the lowest possible network latency between the Azure VMs.
You need to deploy the application using the most cost-effective solution.
What should you do?
You should create a proximity placement group. You can use a proximity placement group to provision resources like Azure VMs or VM scale sets that are physically located close to each other. This achieves the lowest network latency between this group of resources.
You should not deploy the VMs on a Dedicated Host. You can use a Dedicated Host to host one or more VMs in the Azure infrastructure. To achieve the lowest network latency, you also need a proximity placement group, which is not compatible with a Dedicated Host.
You should not use a VM scale set and deploy the VMs in the same fault domain or update domain. You can use a VM scale set to provide high availability for each application tier by increasing the VM redundancy. A fault domain is a logical group that shares the same hardware power supply and network switch. An update domain also shares the same hardware, but it is logically separated from the fault domain so they can perform maintenance operations at different times. A fault domain and an update domain are used by a single VM scale set. You cannot control where you deploy your VMs in a specific fault or update domain, and you cannot guarantee that the resources are physically located close to each other using three different VM scale sets. Therefore, the lowest network latency would not necessarily be achieved.