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 relatives à la conception pour l’automatisation de plateforme et DevOps que vous pouvez appliquer quand vous utilisez l’accélérateur de zone d’atterrissage Azure App Service. L’automatisation de plateforme et DevOps offrent des opportunités pour moderniser votre approche du déploiement à l’aide de l’infrastructure en tant que code.

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

Remarques relatives à la conception

L’automatisation et DevOps sont des pratiques importantes dans le développement logiciel moderne, 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 workflow 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.

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

  • Faites de la sécurité une priorité absolue lorsque vous concevez un pipeline d’automatisation et 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. Elles peuvent également inclure l’implémentation du chiffrement et d’autres mesures de sécurité pour aider à protéger les données sensibles.

  • Pensez à l’intégration et au 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, et ainsi veiller à ce que votre application soit toujours à jour et disponible.

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

  • Évaluez si vous devez utiliser des agents auto-hébergés. En fonction de la configuration de votre réseau, App Service peut ne pas être disponible à partir de l’Internet public. Dans ce cas, les agents hébergés 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.

  • Assurez-vous que votre logique métier soit contrôlé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 mise en production. 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 d’un test de charge via des outils tels que k6 et JMeter dans votre environnement intermédiaire.

  • Supervisez et gérez le pipeline d’automatisation et CI/CD. Ce processus peut impliquer l’implémentation d’outils de journalisation et de monitoring pour suivre les performances et l’intégrité de votre pipeline. Cela peut également nécessiter l’implémentation d’un processus d’examen et de mise à jour réguliers du pipeline, afin de s’assurer qu’il demeure efficace et efficient.

La clé d’une implémentation de pipeline d’automatisation et CI/CD de plateforme réussie dans App Service consiste à planifier et à concevoir soigneusement la solution, en tenant compte des besoins et des exigences spécifiques des applications que vous déployez. En adoptant l’approche appropriée, vous pouvez créer une plateforme scalable, sécurisée et efficace pour le déploiement et la gestion de vos applications dans le cloud.

Recommandations de conception

Gardez à l’esprit les bonnes 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.
    • Éliminez l’essentiel de la charge liée à la réinvention des processus.
    • Ayez recours à la prévisibilité et aux insights concernant la qualité et l’agilité globales.
  • Déployer très tôt et souvent en utilisant des pipelines basés sur des déclencheurs et des pipelines planifiés. Les pipelines basés sur des déclencheurs garantissent que les modifications passent par une validation correcte. Les pipelines planifiés gèrent le comportement des environnements changeants.

  • Séparer le déploiement d’infrastructure du déploiement d’applications. L’infrastructure principale est moins sujette aux modifications que les applications. Traiter chaque type de déploiement comme un flux et un pipeline distincts.

  • Utilisez des outils d’infrastructure en tant que code tels que des modèles ARM ou Bicep pour automatiser le provisionnement 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, la collaboration et l’automatisation du déploiement de vos ressources.

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

  • Efforcez-vous de maximiser la simultanéité du déploiement en évitant les configurations et les paramètres codés en dur.

  • Implémentez la sécurité de décalage vers la gauche en incluant des outils d’analyse de vulnérabilité et des secrets, tels que des scanneurs de conteneur, au début du pipeline.

  • Configurez une stratégie de déploiement qui implémente les principes de déploiement bleu/vert ou Canary pour réduire les temps d’arrêt et les risques 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 la déployer sur l’ensemble de la base d’utilisateurs.

  • 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 aide à garantir un déploiement fluide et réussi, à valider les modifications d’application et à réduire les temps d’arrêt.

  • Supervisez et suivez les performances et la disponibilité de vos applications à l’aide d’Application Insights. Application Insights fournit des informations en temps réel sur l’intégrité 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, comme les méthodologies de développement Agile et les outils pour le suivi et la gestion des tâches et des dépendances. La réussite des processus d’automatisation de plateforme, DevOps et CI/CD dépend d’une collaboration et d’une communication efficaces entre les membres de l’équipe.

La clé pour réussir 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 scalables, sécurisés, bien supervisé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 la meilleure expérience utilisateur possible.