Partager via


Préparer des charges de travail pour le cloud

Avant de migrer vers Azure, les charges de travail doivent être prêtes pour le cloud. La préparation du cloud réduit les risques de basculement et garantit la compatibilité avec les services Azure. Validez, sécurisez et automatisez les charges de travail dans Azure avant le basculement de production. Utilisez votre plan d’architecture Azure et votre évaluation de la charge de travail pour guider la préparation.

Résoudre les problèmes de compatibilité dans Azure

Les problèmes de compatibilité peuvent bloquer la migration de la charge de travail et doivent être résolus avant le déploiement de production. Azure nécessite des configurations spécifiques, des systèmes d’exploitation pris en charge et des pilotes actuels. Résolvez ces problèmes systématiquement pour garantir une migration réussie.

Déployer toutes les ressources de charge de travail

Après avoir planifié votre architecture cloud et préparé vos zones d’atterrissage d’application, l’étape suivante consiste à déployer tous les composants de charge de travail dans Azure. Cette phase garantit que vos environnements sont correctement isolés, régis et alignés sur votre plan d’architecture. Une fois déployé, validez l’intégralité de l’environnement de test pour garantir la préparation de la production.

  1. Créez des abonnements Azure pour les environnements de charge de travail. Créez des abonnements distincts pour les environnements de développement, de test et de production pour garantir l’isolation, le suivi des coûts et la gouvernance appropriés. Placez des abonnements dans le groupe d’administration approprié et appliquez des stratégies de gouvernance spécifiques à l’environnement, des attributions de contrôle d’accès en fonction du rôle et des budgets de gestion des coûts. Pour plus d’informations, consultez Créer vos abonnements.

  2. Utilisez votre plan d’architecture. Déployez l’architecture Azure définie pendant la planification de l’adoption du cloud. Vérifiez qu’elle reflète les exigences de charge de travail mises à jour. Pour obtenir des conseils, consultez la planification de l’architecture Azure.

  3. Déployez tous les composants de charge de travail. Dans un environnement de test (abonnement), déployez tous les composants requis : calcul (machines virtuelles, applications web, conteneurs), magasins de données (bases de données, comptes de stockage), équilibreurs de charge, identités managées, réseaux virtuels et ressources DNS.

  4. Validez l’intégralité de l’environnement de test. Vérifiez que toutes les dépendances, configurations et intégrations sont présentes. Les composants manquants peuvent entraîner des faux positifs ou des problèmes non détectés lors du test.

Résoudre les problèmes de compatibilité

Avant de déplacer des charges de travail en production, identifiez et résolvez les problèmes de compatibilité susceptibles d’avoir un impact sur les performances, la sécurité ou la prise en charge. Utilisez les données d’évaluation de la phase de planification pour guider les efforts de correction et appliquer des correctifs dans l’environnement de test à l’aide de solutions natives Azure.

  1. Passez en revue les exigences de compatibilité documentées et les problèmes connus. Utilisez l’évaluation de la charge de travail de la phase du plan CAF pour identifier les configurations et dépendances non prises en charge qui doivent être corrigées.

  2. Résolvez chaque problème de compatibilité à l’aide de solutions Azure. Appliquez des corrections dans l’environnement de test Azure plutôt que de modifier l’environnement source. Les problèmes de compatibilité courants sont les suivants :

Problème de compatibilité Solution Pourquoi cela se produit-il
Versions de système d’exploitation non prises en charge Mise à niveau vers les systèmes d’exploitation pris en charge Azure nécessite des versions de système d’exploitation prises en charge pour les mises à jour de sécurité et la compatibilité de la plateforme
Pilotes de carte réseau Legacy et BIOS Mettre à jour les pilotes et le microprogramme BIOS Les pilotes modernes garantissent les performances et la sécurité du réseau dans les machines virtuelles Azure
Dépendances d'E/S de fichier local Remplacer par Stockage Blob Azure ou Fichiers Azure Le stockage natif cloud offre une meilleure scalabilité et une meilleure intégration
Adresses IP codées en dur Remplacer par des mécanismes de découverte de service comme les configurations DNS ou d’application L’adressage dynamique prend en charge la mise en réseau et la résilience Azure
Logiciel antivirus basé sur l’hôte Intégrer à Microsoft Defender pour Cloud La sécurité native cloud offre une meilleure détection et une meilleure gestion des menaces
Comptes d’utilisateur codés en dur Remplacer par des identités managées Les identités managées éliminent la gestion des informations d’identification et améliorent la sécurité

Valider la fonctionnalité de charge de travail

Après avoir résolu les problèmes de compatibilité, assurez-vous que vos charges de travail fonctionnent correctement dans l’environnement Azure. Les tests complets sont essentiels pour confirmer que tous les composants, configurations et intégrations répondent aux exigences métier et techniques. Ce processus de validation réduit les risques et garantit une transition fluide vers le déploiement de production.

Valider la connectivité réseau

La connectivité réseau fiable garantit que tous les composants d’application et dépendances externes peuvent communiquer comme prévu dans Azure. La mise en réseau mal configurée peut entraîner des défaillances critiques en production.

  1. Testez la connectivité entre tous les composants. Utilisez la résolution des problèmes de connexion Azure Network Watcher pour vérifier que les niveaux d’application peuvent communiquer entre eux et avec des services externes. Cette validation confirme que les groupes de sécurité réseau, les tables de routage et les configurations DNS autorisent le flux de trafic requis. Cet outil fournit des informations détaillées sur les problèmes de connectivité et identifie des problèmes de configuration spécifiques qui empêchent la communication.

  2. Vérifiez la connectivité du service externe. Testez les connexions aux API externes, aux bases de données et aux services externes dont dépend votre charge de travail. Utilisez Network Watcher pour vérifier que la connectivité sortante fonctionne correctement et que les règles de pare-feu autorisent le trafic requis. Documentez les exigences de connectivité pour le déploiement de production.

Valider les flux d’authentification

L’authentification est essentielle pour la sécurité et le contrôle d’accès. La validation de ces flux garantit que les utilisateurs et les services peuvent s’authentifier sans problème dans l’environnement Azure.

  1. Testez les flux d’authentification utilisateur. Utilisez des comptes d’utilisateur de test pour vérifier que les fournisseurs d’identité tels que Microsoft Entra ID sont accessibles et que l’authentification fonctionne correctement. Testez différents scénarios d’authentification, notamment l’authentification unique, l’authentification multifacteur et les flux de réinitialisation de mot de passe pour garantir la fonctionnalité complète.

  2. Validez l’authentification de service à service. Testez l’authentification entre les composants d’application à l’aide de principaux de service et d’identités managées. Vérifiez que les autorisations de contrôle d’accès en fonction du rôle (RBAC) Azure sont correctement configurées et que les services peuvent s’authentifier auprès des ressources requises telles que les bases de données et les comptes de stockage.

Effectuer des tests fonctionnels et de performances

Les tests fonctionnels et de performances garantissent que la charge de travail répond aux exigences de l’entreprise et s’effectue de manière fiable dans les conditions attendues avant d’être en cours de vie.

  1. Exécutez des tests fonctionnels complets. Effectuez des tests d’acceptation utilisateur (UAT), des tests d’intégration et des tests de régression pour confirmer que l’application répond aux exigences métier et techniques. Testez tous les flux de travail et processus métier critiques pour vous assurer qu’ils fonctionnent correctement dans l’environnement Azure. Documentez les problèmes fonctionnels et résolvez-les avant le déploiement de production.

  2. Mesurez les performances dans des conditions de charge réalistes. Utilisez Azure Load Testing pour simuler un trafic utilisateur réaliste et mesurer les temps de réponse, le débit et l’utilisation des ressources. Configurez les tests de charge pour refléter les modèles d’utilisation de production attendus et les scénarios de charge de pointe. Le test de charge fournit des métriques de performances détaillées et identifie les goulots d’étranglement susceptibles d’affecter l’expérience utilisateur.

  3. Validez les performances par rapport à la ligne de base. Référencez les métriques de base de référence des performances documentées lors de l’évaluation de la charge de travail du plan CAF. Comparez les résultats des tests aux bases de référence de performances établies à partir de votre environnement source. Identifiez toute dégradation des performances et optimisez les configurations, mettez à l’échelle les ressources ou modifiez le code pour répondre aux objectifs de performances.

  4. Incluez les parties prenantes dans les tests d’acceptation. Effectuez des tests d’acceptation avec des utilisateurs professionnels pour confirmer que la charge de travail répond aux attentes de l’entreprise et aux exigences de l’expérience utilisateur. La validation métier garantit que la charge de travail fournit une valeur et des fonctionnalités attendues avant le déploiement de production.

Créer une infrastructure réutilisable

Une fois que votre solution modernisée réussit tous les tests dans l’environnement hors production, vous devez capturer la configuration et les configurations de l’infrastructure en tant que code, afin qu’elle puisse être facilement répliquée dans les environnements de production et futurs. L’infrastructure réutilisable signifie utiliser des modèles IaC (Infrastructure-as-code) et une automatisation pour la cohérence et la vitesse.

  1. Créez des modèles IaC pour des configurations éprouvées. Prenez l’architecture finale de votre environnement de test (qui reflète ce que vous voulez en prod) et codifiez-la. Utilisez des modèles Bicep, Terraform ou Azure Resource Manager pour définir votre infrastructure. Paramétrez ces modèles afin qu’ils puissent être réutilisés pour différentes phases, comme le développement, le test, la production avec de petits ajustements tels que des noms ou des tailles. Cette configuration garantit que l’environnement de production que vous créez correspond à ce que vous avez testé. Il évite l’erreur humaine en cliquant manuellement sur le portail Azure pour créer des ressources. Cela signifie également que si vous avez besoin de recréer l’environnement, comme pour la récupération d’urgence ou le déploiement dans de nouvelles régions, vous disposez du déploiement de l’infrastructure prêt. Pour plus d’informations, consultez CAF Manage - Gérer les déploiements basés sur du code.

  2. Stocker des modèles dans le contrôle de version. Vérifiez votre code d’infrastructure dans un référentiel Git (en même temps que le code de l’application ou dans un référentiel distinct). Utilisez GitHub ou Azure DevOps pour gérer les ressources IaC avec un contrôle de version approprié. Le contrôle de version permet des révisions de code, prend en charge la collaboration d’équipe et encourage la réutilisation des modèles dans les projets. Cette approche offre une traçabilité complète des modifications d’infrastructure et prend en charge les fonctionnalités de restauration lorsque des problèmes se produisent.

  3. Automatisez l’installation et la configuration des dépendances. Créez des scripts ou des tâches de pipeline pour déployer ces modèles et gérez également toutes les tâches de configuration ou d’amorçage requises. Utilisez Azure Pipelines, GitHub Actionspour exécuter des travaux de déploiement qui prennent le modèle IaC et déploient sur un abonnement/groupe de ressources cible. Automatisez l’installation des dépendances d’application, la configuration des paramètres et la gestion des secrets. L’objectif est la configuration de l’environnement en un clic (ou une commande) : de rien à un environnement entièrement en cours d’exécution qui correspond à ce que vous avez testé.

  4. Testez l’iaC et l’automatisation de bout en bout. Utilisez un abonnement Ou un groupe de ressources Azure distinct en tant que bac à sable et pratiquez le déploiement de votre environnement entier à partir de zéro à l’aide de vos modèles et scripts. Testez la capacité de vos modèles, pipelines et scripts IaC à créer une pile d’infrastructure complète à partir de zéro. Testez différents scénarios de déploiement, notamment le déploiement initial, les mises à jour de configuration et les procédures de restauration pour confirmer que l’automatisation fonctionne correctement.

Pour plus d’informations, consultez Concevoir une gestion de la chaîne d'approvisionnement pour le développement des charges de travail et Infrastructure en tant que code dans WAF.

Créer une documentation de déploiement

Même avec l’automatisation, avoir une bonne documentation autour des déploiements est cruciale pour l’audit, pour l’intégration de nouveaux membres d’équipe et pour une maintenance future. La documentation de déploiement doit couvrir les configurations, les procédures et les étapes de restauration sous forme lisible par l’homme.

  1. Documenter les paramètres de configuration et les étapes. Enregistrez tous les paramètres spécifiques à l’environnement, les chaînes de connexion, les points de terminaison de service et les configurations de sécurité dans la documentation accessible. Incluez des instructions de déploiement pas à pas, des conditions préalables requises et des étapes de validation post-déploiement. Cette documentation permet des déploiements cohérents et prend en charge la résolution des problèmes lorsque des problèmes se produisent. Si un nouvel ingénieur devait déployer, il pourrait lire ce document et suivre ou comprendre les résultats du pipeline.

  2. Mettre à jour les procédures d'annulation et de récupération. Une fois vos tests terminés, formalisez les étapes permettant de rétablir les modifications lorsque des problèmes de déploiement se produisent. Incluez les déclencheurs de restauration, les procédures de sauvegarde et de restauration des données et les étapes de validation de récupération. Testez régulièrement les procédures de restauration et de récupération pour s’assurer qu’elles fonctionnent correctement si nécessaire. Cette préparation réduit les temps d’arrêt.

  3. Collectez toutes ces documentations dans un emplacement central. Utilisez SharePoint, GitHub ou un wiki pour stocker ces informations. Assurez-vous que l’équipe et le personnel du support technique savent où le trouver. Lors d'un incident très stressant, avoir des documents clairs à portée de main est une bouée de sauvetage.

Étape suivante