[Actualité] Azure Web Apps : test en production avec les slots de déploiement
par
, 25/10/2016 à 11h06 (2969 Affichages)
Le service Azure Web Apps dispose d’une fonctionnalité assez intéressante pour les déploiements et les tests en production : les emplacements de déploiement (deployment slot).
Lorsque vous créez une web application dans Azure, cette dernière est disponible par défaut à un travers un slot de production. Azure offre, cependant, la possibilité de créer d’autres emplacements de déploiement, qui sont en quelque sorte des “sous-applications web” dans le même “Service Plan” que votre application web principale, avec leur propre URL.
Lors du déploiement d’une application, le développeur peut donc dans un premier temps cibler un autre emplacement que celui de production, ensuite procéder à un échange (swap) avec l’emplacement de production en un clic, sans aucun temps d’arrêt.
Cette approche offre plusieurs avantages :
- fin des downtime pour votre site. Avec cette fonctionnalité, vous n’aurez plus besoin d’arrêter votre site pendant le déploiement et afficher une page de maintenance aux utilisateurs. La redirection du trafic est transparente et aucune demande n’est abandonnée.
- la possibilité de valider les modifications de l’application dans un emplacement avant de procéder au changement avec l’emplacement de production ;
- la possibilité de rediriger un pourcentage de vos utilisateurs sur un emplacement précis pour valider la réactivité de la nouvelle version de votre site avant de procéder au swap.
- suite au swap, l’emplacement précédent contient désormais la version qui était en production. Ainsi, en cas de problème en production, vous pouvez rapidement revenir sur la version précédente.
Ajout d’un slot déploiement
Dans le portail Azure, allez sur App Service, sélectionnez votre application, cliquez ensuite sur Deployment slots, puis sur Add Slot.
Vous devez par la suite définir le nom du slot et choisir si vous souhaitez cloner la configuration de votre emplacement à partir d’un autre, ou utiliser celui du slot de production.
Ceci fait, votre nouvel emplacement est disponible et accessible avec comme URL le nom de votre application + le nom du slot. Lors de vos déploiements, vous pouvez dans un premier temps cibler cet emplacement, valider vos modifications “quasiment en production”, ensuite réaliser un swap pour faire passer la nouvelle version dans le slot de production. La version en production se retrouve dans le slot de staging.
Test en production
Les tests en production concernent couramment la montée en charge et les performances, pour évaluer la réactivité de l’application. Ils permettent aussi d’avoir un feedback des utilisateurs. De ce fait, avant de rendre disponible une nouvelle version d’une application Web, il est assez fréquent de rediriger de façon transparente un certain nombre d’utilisateurs vers la nouvelle version afin de roder cette dernière.
Avec les emplacements de déploiements, mettre cela en place devient quasiment “un jeu d’enfant”. Pour le faire, il suffit d’aller sur “Testing in production” dans le portail Azure et définir le pourcentage d’utilisateur que vous souhaitez rediriger vers la nouvelle application.
Dans l’exemple ci-dessus, Azure se chargera de rediriger 30% des utilisateurs de l’application web vers l’emplacement staging. Par ailleurs, dès qu’un utilisateur est redirigé vers la nouvelle version, toutes les fois qu’il accédera à l’application, il sera redirigé vers cette version.