Introducción a los grupos de selección de ubicación de proximidad

Publicado el 15 julio, 2019

Principal Program Manager, Azure Compute

Colocación de los recursos de Azure para mejorar el rendimiento de las aplicaciones

El rendimiento de las aplicaciones es fundamental para el éxito de su organización de TI. El rendimiento de las aplicaciones puede afectar directamente a su capacidad de aumentar la satisfacción de los clientes y, en última instancia, al crecimiento del negocio.

Son muchos los factores que pueden afectar al rendimiento de las aplicaciones. Uno de ellos es la latencia de la red, que se ve afectada, entre otras cosas, por la distancia física entre las máquinas virtuales implementadas.

Por ejemplo, cuando coloca las instancias de Microsoft Azure Virtual Machines en una sola región de Azure, la distancia física entre las máquinas virtuales se reduce. Colocarlas dentro de una única zona de disponibilidad es otro paso que puede llevar a cabo para implementar las máquinas virtuales más cerca unas de otras. Sin embargo, a medida que la superficie de Azure crece, una sola zona de disponibilidad puede abarcar varios centros de datos físicos, lo que provoca una latencia de red que puede afectar al rendimiento general de las aplicaciones. Si una región no admite zonas de disponibilidad o la aplicación no utiliza este tipo de zonas, la consecuencia es que la latencia entre las capas de aplicación puede aumentar.

Hoy, anunciamos la versión preliminar de los grupos de selección de ubicación de proximidad. Una nueva funcionalidad que estamos poniendo a disposición de los usuarios para lograr la colocación de los recursos de infraestructura como servicio (IaaS) de Azure y la baja latencia de la red entre ellos.

Los grupos de selección de ubicación de proximidad representan una nueva funcionalidad de agrupación lógica para las instancias de Azure Virtual Machines, que a su vez se usa como una restricción de implementación al seleccionar dónde colocar las máquinas virtuales. De hecho, cuando asigna las máquinas virtuales a un grupo de selección de ubicación de proximidad, dichas máquinas se colocan en el mismo centro de datos, lo que da lugar a una latencia más baja y determinista para las aplicaciones.

Cuándo utilizar grupos de selección de ubicación de proximidad

Los grupos de selección de ubicación de proximidad mejoran el rendimiento global de la aplicación al reducir la latencia de red entre las máquinas virtuales. Debe plantearse el uso de los grupos de selección de ubicación de proximidad para implementaciones basadas en IaaS y de varias capas donde las capas de aplicación se implementan mediante varias máquinas virtuales, conjuntos de disponibilidad o conjuntos de escalado de máquinas virtuales.

Como ejemplo, considere el caso en el que cada capa de la aplicación se implementa en un conjunto de disponibilidad o un conjunto de escalado de máquinas virtuales para alta disponibilidad. El uso de un solo grupo de ubicación de proximidad para todas las capas de las aplicaciones, incluso si utilizan SKU y tamaños de máquinas virtuales diferentes, obligará a todas las implementaciones a seguirse unas a otras y a aterrizar en el mismo centro de datos para una mejor latencia.

Para obtener los mejores resultados con los grupos de selección de ubicación de proximidad, asegúrese de utilizar redes aceleradas y optimice las máquinas virtuales para baja latencia.

Introducción a los grupos de selección de ubicación de proximidad

La forma más fácil de comenzar con grupos de selección de ubicación de proximidad es usarlos con las plantillas de Azure Resource Manager (ARM).

Para crear un recurso de grupo de selección de ubicación de proximidad, simplemente agregue la siguiente instrucción:

{
"apiVersion": "2018-04-01",
"type": "Microsoft.Compute/proximityPlacementGroups",
"name": "[parameters('ppgName')]",
"location": "[resourceGroup().location]"
}

Para usar este grupo de selección de ubicación de proximidad más adelante en la plantilla con una máquina virtual (o un conjunto de disponibilidad o un conjunto de escalado de máquinas virtuales), simplemente agregue la siguiente dependencia y propiedad:

{
   "name": "[parameters('virtualMachineName')]",
   "type": "Microsoft.Compute/virtualMachines",
   "apiVersion": "2018-06-01",
   "location": "[parameters('location')]",
   "dependsOn": [
     "[concat('Microsoft.Compute/proximityPlacementGroups/', parameters('ppgName'))]"
   ],
   "properties": {
     "proximityPlacementGroup": {
       "id": "[resourceId('Microsoft.Compute/proximityPlacementGroups',parameters('ppgName'))]"
   }
}

Para más información sobre los grupos de selección de ubicación de proximidad, consulte los siguientes tutoriales sobre el uso de grupos de selección de ubicación de proximidad con PowerShell y la CLI .

Qué se espera cuando se usan grupos de selección de ubicación de proximidad

Los grupos de selección de ubicación de proximidad ofrecen colocación en el mismo centro de datos. Sin embargo, debido a que los grupos de selección de ubicación de proximidad representan una restricción de implementación adicional, pueden surgir errores en la asignación (por ejemplo, es posible que no pueda colocar las instancias de Azure Virtual Machines en el mismo grupo de selección de ubicación de proximidad).

Cuando solicita la primera máquina virtual en el grupo de selección de ubicación de proximidad, el centro de datos se selecciona automáticamente. En algunos casos, una segunda solicitud para un SKU de máquina virtual diferente puede dar error, ya que no existe en el centro de datos ya seleccionado. En este caso, se devolverá un error OverconstrainedAllocationRequest. Para solucionar problemas, compruebe qué máquinas virtuales están disponibles en la región o zona elegida mediante Azure Portal o las API. Si todos los SKU deseados están disponibles, intente cambiar el orden en que los implementa.

En el caso de implementaciones elásticas, que se escalan horizontalmente, tener una restricción de grupo de selección de ubicación de proximidad en la implementación puede suponer que la solicitud no se satisfaga. Cuando utilice grupos de selección de ubicación de proximidad, le recomendamos que solicite todas las máquinas virtuales al mismo tiempo.

Los grupos de selección de ubicación de proximidad se encuentran ahora en versión preliminar y se ofrecen de forma gratuita en todas las regiones, excepto en Japón Oriental, Este de Australia y Centro de la India.

Consulte nuestra documentación para información adicional sobre los grupos de selección de ubicación de proximidad.

Esto es lo que hemos oído de SAP a quien participó en el programa de versión preliminar temprana:

“Es realmente genial ver ahora esta característica disponible públicamente. Vamos a utilizarla en nuestras implementaciones estándar. Mi equipo está automatizando implementaciones a gran escala de escenarios SAP. Para garantizar el mejor rendimiento de los sistemas, es esencial garantizar una baja latencia entre los diferentes componentes del sistema. Especialmente importante es la comunicación entre el servidor de aplicaciones y la base de datos, así como la latencia entre las máquinas virtuales de HANA cuando la replicación sincrónica tiene que estar habilitada. A finales de 2018 hicimos algunas mediciones en varias regiones de Azure y descubrimos que, a veces, la latencia no era la esperada y no estaba en el intervalo óptimo. Mientras intercambiábamos opiniones sobre esta problemática con Microsoft, nos ofrecieron unirnos a la versión preliminar temprana y evaluar la característica Grupos de selección de ubicación de proximidad (PPG). Durante nuestra evaluación, pudimos reducir la latencia a menos de 0,3 ms entre todos los componentes del sistema, lo que es más que suficiente para garantizar un gran rendimiento del sistema. Logramos los mejores resultados deterministas cuando los grupos de selección de ubicación de proximidad se combinaron con la aceleración de red de NIC de máquina virtual, lo que además mejoró las latencias medidas”.

Ventsislav Ivanov, arquitecto de desarrollo, SAP