Partager via


Automatisation de la plateforme et DevOps pour l’accélérateur de zone d’atterrissage App Service

Cet article fournit des considérations et des recommandations de conception pour l’automatisation de la plateforme et DevOps que vous pouvez appliquer lorsque vous utilisez l’accélérateur de zone d’atterrissage Azure App Service. L’automatisation de la plateforme et DevOps offrent des opportunités de moderniser votre approche du déploiement à l’aide de l’infrastructure en tant que code.

En savoir plus sur l’automatisation de la plateforme et la zone de conception DevOps.

Considérations relatives à la conception

L’automatisation et DevOps sont des pratiques importantes dans le développement de logiciels modernes, et App Service est une plateforme puissante pour la création et le déploiement d’applications web. En utilisant des techniques d’automatisation et DevOps, vous pouvez simplifier votre flux de travail et améliorer la qualité et la fiabilité de vos applications.

Prenez en compte les considérations suivantes lorsque vous préparez un déploiement d’App Service.

  • Comprendre les exigences et les objectifs du projet afin de déterminer les outils et approches les plus appropriés pour l’automatisation. Cette étape implique d’identifier les tâches que vous souhaitez automatiser, telles que l’approvisionnement d’infrastructure, le déploiement de code et les tests. Il implique également d’identifier les outils et technologies que vous utiliserez pour implémenter l’automatisation.

  • Rendez la sécurité prioritaire lorsque vous concevez une automatisation et un pipeline CI/CD dans App Service. Les tâches de sécurité peuvent inclure l’implémentation de mesures d’authentification et d’autorisation pour protéger l’accès au pipeline et à ses composants. Ils peuvent également inclure l’implémentation du chiffrement et d’autres mesures de sécurité pour protéger les données sensibles.

  • Envisagez l’intégration et le déploiement continus. App Service prend en charge l’intégration et le déploiement continus à partir de différents systèmes de contrôle de code source, notamment Azure Repos, GitHub et Bitbucket. Vous pouvez utiliser ces outils pour automatiser le processus de génération et de déploiement, en vous assurant que votre application est toujours à jour et disponible.

  • Envisagez les scripts d’automatisation. App Service fournit un certain nombre de scripts d’automatisation, notamment PowerShell, Azure CLI, Bicep et Azure Resource Manager (ARM). Vous pouvez utiliser ces scripts pour automatiser des tâches courantes telles que l’approvisionnement et la mise à l’échelle des ressources.

  • Déterminez si vous devez utiliser des agents auto-hébergés. En fonction de la configuration de votre réseau, App Services peut ne pas être disponible à partir de l’Internet public. Si ce n'est pas le cas, les agents hébergés sur des serveurs publics ne fonctionneront pas pour les déploiements. Prévoyez d’utiliser des agents auto-hébergés dans ces scénarios.

  • Adoptez une stratégie de branchement qui vous aidera à collaborer tout en offrant une flexibilité. Veillez à ce que votre stratégie reste simple, utilisez l’isolation des fonctionnalités de courte durée de vie, et autorisez les modifications apportées à votre branche principale par le biais de demandes de tirage avec une analyse manuelle et automatisée du code.

  • Vérifiez que votre logique métier est vérifiée par des tests unitaires dans le pipeline de build. Utilisez des tests d’intégration dans le pipeline de mise en production pour vérifier que tous les services et ressources fonctionnent ensemble après une nouvelle version. Vérifiez les éléments d’interface utilisateur les plus critiques à l’aide de tests automatisés de l’interface utilisateur. Vérifiez les exigences de performances non fonctionnelles à l’aide de tests de charge via des outils tels que k6 et JMeter dans votre environnement intermédiaire.

  • Surveillez et gérez l’automatisation et le pipeline CI/CD. Ce processus peut impliquer l’implémentation d’outils de journalisation et de surveillance pour suivre les performances et l’intégrité de votre pipeline. Il peut également impliquer l’implémentation d’un processus pour examiner et mettre à jour régulièrement le pipeline afin de s’assurer qu’il reste efficace et efficace.

La clé de l’automatisation de la plateforme et de l’implémentation du pipeline CI/CD dans App Service consiste à planifier et concevoir soigneusement la solution, en tenant compte des besoins et exigences spécifiques des applications que vous déployez. En utilisant la bonne approche, vous pouvez créer une plateforme évolutive, sécurisée et efficace pour déployer et gérer vos applications dans le cloud.

Recommandations en matière de conception

Gardez à l’esprit les meilleures pratiques suivantes lorsque vous déployez App Service.

  • Utilisez Azure DevOps pour votre pipeline CI/CD. Azure DevOps fournit une solution complète pour automatiser la génération, le test et le déploiement de vos applications.

  • Utilisez des pipelines ou des actions pour :

    • Optimisez les avantages des pratiques appliquées au sein de l’équipe.
    • Supprimez la majeure partie du fardeau de la réinvention des processus.
    • Obtenez des aperçus et une prévisibilité sur l'agilité et la qualité globales.
  • Déployez tôt et souvent en utilisant des pipelines planifiés et basés sur des déclencheurs. Les pipelines basés sur des déclencheurs garantissent que les modifications passent par une validation appropriée. Les pipelines planifiés gèrent le comportement dans les environnements changeants.

  • Séparez le déploiement d’infrastructure du déploiement d’applications. L’infrastructure principale change moins fréquemment que les applications. Traitez chaque type de déploiement comme un flux et un pipeline distincts.

  • Utilisez l’infrastructure en tant qu’outils de code tels que des modèles ARM ou Bicep pour automatiser l’approvisionnement et la gestion de vos ressources Azure. Vous pouvez utiliser des modèles ARM et Bicep pour définir votre infrastructure en tant que code, ce qui facilite le contrôle de version, collabore et automatise le déploiement de vos ressources.

  • Stockez des secrets et d’autres artefacts sensibles dans le magasin de secrets approprié (comme les secrets Azure Key Vault ou GitHub). Autorisez les actions et d’autres parties de workflow à les lire en fonction des besoins.

  • Essayez d'optimiser le parallélisme de déploiement en évitant les configurations et paramètres codés en dur.

  • Implémentez la sécurité shift-left en intégrant les outils d’analyse des vulnérabilités et des secrets, comme les analyseurs de conteneurs, dès le début du pipeline.

  • Configurez une stratégie de déploiement qui implémente les principes des déploiements bleu/vert ou canary pour réduire les temps d’arrêt et réduire le risque d’échecs de déploiement. Cela vous permet de déployer progressivement de nouvelles versions de votre application sur un petit sous-ensemble d’utilisateurs avant de le déployer sur l’ensemble de la base utilisateur.

  • Utilisez des emplacements de déploiement App Service pour implémenter une stratégie de déploiement bleu/vert. Cela vous permet de valider et de tester vos déploiements dans un environnement intermédiaire avant de les déployer en production. Cette stratégie vous permet de garantir un déploiement fluide et réussi, de valider les modifications d’application et de réduire les temps d’arrêt.

  • Surveillez et suivez les performances et la disponibilité de vos applications à l’aide d’Application Insights. Application Insights fournit des analyses en temps réel sur les performances et l’utilisation de vos applications. Il peut également vous aider à diagnostiquer et résoudre rapidement les problèmes qui surviennent.

  • Implémentez des outils et des processus qui facilitent la communication et la collaboration, tels que les méthodologies de développement Agile et les outils de suivi et de gestion des tâches et des dépendances. Les processus d’automatisation de plateforme, DevOps et CI/CD réussis s’appuient sur une collaboration et une communication efficaces entre les membres de l’équipe.

La clé de l’automatisation de la plateforme, devOps et CI/CD avec App Service est de concevoir et d’implémenter des processus et des systèmes évolutifs, sécurisés, bien surveillés et collaboratifs. Ces recommandations peuvent aider les ingénieurs informatiques et cloud à s’assurer que leurs applications et API offrent les meilleures performances et expérience utilisateur possibles.