Emplacements de déploiement et permutation
Créez des emplacements de préproduction pour les déploiements bleu-vert, préparez une nouvelle version dans l’emplacement de préproduction et basculez-la en production sans temps d’arrêt.
Emplacements de déploiement et permutation est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Que sont les emplacements de déploiement ?
Les emplacements de déploiement sont des environnements actifs et distincts pour une application web App Service, chacun possédant son propre nom d’hôte (par exemple, myapp-staging.azurewebsites.net). Les emplacements partagent le même plan App Service et les mêmes ressources que l’emplacement de production, mais s’exécutent indépendamment. Ils permettent les déploiements bleu-vert : vous validez une nouvelle version dans un emplacement de préproduction, puis vous la permutez avec la production sans interruption. Les emplacements sont disponibles à partir du niveau Standard.
Créer un emplacement de déploiement
Ajoutez un nouvel emplacement de déploiement à votre application web à l’aide du portail Azure ou de CLI. Chaque emplacement possède sa propre URL, ses paramètres d’application et ses chaînes de connexion. Vous pouvez créer jusqu’à 5 emplacements avec le niveau Standard et jusqu’à 20 emplacements avec le niveau Premium. Parmi les noms courants figurent staging, canary, hotfix et integration, qui correspondent aux différentes étapes du pipeline de mise en production.
# Create a staging deployment slot
az webapp deployment slot create \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging
# Deploy code to the staging slot
az webapp deploy \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--src-path app.zip
# The staging slot is live at:
# https://MyUniqueWebApp-staging.azurewebsites.netPréparer l’emplacement de préproduction
Avant la permutation, il est essentiel de préparer l’emplacement de préproduction afin que la nouvelle version soit entièrement initialisée. Une instance App Service froide traite lentement les premières requêtes, le temps que l’environnement d’exécution s’initialise, ce qui est inacceptable en production. Activez Auto Swap ou envoyez manuellement des requêtes HTTP de préparation à l’emplacement de préproduction. App Service prend également en charge une configuration applicationInitialization permettant de définir des chemins de préparation qui doivent renvoyer le code 200 avant que l’emplacement soit considéré comme prêt.
# web.config snippet for warm-up (IIS/Windows)
# <system.webServer>
# <applicationInitialization>
# <add initializationPage='/health' hostName='MyUniqueWebApp-staging.azurewebsites.net'/>
# </applicationInitialization>
# </system.webServer>
# Or use a startup probe via the App Service health check
az webapp config set \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--generic-configurations '{"healthCheckPath": "/health"}'Permuter les emplacements
Une permutation échange de manière atomique les emplacements de préproduction et de production. Lors d’une permutation, App Service achemine d’abord le trafic vers les instances de préproduction exécutant le nouveau code, attend leur initialisation, puis redirige tout le trafic de production vers les nouvelles instances ; les anciennes instances de production deviennent alors le nouvel emplacement de préproduction. Le retour en arrière est ainsi très simple : il suffit d’effectuer une nouvelle permutation.
# Swap staging into production
az webapp deployment slot swap \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--target-slot production
# Rollback: swap production back to staging
az webapp deployment slot swap \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot production \
--target-slot stagingParamètres liés ou non à l’emplacement
Les paramètres d’application peuvent être marqués comme liés (propres à l’emplacement) ou non liés (permutables). Les paramètres non liés suivent l’emplacement de déploiement lors d’une permutation : la chaîne de connexion de votre base de données de préproduction suit donc le code jusque dans la production. Les paramètres liés restent associés à l’emplacement, quelles que soient les permutations : la production conserve toujours sa chaîne de connexion à la base de données de production. Marquez les paramètres comme liés à l’aide de la case « paramètre d’emplacement de déploiement » ou de CLI.
# Mark a setting as sticky (slot-specific) -- it won't swap
az webapp config appsettings set \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--slot-settings DATABASE_URL='postgresql://staging-db/...'
# Set a non-sticky setting (it WILL travel with a swap)
az webapp config appsettings set \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--settings FEATURE_FLAG_NEW_UI=trueRépartition du trafic pour les mises en production canary
App Service prend en charge la répartition du trafic : il achemine un pourcentage du trafic de production vers un emplacement hors production sans effectuer de permutation complète. Cela permet les mises en production canary, où vous augmentez progressivement le trafic de 5 % à 10 %, puis à 50 %, à mesure que vous gagnez confiance dans la nouvelle version, tout en surveillant les taux d’erreur à chaque étape. Les utilisateurs dirigés vers l’emplacement canary reçoivent un cookie persistant qui les maintient sur la même version pendant leur session.
# Route 10% of traffic to the staging slot (canary)
az webapp traffic-routing set \
--name MyUniqueWebApp \
--resource-group MyRG \
--distribution staging=10
# View current traffic distribution
az webapp traffic-routing show \
--name MyUniqueWebApp \
--resource-group MyRG
# Reset all traffic to production
az webapp traffic-routing clear \
--name MyUniqueWebApp \
--resource-group MyRGPermutation automatique
Auto Swap permute automatiquement un emplacement de préproduction avec la production chaque fois qu’un nouveau code y est déployé. Cette fonctionnalité est idéale pour les pipelines CI/CD lorsque vous souhaitez que chaque déploiement réussi soit immédiatement mis en ligne. Auto Swap attend que les requêtes HTTP de l’emplacement de préproduction renvoient le code 200 avant de terminer la permutation. Activez-la pour chaque emplacement dans le portail ou avec CLI, mais utilisez-la avec prudence, car aucune étape d’approbation manuelle ne sépare le déploiement de la mise en production.
# Enable Auto Swap for the staging slot
az webapp deployment slot auto-swap \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--auto-swap-slot production
# Disable Auto Swap
az webapp deployment slot auto-swap \
--name MyUniqueWebApp \
--resource-group MyRG \
--slot staging \
--disableBonnes pratiques pour les emplacements de déploiement
Suivez ces bonnes pratiques pour les emplacements de déploiement : validez toujours en préproduction avant de permuter avec la production, utilisez des paramètres liés pour isoler les connexions à la base de données de production de celles de la préproduction, exécutez des tests de fumée sur l’URL de l’emplacement de préproduction après le déploiement, configurez des chemins de contrôle d’intégrité afin qu’App Service n’achève pas la permutation si la nouvelle version n’est pas saine, et étiquetez vos déploiements pour pouvoir identifier le commit actif dans chaque emplacement.
Emplacements dans les pipelines CI/CD
Dans un pipeline CI/CD classique, l’étape de compilation compile et teste le code, l’étape de déploiement envoie l’artefact vers l’emplacement de préproduction, une étape de test d’intégration exécute des tests automatisés sur l’URL de préproduction, puis l’étape de permutation permute la préproduction avec la production, éventuellement après une approbation manuelle. Ce modèle est pris en charge nativement par Azure Pipelines et GitHub Actions avec l’action de déploiement App Service.
# GitHub Actions step: deploy to staging slot
# - name: Deploy to Staging Slot
# uses: azure/webapps-deploy@v2
# with:
# app-name: MyUniqueWebApp
# slot-name: staging
# publish-profile: ${{ secrets.AZURE_STAGING_PUBLISH_PROFILE }}
#
# - name: Swap to Production
# uses: azure/CLI@v1
# with:
# inlineScript: |
# az webapp deployment slot swap \
# --name MyUniqueWebApp \
# --resource-group MyRG \
# --slot stagingSuperviser la santé après une permutation
Pendant et après une permutation d’emplacements, surveillez les métriques clés dans Azure Monitor afin de confirmer que la nouvelle version fonctionne correctement. Soyez attentif aux pics d’erreurs HTTP 5xx, au temps de réponse moyen et à l’utilisation du CPU et de la mémoire. Configurez des alertes de métriques qui se déclenchent si les taux d’erreur dépassent un seuil ; vous disposerez ainsi d’un signal pour effectuer rapidement une nouvelle permutation en sens inverse. La détection intelligente d’Application Insights peut vous avertir automatiquement des anomalies après un déploiement.
# Create an alert rule for HTTP 5xx errors post-swap
az monitor metrics alert create \
--name 'HighErrorRate' \
--resource-group MyRG \
--scopes '/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
--condition 'avg Http5xx > 10' \
--window-size 5m \
--evaluation-frequency 1m \
--action-group MyActionGroupEmplacements ou applications multiples
Les emplacements de déploiement sont préférables à la gestion d’applications App Service entièrement distinctes pour la préproduction et la production, car ils partagent le même plan (sans coût supplémentaire), permettent une permutation en un clic avec retour en arrière, prennent en charge la répartition du trafic et sont gérés dans la même ressource App Service. Utilisez des applications distinctes uniquement lorsque la préproduction nécessite des SKU de plan fondamentalement différents, des exigences d’isolation particulières ou une facturation totalement séparée.
Vérification rapide
Vérifiez votre compréhension des concepts de Microsoft Azure Fundamentals (AZ-900) abordés dans cette leçon.
Récapitulatif de la leçon
Dans cette leçon, vous avez appris que les emplacements de déploiement fournissent des environnements isolés permettant les déploiements bleu-vert, que les paramètres liés à l’emplacement maintiennent la configuration propre à chaque environnement (comme les URL de base de données) associée à l’emplacement plutôt qu’au code, et que la répartition du trafic permet les mises en production canary en acheminant un pourcentage du trafic de production vers une nouvelle version. Nous allons maintenant découvrir la mise à l’échelle automatique et les domaines personnalisés.
Questions Fréquemment Posées
La leçon « Emplacements de déploiement et permutation » est-elle gratuite ?
Oui — le texte complet de « Emplacements de déploiement et permutation » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Emplacements de déploiement et permutation » ?
Créez des emplacements de préproduction pour les déploiements bleu-vert, préparez une nouvelle version dans l’emplacement de préproduction et basculez-la en production sans temps d’arrêt. Tu pratiques Cloud & IT Cert Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cloud & IT Cert Prep ?
Aucune expérience préalable n'est requise. Cloud & IT Cert Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Emplacements de déploiement et permutation » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cloud & IT Cert Prep ?
Oui. Chaque leçon Cloud & IT Cert Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Création d’un plan App Service et d’une application web
- Emplacements de déploiement et permutation
- Mise à l’échelle automatique et domaines personnalisés
- Authentification et mise en réseau App Service