Principes de conception de l’excellence opérationnelle

Au cœur du pilier d’excellence opérationnelle se trouvent les pratiques DevOps qui garantissent la qualité de la charge de travail grâce à des workflows standardisés et à la cohésion d’équipe. Ce pilier définit les procédures de fonctionnement pour les pratiques de développement, l’observabilité et la gestion des mises en production. L’objectif est de réduire les écarts de processus, les risques d’erreur humaine et d’interruption pour les clients. Pour évaluer votre intégrité opérationnelle, commencez par les questions suivantes :

  • Exécutez-vous des opérations avec discipline ?
  • Les clients utilisent-ils la charge de travail avec une prévisibilité maximale ?
  • Comment apprendre de l’expérience et des données collectées pour favoriser l’amélioration continue ?

Les opérations de charge de travail peuvent se transformer en pratiques chaotiques lorsqu’il n’y a pas de propriété ou de leadership clair. Dans ce type d’environnement, les équipes ont souvent recours à des méthodes exécutées avec beaucoup d’efforts et qui produisent de faibles résultats, ce qui entraîne une expérience utilisateur médiocre. Ces approches répondent uniquement à des objectifs à court terme. Les avantages à long terme sont réalisés grâce à l’évaluation continue et aux investissements stratégiques.

Les principes de conception fournissent des lignes directrices pour les stratégies opérationnelles qui doivent être prises en compte pour traiter les causes sous-jacentes et pas seulement traiter les symptômes. Commencez par les approches recommandées, puis observez ce qui fonctionne et ce qui ne fonctionne pas pour identifier les domaines d’amélioration. Après avoir défini votre stratégie, continuez à mener des actions à l’aide de la liste de contrôle d’excellence opérationnelle.

Les exigences opérationnelles d’une charge de travail sont aussi importantes que ses besoins métier. Des processus efficaces garantissent que la charge de travail obtient des résultats métier dans le respect des contraintes de conformité, que cette conformité soit organisationnelle ou externe. La clé est de trouver la répétabilité avec cohérence.

Les objectifs du pilier d’excellence opérationnelle sont de faire la bonne chose, de le faire de la bonne façon et de résoudre les problèmes appropriés en équipe.

Si vous atteignez ces objectifs, les charges de travail s’exécutent de manière fiable et prévisible, même pendant les périodes de changement. L’impossibilité de répondre aux exigences opérationnelles peut entraîner des déploiements défaillants, une expérience utilisateur incohérente et des coûts supplémentaires qui auraient pu être évités grâce à une planification appropriée et à une exécution rationalisée.

Adopter la culture DevOps

Icône Objectif Permettre aux équipes de développement et d’exploitation d’améliorer continuellement la conception et les processus de leur système en travaillant ensemble dans un esprit de collaboration, de responsabilité partagée et de propriété.

DevOps est une communauté de pratique où la diversité des perspectives et des compétences conduit à une mission unique. Teams doit favoriser un environnement collaboratif de connaissances partagées au lieu d’un apprentissage en silos. Utilisez des fonctions partagées pour vous efforcer de surmonter les contraintes de ressources.

Une bonne culture DevOps s’épanouit grâce à une responsabilité partagée. Les équipes de développement et d’exploitation doivent aligner leurs objectifs et leurs priorités sur les attentes de leurs clients et garder à l’esprit leur orientation métier. L’équipe de développement doit impliquer l’équipe des opérations dans la boucle de commentaires afin que les améliorations soient pilotées amont et les autres équipes en bénéficient également. À l’inverse, les équipes opérationnelles sont responsables de la réussite de l’équipe de développement dans leurs résultats métier en partageant des ressources et des commentaires pertinents pour la charge de travail.

En même temps, les pratiques DevOps appliquent des lignes claires de propriété et de responsabilité à chaque équipe. Quel que soit l’endroit où l’application s’exécute, l’équipe de charge de travail est responsable de cette application.

DevOps optimise les tâches opérationnelles afin qu’elles soient efficaces, mais pas fastidieuses. Pour tirer pleinement parti de DevOps, la culture doit optimiser les processus par le biais de la technologie et disposer de processus pour les personnes du organization de promouvoir une communication transparente.

Approche Avantages
Utilisez des systèmes et des outils courants qui favorisent un environnement collaboratif pour la communication et le suivi de la progression. Les outils et processus courants permettent une communication transparente. Les équipes de développement et d’exploitation bénéficient d’une connaissance de la situation dans différents environnements, des problèmes de support courants et des défis globaux et des victoires.

Teams connaîtra déjà les chemins d’escalade existants en cas d’incident.

Un backlog partagé rend les priorités claires, telles que l’utilisation de nouvelles fonctionnalités ou la résolution des bogues.
Créez un état d’esprit d’apprentissage et d’expérimentation continu tout au long du cycle de développement.

Prendre en charge le partage des connaissances entre les équipes et gérer la documentation à des fins de réutilisation.

Effectuez une analyse irréprochable et débriefez les examens post-publication et/ou post-incident.
Grâce à des mécanismes d’expérimentation, tels que les tests A/B et le développement de preuves de concept, vous pouvez encourager l’innovation tout en maintenant des coûts faibles.

Partager des connaissances par le biais de la collaboration qui permet à l’équipe de maîtriser les approches de conception, les outils et les processus.

Faire des rétrospectives après un projet permet d’identifier les domaines d’amélioration et de célébrer la réussite.
Adoptez des pratiques agiles éprouvées dans le secteur qui se concentrent sur l’optimisation des actions.

Recherchez les occasions de « basculer vers la gauche » dans les opérations pour les processus manuels et automatisés, les pratiques de déploiement et d’assurance qualité, et l’observabilité.
Les pratiques de développement Agile conduisent à des cycles de vie de mise en production plus courts, qui sont un indicateur de la valeur métier.

La détection, la résolution et la prévention des problèmes plus tôt sont souvent moins intrusives pour le processus.
Définissez des normes pour toutes les procédures opérationnelles et de développement, puis examinez-les et validez-les à une cadence régulière.

Ces procédures incluent les tâches de routine, les processus hors bande, les exercices et les situations d’urgence, le choix des outils, les procédures de surveillance, les plans de compétences et même la communication avec les parties prenantes et les divulgations des clients.

Soyez intentionnel et explicite au sujet de vos décisions.
Les normes ajoutent la prévisibilité aux opérations et rendent les processus et les pratiques évolutifs. La validation des normes est un excellent moyen de tirer des points d’amélioration.

Préparez-vous aux situations d’urgence et de récupération en effectuant des exercices réguliers.

Exécutez avec précision et activez la gouvernance pour éviter les anomalies qui entraînent des risques.
Tirez parti des équipes d’opérations centralisées disposant de compétences spécialisées et d’une expérience étendue. L’utilisation de ressources partagées pour les opérations et les ressources présente un avantage en matière de coûts.

Bien que vous possédiez votre charge de travail, l’équipe centralisée vous aide avec des compétences interfonctionnelles, telles que la gestion des incidents, une perspective proactive sur la supervision et l’expertise d’externalisation en toute confiance.

Établir des normes de développement

Icône Objectif Optimisez la productivité en standardisant les pratiques de développement, en appliquant des barrières de qualité et en suivant la progression et la réussite grâce à une gestion systématique des changements.

L’équipe de développement est chargée de résoudre les problèmes de charge de travail avant la publication avec un minimum de frictions. Veillez à l’efficacité des développeurs et optimisez les cycles d’exécution rapides, du codage aux résultats des tests. Mettre en œuvre des processus efficaces et de bonne taille qui planifient et normalisent les activités techniques et qui favorisent également le consensus au sein de l’équipe et des parties prenantes.

Approche Avantages
Documenter les fonctionnalités de charge de travail et capturer les avantages pour les clients.

Dérivez l’étendue et les exigences fonctionnelles et non fonctionnelles détaillées de l’architecture.

Créez des modèles d’estimation de dimensionnement pour générer des rapports sur l’étendue et le coût des tâches impliquées.
De bonnes spécifications réduisent les coûts opérationnels et les risques d’échec en prenant en charge des cycles de développement plus productifs et rationalisés.

Les développeurs comprennent la conception technique, les objectifs et les critères d’achèvement avant de commencer le cycle de codage.

Une bonne documentation facilite la communication et l’intégration reproductibles des nouveaux membres de l’équipe.
Utilisez une méthodologie de développement logiciel standard qui est adaptée aux besoins de votre charge de travail et de la taille de votre équipe.

Gérez un backlog partagé entre tous les rôles.
L’adoption d’une méthodologie connue définit le rythme du projet. Il élimine les ambiguïtés de processus en donnant aux membres de l’équipe des attentes et des responsabilités claires.

En effectuant un suivi par rapport à une liste commune, les tâches peuvent être affinées et hiérarchisées avec des pratiques standard. Le projet aura de meilleures chances d’être livré à temps.

Les méthodologies standard aident à gérer les risques. Grâce à des révisions granulaires des jalons, les développeurs peuvent résoudre les problèmes potentiels avant qu’ils ne deviennent des créateurs d’événements.
Utilisez le contrôle de code source unifié pour l’ensemble du code, des scripts, des modèles de déploiement, des définitions de pipeline et de la documentation associée.

La stratégie de branchement doit prendre en charge la publication sans friction de fonctionnalités indépendantes et interdépendantes, de correctifs de bogues et de correctifs logiciels.

Utilisez des connaissances partagées au sein de l’organization pour créer votre stratégie de branchement et vos processus de déploiement.
L’utilisation correcte du contrôle de code source est essentielle pour prendre en charge les modifications simultanées et le contrôle de version.

Maintenez un flux de travail reproductible pour publier des modifications de différentes tailles et risques, effectuez des examens par les pairs dans le cadre du processus et conservez une piste d’audit.
Disposer de processus d’assurance qualité qui mettent l’accent sur les tests au début du cycle de vie du développement.

Incluez tous les artefacts pour les procédures de test planifiées, notamment les composants d’application, l’infrastructure et les opérations de plan de données qui font partie d’une mise à jour ou d’une mise à jour de fonctionnalités.

Traitez les artefacts comme immuables lorsqu’ils sont promus dans des environnements, ce qui gagne en confiance chaque fois qu’ils passent par une porte de qualité.

Lorsque cela est possible, automatisez les vérifications de routine.
L’assurance qualité garantit que les exigences fonctionnelles et non fonctionnelles ont été satisfaites en toute confiance, ce qui entraîne un impact positif sur les clients.

Le fait d’avoir des plans de test garantit la qualité et l’exhaustivité et prend en considération les cas de défaillance possibles.

Avec les portes de qualité, vous pouvez appliquer les meilleures pratiques pour réduire les risques.

L’immuabilité apporte de la confiance, car elle garantit que le système que vous testez est exactement ce que vous libérez.

Les cycles de test bloquent efficacement la progression, sauf si les critères de qualité sont remplis.
Renforcez la cohérence à l’aide de guides de style et d’outils, qui appliquent des conventions et adoptent une chaîne d’outils commune pour le développement, les tests et la communication avec les parties prenantes.

Les normes technologiques pour les développeurs doivent nécessiter l’implémentation de modèles, la conception d’API, la journalisation, la gestion des exceptions et d’autres processus.
La cohérence du code favorise la lisibilité et la maintenance facilitée. Il réduit également la complexité et permet la réutilisation du code.

Les outils et conventions courants aident également les équipes à optimiser les processus sans avoir à traiter des choix ponctuels.
Insistez systématiquement et délibérément sur la documentation des développeurs sur le code au fur et à mesure de son écriture. La documentation claire du code garantit que la logique et les fonctionnalités sont facilement comprises lorsque l’ancien code doit être revisité ou lorsque les équipes de développement pivotent.
Signaler la progression et les tendances pour mesurer l’efficacité. Les tendances des bogues, des mises à jour ayant échoué, du temps de déploiement, des boucles de commentaires et d’autres métriques sont publiées, ce qui entraîne des améliorations.

Faire évoluer les opérations avec observabilité

Icône Objectif Bénéficiez d’une visibilité sur le système, dérivez des insights et prenez des décisions basées sur les données.

Créez une culture qui améliore continuellement la qualité en surveillant la charge de travail et en prenant en considération tous les piliers d’Azure Well-Architected Framework. Permettre à l’équipe et aux parties prenantes de prendre des décisions à court et à long terme sur de nombreuses facettes en fournissant les données, les statistiques et les tendances nécessaires. Apprenez à partir de vos données et apportez des améliorations.

Les opérations conçues à des fins d’observabilité sont essentielles pour la maintenance proactive de l’application, l’assurance de la qualité et de la sécurité, la planification de la capacité et la gestion des produits.

L’utilisation de la modélisation d’intégrité pour vous aider à anticiper les problèmes avant qu’ils ne deviennent des incidents et n’affectent l’expérience client est un aspect crucial de la surveillance. Une surveillance efficace réduit les cycles réactifs consacrés à la gestion des incidents.

Approche Avantages
Créez un système de surveillance avec sa propre pile et ses propres flux.

Traitez le système de surveillance comme une dimension de la charge de travail qui est dissociée de son utilitaire. La pile doit couvrir toutes les couches, y compris l’infrastructure, l’intégrité de l’application et les processus de génération et de mise en production.

La capture ou l’échantillonnage de données métier n’est pas possible pour les implémentations d’observabilité.
Dissocier la surveillance et les piles de charges de travail pour séparer les exigences fonctionnelles et les exigences d’observabilité et rendre possible une évolution indépendante. Les modifications apportées au code ne doivent pas affecter la supervision, et inversement.

Étant donné que les exigences d’observabilité sont distinctes des exigences fonctionnelles, les données métierne sont pas perturbées par la surveillance des modifications de configuration ou des pannes.
Assurer la cohérence dans le processus de collecte pour chaque type de source de données.

Standardisez l’instrumentation dans le code à l’aide des normes du secteur pour la télémétrie, la collecte de métriques d’infrastructure et les outils.
La cohérence empêche les écarts dans la détection et la mesure, car la connaissance de ressources similaires réduit le temps consacré à la corrélation et à l’analyse des données. Vous disposez d’une perspective holistique pour anticiper les problèmes.

Émettre des données de télémétrie à partir du code d’application qui met en corrélation les points clés du flux d’exécution et donne une vue de bout en bout à différents niveaux de granularité. Hiérarchisez les actions en fonction du niveau de gravité et comprenez le contexte en fonction de son niveau de détail. Ces informations sont cruciales à des fins de résolution des problèmes.
Être responsable de l’émission et de la collecte des données, même lorsque les récepteurs de données sont partagés par plusieurs équipes et gérés par des équipes centrales. En localisant les données de supervision dans l’environnement de charge de travail, l’équipe peut accéder aux journaux et aux métriques pour résoudre les problèmes de charge de travail.
Collectez juste assez de données et conservez-les pendant juste assez de temps.

Considérez les compromis de coût associés à la journalisation et au stockage des données.
La collecte intentionnelle de données vous aide à optimiser les coûts financiers et opérationnels associés à la collecte de données plus que nécessaire.

Réduisez le bruit et évitez les calculs intensifs pendant l’analyse, et réduisez le coût de stockage des données dont vous n’avez plus besoin.
Faites une distinction entre les différents signaux de surveillance : profils, journaux, métriques et traces. Utilisez chaque signal dans le bon but.

Hiérarchiser l’utilisation de métriques pour déclencher des actions qui s’appuient sur des mesures numériques.

Utilisez des profils pour obtenir une visibilité de niveau inférieur, comme l’allocation de mémoire, sur le système.

Réservez l’utilisation de journaux et de traces pour fournir un contexte pour les flux et les dépendances.
En utilisant les signaux à des fins appropriées, vous pouvez éviter une implémentation inefficace du système de surveillance.

Par exemple, l’utilisation de journaux pour les actions nécessite l’analyse. Vous pourrez peut-être atteindre les mêmes objectifs plus rapidement avec les métriques.
Agréger et visualiser des données dans des tableaux de bord pour présenter des données de surveillance destinées aux publics et garder à l’esprit le contexte métier.

Utilisez des tableaux de bord situationnels pour faire surface aux données afin de sensibiliser les parties prenantes.

Utilisez des tableaux de bord opérationnels et des classeurs avec des fonctionnalités d’exploration plus approfondies pour les activités des opérateurs telles que la réponse aux incidents. Actualisez fréquemment les tableaux de bord et fournissez des données granulaires.
Avec les visualisations, vous pouvez analyser les tendances, effectuer le suivi des cibles métier et gérer les incidents.

Les tableaux de bord adaptés à l’intérêt du client rendent l’interprétation pertinente et accélèrent la détection et l’action.
Rendre les alertes exploitables en notifiant les rôles responsables avec des descriptions normalisées et des niveaux de gravité. Fournissez des informations recueillies à partir de différentes sources et suivez les écarts par rapport aux objectifs de l’entreprise.

Déclenchez des alertes uniquement pour les incidents qui nécessitent une action.

Recherchez des alertes proactives et stimulantes qui lancent des actions avant qu’un état dégradé ne devienne un échec.
Les alertes portent l’attention sur les événements significatifs tels que définis par le organization.

Un bon système d’alerte identifie les actions et la gravité et fournit juste assez de données pour améliorer la clarté et l’objectif. Les opérateurs peuvent commencer à corriger sans délai.

Déployer en toute confiance

Icône Objectif Atteindre l’état souhaité du déploiement avec prévisibilité.

Créez une chaîne logistique de charge de travail qui vous permet d’atteindre de manière cohérente l’objectif de prévisibilité dans tous vos environnements, sur les plateformes d’hébergement, les applications, les données et les ressources de configuration de la charge de travail. Le mécanisme de déploiement doit être capable d’automatisation, de test, de supervision et de contrôle de version. Il doit être modulaire et prêt à s’exécuter à la demande. Il ne doit pas être représenté comme un processus monolithique de bout en bout. La chaîne logistique n’est pas nécessairement destinée à une exécution plus rapide, mais à obtenir une cohérence et une documentation autonome sur plusieurs itérations.

L’équipe de charge de travail est responsable de la chaîne logistique en ce qui concerne sa propre charge de travail.

Approche Avantages
Utilisez Infrastructure as Code (IaC) pour définir les aspects reproductibles de la chaîne logistique prêts pour la production.

Préférez les approches déclaratives aux méthodes impératives.
Les technologies IaC déclaratives sont conçues avec à l’esprit l’automatisation et la réutilisation. Vous pouvez décharger les déploiements d’infrastructure des individus dans des outils et obtenir une qualité cohérente.

Du point de vue de l’infrastructure, le fait d’avoir moins de choix technologiques élimine les écarts dans les outils et rend la dérive de configuration facile à détecter. La maintenance sera également plus facile. Si vous alignez les choix sur l’ensemble des compétences existantes de l’équipe, l’équipe peut facilement les adopter.
Préparez l’équipe à utiliser la technologie IaC choisie. Découvrez son modèle d’extensibilité, ses fonctionnalités et ses limitations.

Tirez parti de la spécialisation au sein de l’équipe et des connaissances partagées au sein du organization.
Le renforcement des compétences augmente la productivité et favorise un environnement de collaboration grâce à l’apprentissage partagé.

Vous pouvez combler les lacunes avec de la formation au lieu d’embaucher.
Suivez les recommandations logicielles pour le développement et la maintenance iaC.

Modularisez avec modération. Évitez les abstractions personnalisées ou à faible valeur.

Suivez une approche en couches pour refléter les différents cycles de vie. Formez des couches de base où les couches inférieures restent constantes et les couches supérieures changent en fonction des besoins.

Les artefacts de déploiement, tels que les fichiers binaires d’application, les modèles IaC et les paramètres, font partie de la surface d’attaque. Appliquez des garanties, telles que la gestion des secrets, le contrôle d’accès et d’autres principes du pilier Sécurité.
Les artefacts présentent le même niveau de rigueur d’ingénierie que le code d’application. Les contrôles qualité par le biais de révisions par les pairs et de tests vous donnent confiance dans le déploiement.

Une approche en couches facilite la maintenance et crée des limites qui établissent des lignes de responsabilité claires.

L’ajout de contrôles de sécurité aux artefacts permet de renforcer le système pendant le processus de déploiement.
Développez un manifeste de déploiement commun utilisé dans tous les environnements. Utilisez ce manifeste comme mécanisme par défaut pour les projets greenfield, les mises à jour incrémentielles de charge de travail ou la récupération d’urgence. Supprimez la surcharge liée à la maintenance de plusieurs ressources.

En cas de sinistre, la récupération sera rapide et fiable, car vous pouvez déployer un manifeste testé au lieu de créer un environnement improvisé.
Recherchez une infrastructure immuable et éphémère déployée via l’automatisation IaC. Interdire la dérive de configuration et rendre le déploiement idempotent.

Ce type d’infrastructure supprime des charges opérationnelles importantes, telles que la mise à jour corrective. Il bénéficie également de scénarios de validation de base, tels que les déploiements d’infrastructure bleu-vert.

Notes

Réduisez l’étendue de l’utilisation du portail à des tâches d’investigation non répétées uniquement.

Automatiser pour plus d’efficacité

Icône ObjectifRemplacer les tâches manuelles répétitives par une automatisation logicielle qui les exécute plus rapidement, avec une cohérence et une précision accrues, et réduit les risques.

La charge de travail peut avoir des flux de travail avec des processus qui impliquent des membres de l’équipe effectuant des tâches banales, répétitives et chronophages qui n’ont pas réellement besoin d’intelligence humaine. Selon la fréquence, vous pouvez consacrer beaucoup de temps à ces efforts, en investissant plus de temps à mesure que la charge de travail augmente. En outre, ces processus sont souvent sujets aux erreurs en raison d’une entrée humaine.

Grâce à l’automatisation, vous gagnez du temps, des efforts et de l’argent, et vous évitez les erreurs.

Approche Avantages
Évaluez tous les workflows par rapport à des critères qui sont au bon niveau de complexité, d’effort, de fréquence, de précision, de rapidité et de durée de vie.

Automatisez les flux de travail basés sur cette évaluation et hiérarchisez les flux de travail avec les retours attendus les plus élevés.

Supprimez les flux de travail redondants ou ajoutez de la valeur pour justifier l’effort humain.
Vous pouvez réinvestir la capacité de l’équipe dans un travail de plus grande valeur et augmenter la productivité et la cohérence.

La création d’un inventaire des flux de travail vous permet d’automatiser les tâches appropriées. La suppression des tâches redondantes réduit la complexité et les erreurs.
Soyez explicite sur votre décision lorsque vous évaluez s’il faut créer des outils personnalisés ou acheter des logiciels.

Réservez l’automatisation des bâtiments pour un travail hautement spécialisé et de grande valeur.
En achetant des logiciels prêts à l’emploi et en tirant parti du contrat de support, vous économisez sur les coûts de maintenance.

En créant des logiciels, vous disposez d’un contrôle accru et vous pouvez répondre aux cas d’usage propres à votre équipe et à votre charge de travail. Toutefois, il y a un impact sur les coûts.

Le choix des outils apporte un niveau de normalisation à vos opérations. Grâce à la formation, vous pouvez atteindre un niveau uniforme de préparation à l’adoption.
Concevez vos composants de charge de travail pour prendre en charge les fonctionnalités d’automatisation. Évitez la situation où le manque d’automatisation dans la conception de votre système favorise l’anti-modèle des tâches répétitives, ralentit la croissance et commence à accumuler des dettes techniques.
Traitez toute l’automatisation comme une dépendance critique de votre charge de travail. Adaptez-vous à la croissance attendue de la charge de travail.

Vos outils d’automatisation font partie intégrante de votre charge de travail et doivent respecter les cinq piliers Well-Architected Framework.
Concevez votre composant d’automatisation pour résister aux risques, tels que les menaces de sécurité. Avec les meilleures pratiques appliquées, vous pouvez éviter l’expansion de l’implémentation.

La charge de travail continuera de fonctionner avec une garantie de haut niveau si cette dépendance est maintenue fonctionnelle et sécurisée.
Automatisez à grande échelle en explorant des options au-delà de votre charge de travail.

Privilégiez un modèle « concevoir une fois, exécuter partout » en fournissant des modèles et des frameworks pour intégrer de nouveaux projets et promouvoir la réutilisation des conceptions et implémentations existantes.
Utilisez des méthodes éprouvées et réduisez les risques d’échec.

Adopter des pratiques de déploiement sécurisé

Icône Objectif Implémentez des garde-fous dans le processus de déploiement pour réduire l’effet d’erreurs ou de conditions inattendues.

Au cours du cycle de développement, les artefacts de charge de travail sont modifiés à mesure qu’ils sont implémentés et testés et que les bogues sont corrigés.

Le processus de déploiement doit suivre une procédure d’exploitation standard. Toute modification doit être déployée avec le même niveau de rigueur. Ce principe s’applique également au code, à la configuration et à tous les artefacts associés. La clé est d’appliquer des pratiques sécuritaires le plus tôt possible afin d’avoir une prévisibilité en production. Même si les erreurs atteignent les clients, vous devez être en mesure de déployer les modifications de récupération dès que possible.

Approche Avantages
Normalisez le processus de déploiement de toute modification à l’aide de processus de déploiement automatisés, tels que les pipelines.

Tous les environnements doivent utiliser des pipelines.

Classifiez les ressources et les versions par environnement pour les rendre facilement traçables et identifiables.
Les méthodes de déploiement cohérentes réduisent les problèmes causés par les erreurs de processus et les écarts et vous permettent de concentrer vos efforts sur les problèmes de charge de travail.

La normalisation garantit que le déploiement est effectué en toute sécurité, de manière fiable et avec une répétabilité.

La classification facilite l’affichage des journaux des déploiements précédents et des problèmes qui se sont produits. Vous pourrez peut-être utiliser ces informations pour accélérer les opérations de restauration et de restauration.
Déployez de petites mises à jour incrémentielles à une cadence régulière. Les petites mises à jour fréquentes, bien testées facilitent la validation de la version.

Résolvez les problèmes plus rapidement avec un impact minimal sur les clients en raison d’un encombrement réduit.
Testez les mises à jour rigoureusement en utilisant différents mécanismes tout au long du cycle de vie du développement. Interceptez les problèmes au début du développement. Les correctifs itératifs et les pratiques de déploiement cohérentes entraînent une diminution des problèmes au moment où la mise à jour est prête pour la production.
Déployez les mises à jour progressivement, avec une diligence raisonnable.

Utilisez des modèles de déploiement qui vous donnent le contrôle pour augmenter progressivement le nombre d’instances et de clients jusqu’à ce que la mise à jour soit adoptée en toute sécurité par tous.
Testez chaque mise à jour de manière contrôlée afin que les problèmes soient résolus au début de la production. Évitez de déployer une mise à jour défectueuse qui a un impact sur l’ensemble de votre clientèle.

Testez si la mise à jour est compatible avec l’arrière et l’avant.
Disposez d’une stratégie d’atténuation pour récupérer rapidement après les échecs de déploiement.

La stratégie devrait porter sur la prise de décision sur le retour en arrière ou l’avenir en fonction du caractère critique de la question.

Disposez de processus bien définis et de systèmes automatisés qui peuvent déployer rapidement des correctifs à l’aide des pipelines de déploiement standard.
Réduire la durée de l’impact potentiel.

Restaurez le système à la version opérationnelle précédente ou restaurez une version qui contient des correctifs qui ont été testés en détail.
Ayez un plan de secours qui réinitialise le système à un état de fonctionnement en cas d’urgence et pour se remettre des défaillances inattendues. Utilisez cette stratégie uniquement si nécessaire et avec approbation.

Essayez d’améliorer le plan au fil du temps.
Vous pouvez accélérer le suivi des correctifs à haute priorité, tels que la correction de la sécurité.

Le pipeline accéléré n’a peut-être pas toutes les vérifications de vos procédures d’exploitation standard, mais vous obtiendrez aux clients une version sécurisée de la manière la plus rapide possible, ce qui l’emporte sur les erreurs à faible impact.

Étapes suivantes

Nous vous recommandons de consulter la liste de contrôle d’excellence opérationnelle pour explorer d’autres concepts.