Création de groupes de placements de proximité

Publié le 15 juillet, 2019

Principal Program Manager, Azure Compute

Colocalisez vos ressources Azure pour améliorer les performances des applications

Les performances de vos applications sont au cœur de la réussite de votre organisation informatique. Les performances des applications peuvent impacter directement votre capacité à accroître la satisfaction des clients et par conséquent, à développer votre activité.

De nombreux facteurs peuvent affecter les performances de vos applications. L’un d’entre eux est la latence sur le réseau qui est, entre autres, impactée par la distance physique entre les machines virtuelles déployées.

Par exemple, lorsque vous placez vos Machines Virtuelles Microsoft Azure dans une seule région Azure, la distance physique entre les machines virtuelles diminue. Les placer au sein d’une même zone de disponibilité est une autre possibilité pour déployer vos machines virtuelles plus proches les unes des autres. Cependant, à mesure que l’empreinte Azure augmente, une seule zone de disponibilité peut s’étendre sur plusieurs centres de données physiques, entraînant une latence sur le réseau qui peut impacter l’ensemble des performances de vos applications. Si une région ne prend pas en charge de zones de disponibilité ou si votre application n’utilise pas les zones de disponibilité, la latence entre les couches d’applications peut alors augmenter.

Aujourd’hui, nous annonçons la préversion des groupes de placement de proximité. Une nouvelle fonctionnalité que nous rendons disponible afin d’obtenir la colocalisation de vos ressources Azure Infrastructure as a Service (IaaS) et une faible latence sur le réseau entre elles.

Les groupes de placement de proximité Azure représentent une nouvelle fonctionnalité de groupement logique pour vos Machines Virtuelles Microsoft Azure, qui en retour est utilisée comme contrainte de déploiement lors de la sélection de placement de vos machines virtuelles. En fait, lorsque vous attribuez vos machines virtuelles à un groupe de placement de proximité, les machines virtuelles sont placées dans le même centre de données, entraînant ainsi une latence plus faible et déterministe pour vos applications.

Quand utiliser les groupes de placement de proximité

Les groupes de placement de proximité améliorent l’ensemble des performances des applications en réduisant la latence sur le réseau au sein des machines virtuelles. Vous pouvez envisager l’utilisation de groupes de placement de proximité pour des déploiements IaaS, à plusieurs niveaux, où les couches d’applications sont déployées en utilisant plusieurs machines virtuelles, des groupes à haute disponibilité et/ou des groupes de machines virtuelles identiques.

Par exemple, imaginez le cas où chaque niveau de votre application est déployé dans un groupe à haute disponibilité ou un groupe de machines virtuelles identiques pour une haute disponibilité. L’utilisation d’un seul groupe de placement de proximité pour tous les niveaux de vos applications, même s’ils utilisent divers SKU et tailles de machine virtuelle, obligera tous les déploiements à se suivre et à finir dans le même centre de données pour une meilleure latence.

Afin d’obtenir les meilleurs résultats avec les groupes de placement de proximité, assurez-vous d’utiliser une mise en réseau accélérée et d’optimiser vos machines virtuelles pour une latence faible.

Prise en main des groupes de placement de proximité

La façon la plus simple de commencer avec les groupes de placement de proximité est de les utiliser avec vos modèles Azure Resource Manager (ARM).

Pour créer une ressource de groupe de placement de proximité, ajoutez simplement l’instruction suivante :

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

Pour utiliser ce groupe de placement de proximité plus loin dans le modèle avec une machine virtuelle (ou un groupe à haute disponibilité ou un groupe de machines virtuelles identiques), ajoutez simplement la dépendance et la propriété suivantes :

{
   "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'))]"
   }
}

Pour en savoir plus sur les groupes de placement de proximité, regardez les didacticiels suivants sur l’utilisation des groupes de placement de proximité avec PowerShell et CLI.

À quoi s’attendre en utilisant des groupes de placement de proximité

Les groupes de placement de proximité offrent une colocalisation dans le même centre de données. Cependant, comme les groupes de placement de proximité représentent une contrainte de déploiement supplémentaire, des échecs de répartition peuvent survenir (par exemple, vous ne pouvez pas placer vos Machines virtuelles Microsoft Azure dans le même groupe de placement de proximité).

Lorsque vous demandez la première machine virtuelle dans le groupe de placement de proximité, le centre de données est automatiquement sélectionné. Dans certains cas, une deuxième requête pour un SKU de machine virtuelle différent peut échouer puisqu’il n’existe pas dans le centre de données déjà sélectionné. Dans ce cas, une erreur OverconstrainedAllocationRequest sera renvoyée. Pour résoudre le problème, vérifiez quelles machines virtuelles sont disponibles dans la région ou la zone choisie à l’aide d’un portail ou d’API Microsoft Azure. Si tous les SKU souhaités sont disponibles, essayez de changer l’ordre dans lequel vous les déployez.

Dans le cas de déploiements élastique, qui montent en charge, la présence d’une contrainte de groupe de placement de proximité peut entraîner l’échec de la requête. Lorsque des groupes de placement de proximité sont utilisés, nous recommandons que vous demandiez toutes les machines virtuelles en même temps.

Les groupes de placements de proximité sont désormais disponibles en préversion et proposés gratuitement dans toutes les régions à l’exception des régions Japon Est, Australie Est et Inde Centre.

Veuillez consulter notre documentation pour obtenir des informations supplémentaires sur les groupes de placement de proximité.

SAP a participé au programme de préversion pour utilisateurs précoces et voici ce qu’ils en disent :

« C’est vraiment formidable que cette fonctionnalité soit désormais disponible publiquement. Nous allons l’utiliser dans nos déploiements standards. Mon équipe est en train d’automatiser les déploiements à grande échelle des environnement SAP. Pour obtenir les meilleures performances des systèmes, il est essentiel d’avoir une latence faible entre les différents composants du système. La communication entre le serveur d’application et la base de données est particulièrement critique, ainsi que la latence entre les machines virtuelles HANA, lorsque la réplication synchrone doit être activée. À la fin de l’année 2018, nous avons effectué des mesures dans diverses régions Azure et avons constaté que la latence n’était pas celle attendue et qu’elle ne se trouvait pas dans la plage optimale. En en discutant avec Microsoft, nous avons proposé de rejoindre le programme de préversion pour utilisateurs précoces afin d’évaluer la fonctionnalité Groupes de placement de proximité. Lors de notre évaluation, nous avons pu abaisser la latence à moins de 0,3 ms entre tous les composants du système, ce qui est plus que suffisant pour garantir de très bonnes performances des systèmes. Nous avons obtenu les meilleurs résultats déterministes lorsque les groupes de placement de proximité étaient combinés à l’accélération de réseau des cartes d’interface réseau des machines virtuelles, ce qui a aussi amélioré les latences mesurées. »

Ventsislav Ivanov, Architecte du développement, SAP