Le pilier "Excellence opérationnelle" du Google Cloud Well-Architected Framework fournit des recommandations pour exploiter efficacement les charges de travail sur Google Cloud. L'excellence opérationnelle dans le cloud implique de concevoir, de mettre en œuvre et de gérer des solutions cloud qui offrent de la valeur, des performances, de la sécurité et de la fiabilité. Les recommandations de ce pilier vous aident à améliorer et à adapter en permanence vos charges de travail pour répondre aux besoins dynamiques et en constante évolution du cloud.
Le pilier Excellence opérationnelle s'adresse aux audiences suivantes :
- Responsables et dirigeants : un framework pour établir et maintenir l'excellence opérationnelle dans le cloud, et s'assurer que les investissements dans le cloud apportent de la valeur et soutiennent les objectifs de l'entreprise.
- Équipes chargées des opérations cloud : conseils pour gérer les incidents et les problèmes, planifier la capacité, optimiser les performances et gérer les changements.
- Ingénieurs en fiabilité des sites (SRE) : bonnes pratiques qui vous aident à atteindre des niveaux élevés de fiabilité des services, y compris la surveillance, la réponse aux incidents et l'automatisation.
- Architectes et ingénieurs cloud : exigences opérationnelles et bonnes pratiques pour les phases de conception et de mise en œuvre, afin de s'assurer que les solutions sont conçues pour l'efficacité opérationnelle et l'évolutivité.
- Équipes DevOps : conseils sur l'automatisation, les pipelines CI/CD et la gestion des modifications, pour accélérer et fiabiliser la livraison de logiciels.
Pour atteindre l'excellence opérationnelle, vous devez adopter l'automatisation, l'orchestration et les insights basés sur les données. L'automatisation permet d'éliminer les tâches répétitives. Il simplifie également les tâches répétitives et les encadre. L'orchestration permet de coordonner des processus complexes. Les insights basés sur les données permettent de prendre des décisions éclairées. En utilisant ces pratiques, vous pouvez optimiser les opérations cloud, réduire les coûts, améliorer la disponibilité des services et renforcer la sécurité.
L'excellence opérationnelle dans le cloud va au-delà de la maîtrise technique des opérations cloud. Elle inclut un changement culturel qui encourage l'apprentissage et l'expérimentation continus. Les équipes doivent être habilitées à innover, à itérer et à adopter un état d'esprit axé sur la croissance. Une culture d'excellence opérationnelle favorise un environnement collaboratif dans lequel les individus sont encouragés à partager des idées, à remettre en question les hypothèses et à apporter des améliorations.
Pour connaître les principes et recommandations d'excellence opérationnelle spécifiques aux charges de travail d'IA et de ML, consultez Perspective de l'IA et du ML : excellence opérationnelle dans le Well-Architected Framework.
Évaluer des charges de travail à l'aide d'une compétence d'agent
Pour permettre aux agents IA d'évaluer vos charges de travail cloud par rapport aux principes et recommandations de ce pilier, utilisez la compétence google-cloud-waf-operational-excellence, disponible dans le dépôt Google Agent Skills sur GitHub.
Pour installer la compétence, exécutez la commande suivante dans le client ou le terminal de votre agent :
npx skills add google/skills --skill google-cloud-waf-operational-excellence
Lorsque vous y êtes invité, spécifiez les agents IA pour lesquels vous souhaitez installer la compétence et définissez le champ d'application de l'installation (projet ou global).
Si vous avez déjà installé la compétence, vous pouvez la mettre à jour vers la dernière version en exécutant la commande suivante :
npx skills update
Principes de base
Les recommandations du pilier "Excellence opérationnelle" du Well-Architected Framework sont associées aux principes de base suivants :
- Assurer la préparation et les performances opérationnelles à l'aide de CloudOps : assurez-vous que les solutions cloud répondent aux exigences opérationnelles et de performances en définissant des objectifs de niveau de service (SLO) et en effectuant une surveillance, des tests de performances et une planification de la capacité complets.
- Gérer les incidents et les problèmes : minimisez l'impact des incidents cloud et évitez qu'ils ne se reproduisent grâce à une observabilité complète, des procédures de réponse aux incidents claires, des rétrospectives approfondies et des mesures préventives.
- Gérer et optimiser les ressources cloud : optimisez et gérez les ressources cloud grâce à des stratégies telles que le redimensionnement, l'autoscaling et l'utilisation d'outils efficaces de surveillance des coûts.
- Automatiser et gérer le changement : automatisez les processus, simplifiez la gestion du changement et réduisez la charge de travail manuel.
- Améliorer et innover en continu : concentrez-vous sur les améliorations continues et l'introduction de nouvelles solutions pour rester compétitif.
Contributeurs
Auteurs :
- Alex Stepney | Architecte principal en chef
- Ryan Cox | Architecte principal
- Hadrian Knotz | Architecte d'entreprise
Autres contributeurs :
- Daniel Lees | Architecte en sécurité cloud
- Filipe Gracio, PhD | Ingénieur client, spécialiste en IA/ML
- Gary Harmson | Architecte principal
- Jose Andrade | Ingénieur client, spécialiste SRE
- Kumar Dhanagopal Développeur de solutions multiproduits
- Nicolas Pintaux | Ingénieur client, spécialiste de la modernisation des applications
- Radhika Kanakam | Responsable de programme, Google Cloud Well-Architected Framework
- Samantha He | Rédactrice technique
- Zach Seils | Spécialiste en gestion des réseaux
- Wade Holmes | Directeur des solutions mondiales
Assurer la préparation opérationnelle et les performances à l'aide de CloudOps
Ce principe du pilier "Excellence opérationnelle" du Google Cloud Well-Architected Framework vous aide à garantir l'aptitude opérationnelle et les performances de vos charges de travail cloud. Il met l'accent sur l'établissement d'attentes et d'engagements clairs concernant les performances des services, la mise en œuvre d'une surveillance et d'alertes robustes, la réalisation de tests de performances et la planification proactive des besoins en capacité.
Présentation du principe
Chaque organisation peut interpréter l'aptitude opérationnelle différemment. L'aptitude opérationnelle correspond à la manière dont votre organisation se prépare à exploiter correctement des charges de travail sur Google Cloud. La préparation de l'exploitation d'une charge de travail cloud complexe et multicouche nécessite une planification minutieuse de la mise en ligne et des opérations du day-2. Ces opérations sont souvent appelées CloudOps.
Domaines d'intérêt de la préparation opérationnelle
La préparation opérationnelle se compose de quatre domaines d'intervention. Chaque domaine d'action se compose d'un ensemble d'activités et de composants nécessaires pour préparer l'exploitation d'une application ou d'un environnement complexe dans Google Cloud. Le tableau suivant liste les composants et les activités de chaque domaine d'intérêt :
| Domaine d'intérêt de la préparation opérationnelle | Activités et composants |
|---|---|
| Main d'œuvre |
|
| Processus |
|
| Outils | Outils requis pour prendre en charge les processus CloudOps. |
| Gouvernance |
|
Recommandations
Pour garantir l'aptitude opérationnelle et les performances à l'aide de CloudOps, tenez compte des recommandations des sections suivantes. Chaque recommandation de ce document est pertinente pour un ou plusieurs des domaines d'intérêt de la préparation opérationnelle.
Définir des SLO et des SLA
L'une des principales responsabilités de l'équipe chargée des opérations cloud consiste à définir des objectifs de niveau de service (SLO) et des contrats de niveau de service (SLA) pour toutes les charges de travail critiques. Cette recommandation est pertinente pour le domaine d'intérêt gouvernance de la préparation opérationnelle.
Définir des SLO :
Les SLO doivent être spécifiques, mesurables, atteignables, pertinents et limités dans le temps (SMART), et ils doivent refléter le niveau de service et de performances que vous souhaitez.
- Spécifique : définit clairement le niveau de service et de performances requis.
- Mesurable : quantifiable et traçable.
- Réalisable : atteignable dans les limites des capacités et des ressources de votre organisation.
- Pertinent : aligné sur les objectifs commerciaux et les priorités de l'entreprise.
- Temporellement défini : l'objectif est associé à un délai de mesure et d'évaluation.
Par exemple, un SLO pour une application Web peut être "disponibilité de 99,9 %" ou "temps de réponse moyen inférieur à 200 ms". Ces SLO définissent clairement le niveau de service et de performances requis pour l'application Web, et peuvent être mesurés et suivis au fil du temps.
Définir des SLA :
Les SLA décrivent les engagements pris envers les clients concernant la disponibilité, les performances et l'assistance du service, y compris les pénalités ou les recours en cas de non-conformité. Les SLA doivent inclure des détails spécifiques sur les services fournis, le niveau de service attendu, les responsabilités du fournisseur de services et du client, ainsi que les pénalités ou les recours en cas de non-conformité. Les SLA servent d'accord contractuel entre les deux parties, garantissant que chacune d'elles comprend clairement les attentes et les obligations associées au service cloud.
Suivre les SLO :
Utilisez Cloud Monitoring et des indicateurs de niveau de service (SLI) pour suivre les SLO. Monitoring fournit des fonctionnalités complètes de surveillance et d'observabilité qui permettent à votre organisation de collecter et d'analyser les métriques liées à la disponibilité, aux performances et à la latence des applications et services dans le cloud. Les SLI sont des métriques spécifiques que vous pouvez utiliser pour mesurer et suivre les SLO au fil du temps. En utilisant ces outils, vous pouvez surveiller et gérer efficacement les services cloud, et vous assurer qu'ils respectent les SLO et les SLA.
Définir, communiquer et suivre clairement les SLO et les SLA pour tous vos services cloud critiques permet de garantir la fiabilité et les performances de vos applications et services déployés.
Implémenter une observabilité complète
Pour obtenir une visibilité en temps réel sur l'état et les performances de votre environnement cloud, nous vous recommandons d'utiliser une combinaison d'outils Google Cloud Observability et de solutions tierces. Cette recommandation concerne les domaines d'intérêt de la préparation opérationnelle que sont les processus et les outils.
La mise en œuvre d'une combinaison de solutions d'observabilité vous offre une stratégie d'observabilité complète qui couvre différents aspects de votre infrastructure cloud et de vos applications. Google Cloud Observability est une plate-forme unifiée permettant de collecter, d'analyser et de visualiser les métriques, les journaux et les traces de divers services, applications et sources externesGoogle Cloud . En utilisant Monitoring, vous pouvez obtenir des insights sur l'utilisation des ressources, les caractéristiques de performances et l'état général de vos ressources.
Pour assurer une surveillance complète, surveillez les métriques importantes qui correspondent aux indicateurs d'état du système, tels que l'utilisation du processeur, de la mémoire, le trafic réseau, les E/S disque et les temps de réponse des applications. Vous devez également tenir compte des métriques spécifiques à votre activité. En suivant ces métriques, vous pouvez identifier les goulots d'étranglement potentiels, les problèmes de performances et les contraintes liées aux ressources. Vous pouvez également configurer des alertes pour avertir de manière proactive les équipes concernées en cas d'anomalies ou de problèmes potentiels.
Pour améliorer davantage vos capacités de surveillance, vous pouvez intégrer des solutions tierces à Google Cloud Observability. Ces solutions peuvent fournir des fonctionnalités supplémentaires, telles que des analyses avancées, la détection d'anomalies basée sur le machine learning et des fonctionnalités de gestion des incidents. Cette combinaison d'outils Google Cloud Observability et de solutions tierces vous permet de créer un écosystème de surveillance robuste et personnalisable, adapté à vos besoins spécifiques. En utilisant cette approche combinée, vous pouvez identifier et résoudre les problèmes de manière proactive, optimiser l'utilisation des ressources et garantir la fiabilité et la disponibilité globales de vos applications et services cloud.
Implémenter des tests de performances et de charge
En effectuant régulièrement des tests de performances, vous vous assurez que vos applications et votre infrastructure dans le cloud peuvent gérer les pics de charge et maintenir des performances optimales. Les tests de charge simulent des schémas de trafic réalistes. Les tests de contrainte poussent le système à ses limites pour identifier les goulots d'étranglement potentiels et les limites de performances. Cette recommandation concerne les domaines d'intérêt de la préparation opérationnelle que sont les processus et les outils.
Tester les performances : utilisez des services de test de charge pour simuler des modèles de trafic réels et tester la résistance de vos applications. Ces outils fournissent des informations précieuses sur le comportement de votre système dans différentes conditions de charge et peuvent vous aider à identifier les domaines nécessitant une optimisation.
Optimiser les performances : en fonction des résultats des tests de performances, vous pouvez prendre des décisions pour optimiser votre infrastructure cloud et vos applications afin d'obtenir des performances et une évolutivité optimales. Cette optimisation peut impliquer d'ajuster l'allocation des ressources, de régler les configurations ou d'implémenter des mécanismes de mise en cache.
Par exemple, si vous constatez que votre application subit des ralentissements pendant les périodes de trafic élevé, vous devrez peut-être augmenter le nombre de machines virtuelles ou de conteneurs qui lui sont alloués. Vous devrez peut-être également ajuster la configuration de votre serveur Web ou de votre base de données pour améliorer les performances.
En effectuant régulièrement des tests de performances et en mettant en œuvre les optimisations nécessaires, vous pouvez vous assurer que vos applications et votre infrastructure dans le cloud fonctionnent toujours de manière optimale, et offrent une expérience fluide et réactive à vos utilisateurs. Cela peut vous aider à conserver un avantage concurrentiel et à gagner la confiance de vos clients.
Planifier et gérer la capacité
Pour que vos systèmes cloud continuent de fonctionner et d'évoluer en réponse aux variations de la demande, vous devez planifier et gérer activement la capacité des ressources cloud. Cette recommandation est compatible avec les processus et les outils des domaines d'intérêt de la préparation opérationnelle.
Tenez compte des limites de service et gérez les quotas de ressources : pour planifier la capacité de vos ressources cloud, commencez par les limites strictes (les contraintes fixes) des services que vous prévoyez d'utiliser.
- Estimez les besoins en quota pour le calcul, le stockage, les limites d'API et les autres ressources dont vous avez besoin. Demandez des ajustements de quota appropriés avant d'avoir besoin des ressources.
- Chargez les métriques de Cloud Monitoring dans BigQuery, puis utilisez-les pour identifier les modèles de trafic et suivre la charge du système au fil du temps.
- Prévoyez la demande de ressources en fonction des campagnes marketing à venir, des inscriptions d'utilisateurs et des déploiements de fonctionnalités. Tenez également compte de vos engagements de SLA actuels et prévus.
Concevez pour la flexibilité et l'efficacité : lorsque vous planifiez la capacité de vos déploiements cloud, dissociez les composants d'application des types de machines spécifiques. Lorsque vous épinglez une charge de travail à un seul type de machine, vous ne pouvez pas profiter du matériel cloud plus récent ni des changements de capacité régionale.
- Pour les charges de travail nécessitant du matériel spécialisé, comme des instances à mémoire élevée ou des GPU, assurez-vous de pouvoir obtenir des ressources lorsque vous en avez besoin. Utilisez les réservations futures pour obtenir une assurance de capacité pour les types de machines critiques jusqu'à un an à l'avance.
- Pour les charges de travail de traitement par lot ou d'entraînement de modèles pouvant tolérer des heures de début variables, planifiez la capacité de manière dynamique à l'aide de VM à démarrage flexible. Ces VM utilisent le programmeur de charge de travail dynamique pour mettre en file d'attente les requêtes et réduire les coûts de calcul.
- Évitez de réserver des familles de machines ou des ressources plus anciennes pour des environnements de développement temporaires.
- Planifiez les ressources dans les régions secondaires afin de pouvoir basculer efficacement pour la reprise après sinistre (DR).
Implémenter le scaling automatique : pour adapter de manière dynamique vos ressources cloud aux fluctuations de la charge de travail en temps réel, implémentez des règles d'autoscaling. Les algorithmes d'autoscaling évaluent des métriques telles que l'utilisation du processeur, la pression de la mémoire et la profondeur de la file d'attente. En fonction de l'évaluation, les ressources font l'objet d'un scaling horizontal pendant les périodes de pic de trafic et d'un scaling vertical pendant les périodes de faible utilisation, ce qui permet d'optimiser le coût de vos ressources cloud.
- Configurez des groupes d'instances gérés (MIG) avec des modèles d'instances mixtes qui combinent les générations actuelles et plus récentes de types de machines.
- Assurez-vous que vos configurations de MIG incluent à la fois la flexibilité des instances (en spécifiant plusieurs types de machines compatibles) et la flexibilité de l'emplacement (en répartissant les cibles sur plusieurs zones d'une région). En fonction des besoins actuels en capacité, votre système provisionne automatiquement le type de machine préféré suivant dans votre liste de remplacement, sans supprimer de requêtes ni limiter les ressources de calcul.
Surveillez et optimisez en continu
Pour gérer et optimiser les charges de travail cloud, vous devez établir un processus de surveillance et d'analyse continues des métriques de performances. Cette recommandation concerne les processus et les outils, qui sont des domaines d'intérêt de la préparation opérationnelle.
Suivre et collecter des données :
Pour établir un processus de surveillance et d'analyse continues, vous devez suivre, collecter et évaluer les données liées à divers aspects de votre environnement cloud. En utilisant ces données, vous pouvez identifier de manière proactive les domaines à améliorer, optimiser l'utilisation des ressources et vous assurer que votre infrastructure cloud répond systématiquement à vos attentes en termes de performances, voire les dépasse.
Examinez les journaux et les traces :
Les journaux fournissent des informations précieuses sur les événements, les erreurs et les avertissements du système. Les traces fournissent des informations détaillées sur le flux de requêtes dans votre application. En analysant les journaux et les traces, vous pouvez identifier les problèmes potentiels, identifier les causes principales des problèmes et mieux comprendre le comportement de vos applications dans différentes conditions. Des métriques telles que le délai aller-retour entre les services peuvent vous aider à identifier et à comprendre les goulots d'étranglement dans vos charges de travail.
Optimiser les performances :
Utilisez des techniques d'optimisation des performances pour améliorer considérablement les temps de réponse des applications et l'efficacité globale. Voici quelques exemples de techniques que vous pouvez utiliser :
- Mise en cache : stockez les données fréquemment consultées en mémoire pour réduire le besoin de requêtes de base de données ou d'appels d'API répétés.
- Optimisation de la base de données : utilisez des techniques telles que l'indexation et l'optimisation des requêtes pour améliorer les performances des opérations de base de données.
- Profilage du code : identifiez les zones de votre code qui consomment trop de ressources ou causent des problèmes de performances.
Gérer les incidents et les problèmes
Ce principe du pilier "Excellence opérationnelle" du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à gérer les incidents et les problèmes liés à vos charges de travail cloud. Il s'agit de mettre en œuvre une surveillance et une observabilité complètes, d'établir des procédures claires de réponse aux incidents, d'effectuer une analyse approfondie de la cause principale et de mettre en œuvre des mesures préventives. De nombreux sujets abordés dans ce principe sont traités en détail dans le pilier Fiabilité.
Présentation du principe
La gestion des incidents et la gestion des problèmes sont des composants importants d'un environnement d'exploitation fonctionnel. La manière dont vous traitez, classez et résolvez les incidents de différents niveaux de gravité peut avoir une incidence significative sur vos opérations. Vous devez également effectuer des ajustements de manière proactive et continue pour optimiser la fiabilité et les performances. Un processus efficace de gestion des incidents et des problèmes repose sur les éléments fondamentaux suivants :
- Surveillance continue : identifiez et résolvez rapidement les problèmes.
- Automatisation : simplifiez les tâches et améliorez l'efficacité.
- Orchestration : coordonnez et gérez efficacement les ressources cloud.
- Insights basés sur les données : optimisez les opérations cloud et prenez des décisions éclairées.
Ces éléments vous aident à créer un environnement cloud résilient, capable de gérer un large éventail de défis et de perturbations. Ces éléments peuvent également contribuer à réduire le risque d'incidents et de temps d'arrêt coûteux, et vous aider à accroître l'agilité et la réussite de votre entreprise. Ces éléments fondamentaux sont répartis entre les quatre domaines d'intérêt de la préparation opérationnelle : personnel, processus, outils et gouvernance.
Recommandations
Pour gérer efficacement les incidents et les problèmes, tenez compte des recommandations présentées dans les sections suivantes. Chaque recommandation de ce document est pertinente pour un ou plusieurs des domaines d'intérêt de la préparation opérationnelle.
Définir des procédures claires de réponse aux incidents
Il est essentiel de définir clairement les rôles et les responsabilités pour garantir une réponse efficace et coordonnée aux incidents. De plus, des protocoles de communication et des procédures d'escalade clairs permettent de s'assurer que les informations sont partagées rapidement et efficacement lors d'un incident. Cette recommandation s'applique aux domaines d'intervention de la préparation opérationnelle suivants : personnel, processus et outils.
Pour établir des procédures de réponse aux incidents, vous devez définir les rôles et les attentes de chaque membre de l'équipe, tels que les chargés d'incidents, les enquêteurs, les communicants et les experts techniques. L'établissement de chemins de communication et d'escalade inclut l'identification des contacts importants, la configuration des canaux de communication et la définition du processus d'escalade des incidents vers des niveaux de gestion plus élevés si nécessaire. Une formation et une préparation régulières permettent de s'assurer que les équipes disposent des connaissances et des compétences nécessaires pour répondre efficacement aux incidents.
En documentant les procédures de réponse aux incidents dans un runbook ou un playbook, vous pouvez fournir un guide de référence standardisé que les équipes pourront suivre lors d'un incident. Le runbook doit décrire les étapes à suivre à chaque étape du processus de réponse aux incidents, y compris la communication, le tri, l'investigation et la résolution. Il doit également inclure des informations sur les outils et ressources pertinents, ainsi que les coordonnées des personnes importantes. Vous devez régulièrement examiner et mettre à jour le runbook pour vous assurer qu'il reste à jour et efficace.
Centraliser la gestion des incidents
Pour un suivi et une gestion efficaces tout au long du cycle de vie des incidents, envisagez d'utiliser un système de gestion des incidents centralisé. Cette recommandation s'applique aux domaines d'intérêt de la préparation opérationnelle suivants : processus et outils.
Un système de gestion des incidents centralisé offre les avantages suivants :
- Visibilité améliorée : en regroupant toutes les données liées aux incidents dans un seul emplacement, vous évitez aux équipes d'avoir à rechercher du contexte dans différents canaux ou systèmes. Cette approche permet de gagner du temps et de réduire la confusion, et offre aux parties prenantes une vue d'ensemble de l'incident, y compris son état, son impact et sa progression.
- Amélioration de la coordination et de la collaboration : un système centralisé fournit une plate-forme unifiée pour la communication et la gestion des tâches. Il favorise une collaboration fluide entre les différents services et fonctions impliqués dans la réponse aux incidents. Cette approche permet à chacun d'accéder à des informations à jour et réduit le risque de mauvaise communication et de désalignement.
- Responsabilité et appropriation améliorées : un système de gestion des incidents centralisé permet à votre organisation d'attribuer des tâches à des personnes ou des équipes spécifiques, et de s'assurer que les responsabilités sont clairement définies et suivies. Cette approche favorise la responsabilisation et encourage la résolution proactive des problèmes, car les membres de l'équipe peuvent facilement suivre leur progression et leurs contributions.
Un système de gestion des incidents centralisé doit offrir des fonctionnalités robustes pour le suivi des incidents, l'attribution des tâches et la gestion des communications. Ces fonctionnalités vous permettent de personnaliser les workflows, de définir des priorités et de les intégrer à d'autres systèmes, tels que des outils de surveillance et des systèmes de gestion des demandes.
En mettant en œuvre un système centralisé de gestion des incidents, vous pouvez optimiser les processus de réponse aux incidents de votre organisation, améliorer la collaboration et renforcer la visibilité. Cela permet de résoudre les incidents plus rapidement, de réduire les temps d'arrêt et d'améliorer la satisfaction client. Cela permet également de favoriser une culture d'amélioration continue, car vous pouvez tirer des enseignements des incidents passés et identifier les points à améliorer.
Effectuer des analyses post-incident approfondies
Après un incident, vous devez effectuer un examen post-incident (PIR) détaillé, également appelé post-mortem, pour identifier la cause principale, les facteurs contributifs et les enseignements tirés. Cet examen approfondi vous aide à prévenir des incidents similaires à l'avenir. Cette recommandation s'applique aux domaines d'intervention de la préparation opérationnelle suivants : processus et gouvernance.
Le processus de PIR doit impliquer une équipe pluridisciplinaire possédant une expertise dans divers aspects de l'incident. L'équipe doit recueillir toutes les informations pertinentes par le biais d'entretiens, de l'examen de la documentation et d'inspections sur site. Une chronologie des événements doit être créée pour établir la séquence d'actions qui ont conduit à l'incident.
Une fois que l'équipe a recueilli les informations requises, elle doit effectuer une analyse des causes principales pour déterminer les facteurs qui ont conduit à l'incident. Cette analyse doit identifier à la fois la cause immédiate et les problèmes systémiques qui ont contribué à l'incident.
En plus d'identifier la cause principale, l'équipe PIR doit identifier tous les autres facteurs contributifs qui auraient pu provoquer l'incident. Ces facteurs peuvent inclure une erreur humaine, une défaillance de l'équipement ou des facteurs organisationnels tels que des problèmes de communication et un manque de formation.
Le rapport PIR doit documenter les résultats de l'enquête, y compris la chronologie des événements, l'analyse de la cause principale et les actions recommandées. Le rapport est une ressource précieuse pour mettre en œuvre des actions correctives et éviter que le problème ne se reproduise. Le rapport doit être partagé avec toutes les parties prenantes concernées et doit être utilisé pour élaborer des formations et des procédures de sécurité.
Pour garantir la réussite du processus de PIR, votre organisation doit favoriser une culture sans reproche, axée sur l'apprentissage et l'amélioration plutôt que sur l'attribution de blâmes. Cette culture encourage les individus à signaler les incidents sans craindre de représailles, et vous permet de résoudre les problèmes systémiques et d'apporter des améliorations significatives.
En effectuant des examens post-incident approfondis et en mettant en œuvre des mesures correctives basées sur les résultats, vous pouvez réduire considérablement le risque que des incidents similaires se produisent à l'avenir. Cette approche proactive de l'investigation et de la prévention des incidents permet de créer un environnement de travail plus sûr et plus efficace pour toutes les personnes concernées.
Maintenir une base de connaissances
Une base de connaissances contenant les problèmes connus, les solutions et les guides de dépannage est essentielle pour la gestion et la résolution des incidents. Les membres de l'équipe peuvent utiliser la base de connaissances pour identifier et résoudre rapidement les problèmes courants. La mise en œuvre d'une base de connaissances permet de réduire le besoin d'escalade et d'améliorer l'efficacité globale. Cette recommandation s'applique aux domaines d'intervention de la préparation opérationnelle suivants : personnel et processus.
L'un des principaux avantages d'une base de connaissances est qu'elle permet aux équipes de tirer des enseignements de leurs expériences passées et d'éviter de répéter les mêmes erreurs. En capturant et en partageant des solutions aux problèmes connus, les équipes peuvent acquérir une compréhension collective de la résolution des problèmes courants et des bonnes pratiques de gestion des incidents. L'utilisation d'une base de connaissances permet de gagner du temps et de l'énergie, de standardiser les processus et d'assurer la cohérence de la résolution des incidents.
En plus d'aider à réduire les délais de résolution des incidents, une base de connaissances favorise le partage des connaissances et la collaboration entre les équipes. Grâce à un dépôt central d'informations, les équipes peuvent facilement accéder à la base de connaissances et y contribuer, ce qui favorise une culture d'apprentissage et d'amélioration continues. Cette culture encourage les équipes à partager leur expertise et leurs expériences, ce qui permet de créer une base de connaissances plus complète et plus utile.
Pour créer et gérer efficacement une base de connaissances, utilisez des outils et des technologies appropriés. Les plates-formes de collaboration telles que Google Workspace sont bien adaptées à cet objectif, car elles vous permettent de créer, de modifier et de partager facilement des documents de manière collaborative. Ces outils sont également compatibles avec le contrôle des versions et le suivi des modifications, ce qui garantit que la base de connaissances reste à jour et exacte.
Rendez la base de connaissances facilement accessible à toutes les équipes concernées. Pour ce faire, vous pouvez intégrer la base de connaissances aux systèmes de gestion des incidents existants, ou fournir un portail ou un site intranet dédié. Une base de connaissances facilement accessible permet aux équipes d'accéder rapidement aux informations dont elles ont besoin pour résoudre efficacement les incidents. Cette disponibilité permet de réduire les temps d'arrêt et de minimiser l'impact sur les opérations de l'entreprise.
Examinez et mettez à jour régulièrement la base de connaissances pour vous assurer qu'elle reste pertinente et utile. Surveiller les signalements d'incidents, identifier les problèmes et les tendances courants, et intégrer de nouvelles solutions et des guides de dépannage dans la base de connaissances. Une base de connaissances à jour aide vos équipes à résoudre les incidents plus rapidement et plus efficacement.
Automatiser la réponse aux incidents
L'automatisation permet de simplifier vos processus de réponse aux incidents et de correction. Il vous permet de résoudre rapidement et efficacement les failles de sécurité et les défaillances du système. En utilisant Google Cloud des produits tels que Cloud Run Functions ou Cloud Run, vous pouvez automatiser diverses tâches qui sont généralement manuelles et chronophages. Cette recommandation concerne les domaines d'intérêt de la préparation opérationnelle suivants : processus et outils.
La réponse aux incidents automatisée offre les avantages suivants :
- Réduction des délais de détection et de résolution des incidents : les outils automatisés peuvent surveiller en continu les systèmes et les applications, détecter les activités suspectes ou anormales en temps réel, et avertir les parties prenantes ou réagir sans intervention. Cette automatisation vous permet d'identifier les menaces ou les problèmes potentiels avant qu'ils ne se transforment en incidents majeurs. Lorsqu'un incident est détecté, des outils automatisés peuvent déclencher des actions de correction prédéfinies, telles que l'isolation des systèmes concernés, la mise en quarantaine des fichiers malveillants ou l'annulation des modifications pour restaurer le système dans un état correct connu.
- Réduction de la charge de travail des équipes de sécurité et d'exploitation : la réponse automatisée aux incidents permet aux équipes de sécurité et d'exploitation de se concentrer sur des tâches plus stratégiques. En automatisant les tâches de routine et répétitives, telles que la collecte d'informations de diagnostic ou le déclenchement d'alertes, votre organisation peut libérer du personnel pour gérer des incidents plus complexes et critiques. Cette automatisation peut améliorer l'efficacité globale de la réponse aux incidents.
- Amélioration de la cohérence et de la précision du processus de correction : les outils automatisés peuvent garantir que les actions de correction sont appliquées de manière uniforme sur tous les systèmes concernés, ce qui réduit le risque d'erreur humaine ou d'incohérence. Cette standardisation du processus de correction permet de minimiser l'impact des incidents sur les utilisateurs et l'entreprise.
Gérer et optimiser les ressources cloud
Ce principe du pilier "Excellence opérationnelle" du Google Cloud Well-Architected Framework fournit des recommandations pour vous aider à gérer et à optimiser les ressources utilisées par vos charges de travail cloud. Cela implique de dimensionner les ressources de manière appropriée en fonction de l'utilisation réelle et de la demande, d'utiliser l'autoscaling pour l'allocation dynamique des ressources, de mettre en œuvre des stratégies d'optimisation des coûts et d'examiner régulièrement l'utilisation des ressources et les coûts. De nombreux sujets abordés dans ce principe sont traités en détail dans le pilier Optimisation des coûts.
Présentation du principe
La gestion et l'optimisation des ressources cloud jouent un rôle essentiel dans l'optimisation des dépenses cloud, de l'utilisation des ressources et de l'efficacité de l'infrastructure. Elle inclut différentes stratégies et bonnes pratiques visant à maximiser la valeur et le rendement de vos dépenses cloud.
L'optimisation de ce pilier va au-delà de la réduction des coûts. Il met l'accent sur les objectifs suivants :
- Efficacité : utiliser l'automatisation et l'analyse de données pour atteindre des performances optimales et réaliser des économies.
- Performances : scaling des ressources sans effort pour répondre aux fluctuations de la demande et fournir des résultats optimaux.
- Évolutivité : adaptation de l'infrastructure et des processus pour répondre à une croissance rapide et à des charges de travail diverses.
En vous concentrant sur ces objectifs, vous parvenez à un équilibre entre coût et fonctionnalité. Vous pouvez prendre des décisions éclairées concernant le provisionnement, le scaling et la migration des ressources. De plus, vous obtenez des insights précieux sur les modèles de consommation des ressources, ce qui vous permet d'identifier et de résoudre de manière proactive les problèmes potentiels avant qu'ils ne s'aggravent.
Recommandations
Pour gérer et optimiser les ressources, tenez compte des recommandations des sections suivantes. Chaque recommandation de ce document est pertinente pour un ou plusieurs des domaines d'intérêt de la préparation opérationnelle.
Redimensionner les ressources
Pour gérer efficacement les ressources cloud, il est essentiel de surveiller en permanence leur utilisation et d'ajuster leur allocation en fonction de la demande réelle. Le surprovisionnement des ressources peut entraîner des coûts inutiles, et le sous-provisionnement peut provoquer des goulots d'étranglement qui affectent les performances des applications et l'expérience utilisateur. Pour atteindre un équilibre optimal, vous devez adopter une approche proactive pour redimensionner les ressources cloud. Cette recommandation concerne le domaine d'intérêt de la gouvernance pour la préparation opérationnelle.
Cloud Monitoring et l'outil de recommandation peuvent vous aider à identifier les opportunités de redimensionnement. Monitoring offre une visibilité en temps réel sur les métriques d'utilisation des ressources. Cette visibilité vous permet de suivre les modèles d'utilisation des ressources et d'identifier les inefficacités potentielles. L'outil de recommandation analyse les données d'utilisation des ressources pour formuler des recommandations intelligentes d'optimisation de l'allocation des ressources. Grâce à ces outils, vous pouvez obtenir des informations sur l'utilisation des ressources et prendre des décisions éclairées concernant le redimensionnement des ressources.
En plus de Monitoring et de l'outil de recommandation, envisagez d'utiliser des métriques personnalisées pour déclencher des actions de redimensionnement automatisées. Les métriques personnalisées vous permettent de suivre des métriques d'utilisation des ressources spécifiques qui sont pertinentes pour vos applications et vos charges de travail. Vous pouvez également configurer des alertes pour avertir les administrateurs lorsque des seuils prédéfinis sont atteints. Les administrateurs peuvent ensuite prendre les mesures nécessaires pour ajuster l'allocation des ressources. Cette approche proactive garantit que les ressources sont mises à l'échelle en temps opportun, ce qui permet d'optimiser les coûts du cloud et d'éviter les problèmes de performances.
Utiliser l'autoscaling
L'autoscaling des ressources de calcul et d'autres ressources permet d'assurer des performances et une rentabilité optimales pour vos applications dans le cloud. L'autoscaling vous permet d'ajuster de manière dynamique la capacité de vos ressources en fonction des fluctuations de la charge de travail. Vous disposez ainsi des ressources dont vous avez besoin au moment où vous en avez besoin, et vous pouvez éviter le surprovisionnement et les coûts inutiles. Cette recommandation concerne le domaine d'intérêt des processus de préparation opérationnelle.
Pour répondre aux divers besoins des différentes applications et charges de travail,Google Cloud propose plusieurs options d'autoscaling, y compris les suivantes :
- Les groupes d'instances gérés (MIG) Compute Engine sont des groupes de VM gérés et mis à l'échelle comme une seule entité. Avec les MIG, vous pouvez définir des règles d'autoscaling qui spécifient le nombre minimal et le nombre maximal de VM à maintenir dans le groupe, ainsi que les conditions qui déclenchent l'autoscaling. Par exemple, vous pouvez configurer une règle pour ajouter des VM dans un MIG lorsque l'utilisation du processeur atteint un certain seuil et pour supprimer des VM lorsque l'utilisation passe en dessous d'un autre seuil.
L'autoscaling Google Kubernetes Engine (GKE) ajuste dynamiquement les ressources de votre cluster en fonction des besoins de votre application. Il propose les outils suivants :
- L'autoscaler de cluster ajoute ou supprime des nœuds en fonction des demandes de ressources des pods.
- L'Autoscaler horizontal de pods modifie le nombre d'instances répliquées de pods en fonction du processeur, de la mémoire ou de métriques personnalisées.
- L'autoscaler vertical des pods ajuste les requêtes de ressources et les limites des pods en fonction des modèles d'utilisation.
- Le provisionnement automatique des nœuds crée automatiquement des pools de nœuds optimisés pour vos charges de travail.
Ces outils fonctionnent ensemble pour optimiser l'utilisation des ressources, assurer les performances des applications et simplifier la gestion des clusters.
Cloud Run est une plate-forme sans serveur qui vous permet d'exécuter du code sans avoir à gérer d'infrastructure. Cloud Run propose un autoscaling intégré, qui ajuste automatiquement le nombre d'instances en fonction du trafic entrant. Lorsque le volume de trafic augmente, Cloud Run augmente le nombre d'instances pour gérer la charge. Lorsque le trafic diminue, Cloud Run réduit le nombre d'instances pour réduire les coûts.
En utilisant ces options d'autoscaling, vous pouvez vous assurer que vos applications dans le cloud disposent des ressources nécessaires pour gérer des charges de travail variables, tout en évitant le surprovisionnement et les coûts inutiles. L'utilisation de l'autoscaling peut améliorer les performances, réduire les coûts et optimiser l'utilisation des ressources cloud.
Exploiter des stratégies d'optimisation des coûts
L'optimisation des dépenses cloud vous aide à gérer efficacement les budgets informatiques de votre organisation. Cette recommandation est pertinente pour le domaine d'intérêt de la gouvernance pour la préparation opérationnelle.
Google Cloud propose plusieurs outils et techniques pour vous aider à optimiser les coûts du cloud. En utilisant ces outils et techniques, vous pouvez tirer le meilleur parti de vos dépenses cloud. Ces outils et techniques vous aident à identifier les domaines dans lesquels les coûts peuvent être réduits, par exemple en identifiant les ressources sous-utilisées ou en recommandant des types d'instances plus rentables. Google Cloud Les options permettant d'optimiser les coûts du cloud sont les suivantes :
- Les remises sur engagement d'utilisation sont des remises accordées lorsque vous vous engagez à utiliser un certain niveau de ressources sur une période donnée.
- Les remises pour usage soutenu dans Compute Engine permettent de bénéficier de remises pour une utilisation cohérente d'un service.
- Les VM Spot permettent d'accéder à la capacité de VM inutilisée à un coût inférieur à celui des VM standards.
Les modèles de tarification peuvent évoluer au fil du temps, et de nouvelles fonctionnalités peuvent être introduites pour offrir de meilleures performances ou un coût inférieur par rapport aux options existantes. Par conséquent, vous devez régulièrement examiner les modèles de tarification et envisager d'autres fonctionnalités. En vous tenant informé des derniers modèles de tarification et des dernières fonctionnalités, vous pouvez prendre des décisions éclairées concernant votre architecture cloud afin de minimiser les coûts.
Les outils de gestion des coûts deGoogle Cloud, tels que les budgets et les alertes, fournissent des insights précieux sur les dépenses cloud. Les budgets et les alertes permettent aux utilisateurs de définir des budgets et de recevoir des alertes lorsque ces budgets sont dépassés. Ces outils aident les utilisateurs à suivre leurs dépenses cloud et à identifier les domaines dans lesquels les coûts peuvent être réduits.
Suivre l'utilisation et les coûts des ressources
Vous pouvez utiliser le taggage et l'étiquetage pour suivre l'utilisation et les coûts des ressources. En attribuant des tags et des étiquettes à vos ressources cloud (projets, services ou autres dimensions pertinentes), vous pouvez les classer et les organiser. Cela vous permet de surveiller et d'analyser les habitudes de dépenses pour des ressources spécifiques, et d'identifier les domaines d'utilisation élevée ou les économies potentielles. Cette recommandation concerne les domaines d'intervention de la préparation opérationnelle suivants : gouvernance et outils.
Des outils tels que Cloud Billing et Cost Management vous aident à comprendre de manière exhaustive vos habitudes de dépenses. Ces outils fournissent des insights détaillés sur votre utilisation du cloud et vous permettent d'identifier les tendances, de prévoir les coûts et de prendre des décisions éclairées. En analysant les données historiques et les habitudes de dépenses actuelles, vous pouvez identifier les domaines sur lesquels concentrer vos efforts d'optimisation des coûts.
Les tableaux de bord et les rapports personnalisés vous aident à visualiser les données de coût et à mieux comprendre les tendances de dépenses. En personnalisant les tableaux de bord avec des métriques et des dimensions pertinentes, vous pouvez surveiller les indicateurs clés de performance (KPI) et suivre la progression vers vos objectifs d'optimisation des coûts. Les rapports offrent des analyses plus approfondies des données de coût. Les rapports vous permettent de filtrer les données par périodes ou types de ressources spécifiques afin de comprendre les facteurs sous-jacents qui contribuent à vos dépenses cloud.
Examinez et mettez à jour régulièrement vos tags, vos libellés et vos outils d'analyse des coûts pour vous assurer de disposer des informations les plus récentes sur l'utilisation et les coûts de votre cloud. En restant informé et en effectuant des post-mortems ou des examens proactifs des coûts, vous pouvez identifier rapidement toute augmentation inattendue des dépenses. Vous pouvez ainsi prendre des décisions proactives pour optimiser les ressources cloud et contrôler les coûts.
Établir la répartition des coûts et la budgétisation
La responsabilité et la transparence dans la gestion des coûts du cloud sont cruciales pour optimiser l'utilisation des ressources et assurer le contrôle financier. Cette recommandation concerne le domaine d'intérêt de la gouvernance de la préparation opérationnelle.
Pour garantir la responsabilité et la transparence, vous devez disposer de mécanismes clairs pour l'allocation des coûts et la rétrofacturation. En répartissant les coûts entre des équipes, des projets ou des personnes spécifiques, votre organisation peut s'assurer que chacune de ces entités est responsable de son utilisation du cloud. Cette pratique favorise un sentiment d'appropriation et encourage une gestion responsable des ressources. De plus, les mécanismes de refacturation permettent à votre organisation de récupérer les coûts du cloud auprès des clients internes, d'aligner les incitations sur les performances et de promouvoir la discipline fiscale.
L'établissement de budgets pour différentes équipes ou différents projets est un autre aspect essentiel de la gestion des coûts du cloud. Les budgets permettent à votre organisation de définir des limites de dépenses et de suivre les dépenses réelles par rapport à ces limites. Cette approche vous permet de prendre des décisions proactives pour éviter les dépenses incontrôlées. En définissant des budgets réalistes et réalisables, vous pouvez vous assurer que les ressources cloud sont utilisées efficacement et qu'elles sont alignées sur les objectifs d'entreprise. La surveillance régulière des dépenses réelles par rapport aux budgets vous aide à identifier les écarts et à résoudre rapidement les dépassements potentiels.
Pour surveiller les budgets, vous pouvez utiliser des outils tels que les budgets et alertes Cloud Billing. Ces outils fournissent des insights en temps réel sur les dépenses cloud et avertissent les parties prenantes des dépassements potentiels. Grâce à ces capacités, vous pouvez suivre les coûts du cloud et prendre des actions correctives avant que des écarts importants ne se produisent. Cette approche proactive permet d'éviter les surprises financières et de s'assurer que les ressources cloud sont utilisées de manière responsable.
Automatiser et gérer les modifications
Ce principe du pilier "Excellence opérationnelle" du frameworkGoogle Cloud Well-Architected fournit des recommandations pour vous aider à automatiser et à gérer les modifications de vos charges de travail cloud. Cela implique d'implémenter l'infrastructure as code (IaC), d'établir des procédures d'exploitation standards, de mettre en œuvre un processus de gestion du changement structuré, et d'utiliser l'automatisation et l'orchestration.
Présentation du principe
La gestion du changement et l'automatisation jouent un rôle crucial pour assurer des transitions fluides et contrôlées dans les environnements cloud. Pour une gestion efficace du changement, vous devez utiliser des stratégies et des bonnes pratiques qui minimisent les perturbations et garantissent que les modifications sont intégrées de manière fluide aux systèmes existants.
Une gestion et une automatisation efficaces des modifications incluent les éléments fondamentaux suivants :
- Gouvernance des modifications : établissez des règles et des procédures claires pour la gestion des modifications, y compris des processus d'approbation et des plans de communication.
- Évaluation des risques : identifiez les risques potentiels associés aux modifications et atténuez-les à l'aide de techniques de gestion des risques.
- Tests et validation : testez minutieusement les modifications pour vous assurer qu'elles répondent aux exigences fonctionnelles et de performances, et pour limiter les régressions potentielles.
- Déploiement contrôlé : implémentez les modifications de manière contrôlée, en veillant à ce que les utilisateurs passent de manière fluide au nouvel environnement, avec des mécanismes permettant d'effectuer un rollback fluide si nécessaire.
Ces éléments fondamentaux permettent de minimiser l'impact des modifications et de s'assurer qu'elles ont un effet positif sur les opérations de l'entreprise. Ces éléments sont représentés par les domaines d'intérêt de la préparation opérationnelle : processus, outils et gouvernance.
Recommandations
Pour automatiser et gérer les modifications, tenez compte des recommandations des sections suivantes. Chaque recommandation de ce document est pertinente pour un ou plusieurs des domaines d'intérêt de la préparation opérationnelle.
Adopter l'IaC
L'Infrastructure as Code (IaC) est une approche révolutionnaire de la gestion de l'infrastructure cloud. Vous pouvez définir et gérer l'infrastructure cloud de manière déclarative à l'aide d'outils tels que Terraform. L'IaC vous aide à assurer la cohérence, la reproductibilité et la gestion simplifiée des modifications. Il permet également des déploiements plus rapides et plus fiables. Cette recommandation s'applique aux domaines d'intérêt de la préparation opérationnelle suivants : processus et outils.
Voici les principaux avantages de l'adoption de l'approche IaC pour vos déploiements cloud :
- Configurations de ressources lisibles par l'humain : avec l'approche IaC, vous pouvez déclarer vos ressources d'infrastructure cloud dans un format lisible par l'humain, tel que JSON ou YAML. Les administrateurs et les opérateurs d'infrastructure peuvent facilement comprendre et modifier l'infrastructure, et collaborer avec d'autres personnes.
- Cohérence et reproductibilité : l'IaC permet d'assurer la cohérence et la reproductibilité de vos déploiements d'infrastructure. Vous pouvez vous assurer que votre infrastructure est provisionnée et configurée de la même manière à chaque fois, quel que soit l'utilisateur qui effectue le déploiement. Cette approche permet de réduire les erreurs et de s'assurer que votre infrastructure est toujours dans un état connu.
- Responsabilité et dépannage simplifié : l'approche IaC permet d'améliorer la responsabilité et de résoudre plus facilement les problèmes. En stockant votre code IaC dans un système de contrôle des versions, vous pouvez suivre les modifications, et identifier quand et par qui elles ont été apportées. Si nécessaire, vous pouvez facilement revenir à des versions précédentes.
Mettre en œuvre un contrôle des versions
Un système de contrôle des versions comme Git est un composant clé du processus IaC. Il fournit des fonctionnalités robustes de gestion du changement et d'atténuation des risques, ce qui explique pourquoi il est largement adopté, que ce soit par le biais d'un développement interne ou de solutions SaaS. Cette recommandation s'applique aux domaines d'intérêt de la préparation opérationnelle suivants : gouvernance et outils.
En suivant les modifications apportées au code et aux configurations IaC, le contrôle des versions offre une visibilité sur l'évolution du code, ce qui permet de mieux comprendre l'impact des modifications et d'identifier les problèmes potentiels. Cette visibilité accrue favorise la collaboration entre les membres de l'équipe qui travaillent sur le même projet IaC.
La plupart des systèmes de contrôle des versions vous permettent d'annuler facilement les modifications si nécessaire. Cette fonctionnalité permet de limiter le risque de conséquences ou d'erreurs involontaires. En utilisant des outils comme Git dans votre workflow IaC, vous pouvez améliorer considérablement les processus de gestion des modifications, favoriser la collaboration et limiter les risques, ce qui permet une mise en œuvre plus efficace et plus fiable de l'IaC.
Créer des pipelines CI/CD
Les pipelines d'intégration continue et de livraison continue (CI/CD) simplifient le processus de développement et de déploiement des applications cloud. Les pipelines CI/CD automatisent les étapes de compilation, de test et de déploiement, ce qui permet des lancements plus rapides et plus fréquents, avec un meilleur contrôle qualité. Cette recommandation concerne le domaine d'intérêt de l'outillage pour la préparation opérationnelle.
Les pipelines CI/CD garantissent que les modifications de code sont intégrées en continu dans un dépôt central, généralement un système de contrôle des versions comme Git. L'intégration continue facilite la détection et la résolution précoces des problèmes, et réduit la probabilité de bugs ou de problèmes de compatibilité.
Pour créer et gérer des pipelines CI/CD pour les applications cloud, vous pouvez utiliser des outils tels que Cloud Build et Cloud Deploy.
- Cloud Build est un service de compilation entièrement géré qui permet aux développeurs de définir et d'exécuter des étapes de compilation de manière déclarative. Il s'intègre parfaitement aux plates-formes de gestion de code source populaires et peut être déclenché par des événements tels que des transferts de code et des demandes d'extraction.
- Cloud Deploy est un service de déploiement sans serveur qui automatise le processus de déploiement d'applications dans différents environnements, tels que les tests, la préproduction et la production. Il fournit des fonctionnalités telles que les déploiements bleu-vert, la répartition du trafic et les fonctionnalités de rollback, ce qui facilite la gestion et la surveillance des déploiements d'applications.
L'intégration de pipelines CI/CD aux systèmes de contrôle des versions et aux frameworks de test permet de garantir la qualité et la fiabilité de vos applications cloud. En exécutant des tests automatisés dans le cadre du processus CI/CD, les équipes de développement peuvent identifier et résoudre rapidement les problèmes avant que le code ne soit déployé dans l'environnement de production. Cette intégration permet d'améliorer la stabilité et les performances globales de vos applications cloud.
Utiliser des outils de gestion de configuration
Des outils tels que Puppet, Chef, Ansible et VM Manager vous aident à automatiser la configuration et la gestion des ressources cloud. Ces outils vous permettent d'assurer la cohérence et la conformité des ressources dans vos environnements cloud. Cette recommandation concerne le domaine d'intérêt des outils pour la préparation opérationnelle.
L'automatisation de la configuration et de la gestion des ressources cloud offre les avantages suivants :
- Réduction significative du risque d'erreurs manuelles : lorsque des processus manuels sont impliqués, la probabilité d'erreurs dues à une erreur humaine est plus élevée. Les outils de gestion de configuration réduisent ce risque en automatisant les processus, de sorte que les configurations sont appliquées de manière cohérente et précise à toutes les ressources cloud. Cette automatisation peut améliorer la fiabilité et la stabilité de l'environnement cloud.
- Amélioration de l'efficacité opérationnelle : en automatisant les tâches répétitives, votre organisation peut libérer le personnel informatique pour qu'il se concentre sur des initiatives plus stratégiques. Cette automatisation peut entraîner une augmentation de la productivité, des économies et une meilleure réactivité face à l'évolution des besoins de l'entreprise.
- Gestion simplifiée d'une infrastructure cloud complexe : à mesure que les environnements cloud gagnent en taille et en complexité, la gestion des ressources peut devenir de plus en plus difficile. Les outils de gestion de configuration fournissent une plate-forme centralisée pour gérer les ressources cloud. Ces outils facilitent le suivi des configurations, l'identification des problèmes et l'implémentation des modifications. L'utilisation de ces outils peut améliorer la visibilité, le contrôle et la sécurité de votre environnement cloud.
Automatiser les tests
L'intégration de tests automatisés dans vos pipelines CI/CD permet de garantir la qualité et la fiabilité de vos applications cloud. En validant les modifications avant le déploiement, vous pouvez réduire considérablement le risque d'erreurs et de régressions, ce qui permet d'obtenir un système logiciel plus stable et plus robuste. Cette recommandation concerne les domaines d'intérêt de la préparation opérationnelle suivants : processus et outils.
Voici les principaux avantages de l'intégration de tests automatisés dans vos pipelines CI/CD :
- Détection précoce des bugs et des défauts : les tests automatisés permettent de détecter les bugs et les défauts dès le début du processus de développement, avant qu'ils ne causent des problèmes majeurs en production. Cette fonctionnalité permet d'économiser du temps et des ressources en évitant d'avoir à retravailler et à corriger des bugs à des étapes ultérieures du processus de développement.
- Code de haute qualité et basé sur des normes : les tests automatisés peuvent contribuer à améliorer la qualité globale de votre code en s'assurant qu'il respecte certaines normes et bonnes pratiques. Cette fonctionnalité permet de créer des applications plus faciles à gérer et plus fiables, moins sujettes aux erreurs.
Vous pouvez utiliser différents types de techniques de test dans les pipelines CI/CD. Chaque type de test a un objectif spécifique.
- Les tests unitaires se concentrent sur le test d'unités de code individuelles, telles que des fonctions ou des méthodes, pour s'assurer qu'elles fonctionnent comme prévu.
- Les tests d'intégration testent les interactions entre les différents composants ou modules de votre application pour vérifier qu'ils fonctionnent correctement ensemble.
- Les tests de bout en bout sont souvent utilisés avec les tests unitaires et d'intégration. Les tests de bout en bout simulent des scénarios réels pour tester l'application dans son ensemble et permettent de s'assurer qu'elle répond aux exigences de vos utilisateurs finaux.
Pour intégrer efficacement les tests automatisés dans vos pipelines CI/CD, vous devez choisir des outils et des frameworks de test appropriés. Il existe de nombreuses options, chacune ayant ses propres avantages et inconvénients. Vous devez également établir une stratégie de test claire qui décrit les types de tests à effectuer, leur fréquence et les critères de réussite ou d'échec d'un test. En suivant ces recommandations, vous pouvez vous assurer que votre processus de test automatisé est efficace. Ce processus fournit des insights précieux sur la qualité et la fiabilité de vos applications cloud.
Améliorer et innover en continu
Ce principe du pilier "Excellence opérationnelle" du framework Well-ArchitectedGoogle Cloud fournit des recommandations pour vous aider à optimiser en continu les opérations cloud et à stimuler l'innovation.
Présentation du principe
Pour vous améliorer et innover en permanence dans le cloud, vous devez vous concentrer sur l'apprentissage, l'expérimentation et l'adaptation continus. Cela vous aide à explorer de nouvelles technologies et à optimiser les processus existants, et favorise une culture d'excellence qui permet à votre organisation d'atteindre et de maintenir une position de leader dans le secteur.
Grâce à l'amélioration et à l'innovation continues, vous pouvez atteindre les objectifs suivants :
- Accélérer l'innovation : explorez de nouvelles technologies et de nouveaux services pour améliorer vos capacités et vous démarquer.
- Réduire les coûts : identifier et éliminer les inefficacités grâce à des initiatives d'amélioration des processus.
- Améliorer l'agilité : s'adapter rapidement à l'évolution des demandes du marché et des besoins des clients.
- Améliorer la prise de décision : obtenez des insights précieux à partir des données et des analyses pour prendre des décisions basées sur les données.
Les organisations qui adoptent le principe d'amélioration et d'innovation continues peuvent exploiter tout le potentiel de l'environnement cloud et atteindre une croissance durable. Ce principe correspond principalement au domaine d'intérêt de la préparation opérationnelle pour le personnel. Une culture de l'innovation permet aux équipes d'expérimenter de nouveaux outils et technologies pour étendre leurs capacités et réduire les coûts.
Recommandations
Pour améliorer et innover en permanence vos charges de travail cloud, tenez compte des recommandations des sections suivantes. Chaque recommandation de ce document est pertinente pour un ou plusieurs des domaines d'intérêt de la préparation opérationnelle.
Favoriser une culture de l'apprentissage
Encouragez les équipes à expérimenter, à partager leurs connaissances et à apprendre en permanence. Adoptez une culture non accusatoire dans laquelle les échecs sont considérés comme des opportunités de croissance et d'amélioration. Cette recommandation concerne le domaine d'intérêt de la préparation opérationnelle pour le personnel.
Lorsque vous favorisez une culture de l'apprentissage, les équipes peuvent apprendre de leurs erreurs et itérer rapidement. Cette approche encourage les membres de l'équipe à prendre des risques, à tester de nouvelles idées et à repousser les limites de leur travail. Cela crée également un environnement psychologiquement sûr, dans lequel les individus se sentent à l'aise pour partager leurs échecs et en tirer des enseignements. Ce type de partage favorise un environnement plus ouvert et collaboratif.
Pour faciliter le partage des connaissances et l'apprentissage continu, créez des opportunités permettant aux équipes de partager leurs connaissances et d'apprendre les unes des autres. Pour ce faire, vous pouvez organiser des sessions d'apprentissage et des conférences formelles et informelles.
En favorisant une culture de l'expérimentation, du partage des connaissances et de l'apprentissage continu, vous pouvez créer un environnement dans lequel les équipes sont habilitées à prendre des risques, à innover et à se développer. Cet environnement peut entraîner une augmentation de la productivité, une meilleure résolution des problèmes, et un personnel plus engagé et motivé. De plus, en promouvant une culture non accusatoire, vous pouvez créer un espace sûr où les employés peuvent apprendre de leurs erreurs et contribuer aux connaissances collectives de l'équipe. Cette culture permet d'obtenir des effectifs plus résilients et adaptables, mieux équipés pour relever les défis et réussir à long terme.
Organiser régulièrement des rétrospectives
Les rétrospectives permettent aux équipes de réfléchir à leurs expériences, d'identifier ce qui s'est bien passé et de déterminer ce qui peut être amélioré. En effectuant des rétrospectives après des projets ou des incidents majeurs, les équipes peuvent tirer des enseignements de leurs réussites et de leurs échecs, et améliorer en permanence leurs processus et leurs pratiques. Cette recommandation s'applique aux domaines d'intervention de la préparation opérationnelle suivants : processus et gouvernance.
Pour structurer efficacement une rétrospective, vous pouvez utiliser le modèle Start-Stop-Continue :
- Start (Commencer) : lors de la phase Start de la rétrospective, les membres de l'équipe identifient les nouvelles pratiques, les nouveaux processus et les nouveaux comportements qui, selon eux, peuvent améliorer leur travail. Ils discutent des raisons pour lesquelles les changements sont nécessaires et de la manière dont ils peuvent être mis en œuvre.
- Arrêter : lors de la phase Arrêter, les membres de l'équipe identifient et éliminent les pratiques, processus et comportements qui ne sont plus efficaces ou qui entravent la progression. Ils expliquent pourquoi ces changements sont nécessaires et comment les mettre en œuvre.
- Continuer : lors de la phase Continuer, les membres de l'équipe identifient les pratiques, les processus et les comportements qui fonctionnent bien et qui doivent être poursuivis. Ils expliquent pourquoi ces éléments sont importants et comment les renforcer.
En utilisant un format structuré comme le modèle Start-Stop-Continue, les équipes peuvent s'assurer que les rétrospectives sont productives et ciblées. Ce modèle permet de faciliter la discussion, d'identifier les principaux points à retenir et de définir des mesures concrètes pour les améliorations futures.
Tenez-vous informé des technologies cloud
Pour exploiter tout le potentiel des services Google Cloud , vous devez vous tenir au courant des dernières avancées, fonctionnalités et bonnes pratiques. Cette recommandation est pertinente pour le domaine d'intervention de la préparation opérationnelle axé sur le personnel.
Participer à des conférences, des webinaires et des sessions de formation pertinents est un moyen efficace d'approfondir vos connaissances. Ces événements vous permettent d'apprendre auprès d'experts Google Cloud , de comprendre les nouvelles fonctionnalités et d'échanger avec des pairs du secteur qui peuvent être confrontés à des défis similaires. En y participant, vous découvrirez comment utiliser efficacement les nouvelles fonctionnalités, optimiser vos opérations cloud et stimuler l'innovation au sein de votre organisation.
Pour vous assurer que les membres de votre équipe se tiennent au courant des technologies cloud, encouragez-les à obtenir des certifications et à suivre des formations. Google Cloudpropose un large éventail de certifications qui valident les compétences et les connaissances dans des domaines cloud spécifiques. L'obtention de ces certifications démontre un engagement envers l'excellence et fournit une preuve tangible de la maîtrise des technologies cloud. Les formations proposées par Google Cloud et nos partenaires approfondissent des sujets spécifiques. Ils offrent une expérience directe et des compétences pratiques qui peuvent être immédiatement appliquées à des projets réels. En investissant dans le développement professionnel de votre équipe, vous pouvez favoriser une culture d'apprentissage continu et vous assurer que chacun dispose des compétences nécessaires pour réussir dans le cloud.
Rechercher et intégrer activement les commentaires
Recueillez les commentaires des utilisateurs, des parties prenantes et des membres de l'équipe. Utilisez les commentaires pour identifier les opportunités d'amélioration de vos solutions cloud. Cette recommandation est pertinente pour le domaine d'intérêt de la préparation opérationnelle pour le personnel.
Les commentaires que vous recueillez peuvent vous aider à comprendre l'évolution des besoins, des problèmes et des attentes des utilisateurs de vos solutions. Ces commentaires constituent une contribution précieuse pour apporter des améliorations et hiérarchiser les futures améliorations. Vous pouvez utiliser différents mécanismes pour recueillir des commentaires :
- Les enquêtes sont un moyen efficace de recueillir des données quantitatives auprès d'un grand nombre d'utilisateurs et de parties prenantes.
- Les entretiens avec les utilisateurs permettent de collecter des données qualitatives approfondies. Les entretiens vous permettent de comprendre les défis et les expériences spécifiques de chaque utilisateur.
- Les formulaires de commentaires placés dans les solutions cloud permettent aux utilisateurs de donner facilement et immédiatement leur avis sur leur expérience.
- Des réunions régulières avec les membres de l'équipe peuvent faciliter la collecte de commentaires sur les aspects techniques et les difficultés de mise en œuvre.
Les commentaires que vous recueillez par le biais de ces mécanismes doivent être analysés et synthétisés pour identifier les thèmes et les modèles communs. Cette analyse peut vous aider à hiérarchiser les futures améliorations en fonction de l'impact et de la faisabilité des améliorations suggérées. En répondant aux besoins et aux problèmes identifiés grâce aux commentaires, vous pouvez vous assurer que vos solutions cloud continuent de répondre aux exigences évolutives de vos utilisateurs et de vos parties prenantes.
Mesurer et suivre les progrès
Les indicateurs clés de performance (KPI) et les métriques sont essentiels pour suivre la progression et mesurer l'efficacité de vos opérations cloud. Les KPI sont des mesures quantifiables qui reflètent les performances globales. Les métriques sont des points de données spécifiques qui contribuent au calcul des KPI. Examinez régulièrement les métriques et utilisez-les pour identifier les opportunités d'amélioration et mesurer les progrès. Cela vous aide à améliorer et à optimiser en permanence votre environnement cloud. Cette recommandation s'applique aux domaines d'intérêt de la préparation opérationnelle suivants : gouvernance et processus.
L'un des principaux avantages de l'utilisation de KPI et de métriques est qu'ils permettent à votre organisation d'adopter une approche basée sur les données pour les opérations cloud. En suivant et en analysant les données opérationnelles, vous pouvez prendre des décisions éclairées sur la façon d'améliorer l'environnement cloud. Cette approche basée sur les données vous aide à identifier les tendances, les modèles et les anomalies qui ne seraient pas visibles sans l'utilisation de métriques systématiques.
Pour collecter et analyser des données opérationnelles, vous pouvez utiliser des outils tels que Cloud Monitoring et BigQuery. Monitoring permet de surveiller en temps réel les ressources et les services cloud. BigQuery vous permet de stocker et d'analyser les données que vous collectez via la surveillance. En utilisant ces outils ensemble, vous pouvez créer des tableaux de bord personnalisés pour visualiser les métriques et les tendances importantes.
Les tableaux de bord opérationnels peuvent fournir une vue centralisée des métriques les plus importantes, ce qui vous permet d'identifier rapidement les domaines qui nécessitent une attention particulière. Par exemple, un tableau de bord peut inclure des métriques telles que l'utilisation du processeur, l'utilisation de la mémoire, le trafic réseau et la latence pour une application ou un service particulier. En surveillant ces métriques, vous pouvez identifier rapidement les problèmes potentiels et prendre des mesures pour les résoudre.