Ce modèle de maturité vous permet de passer de la prise en charge des coûts de base à la maîtrise avancée de l’optimisation.
À partir de pratiques fondamentales telles que la transparence et la responsabilité, vous allez progressivement créer des fonctionnalités sophistiquées, notamment l’analyse systématique, les insights pilotés par l’utilisateur, les apprentissages de production et, en fin de compte, des techniques d’efficacité avancées. La progression est conçue pour transformer votre approche en réagissant simplement aux surprises des coûts afin de mettre en forme de manière proactive les résultats financiers qui s’alignent sur vos objectifs métier.
Le modèle est structuré en cinq niveaux de maturité distincts, chacun ayant un objectif principal et un ensemble de stratégies de base. Utilisez les affichages par onglets ci-dessous pour explorer chaque niveau. Veillez également à passer en revue les compromis mis en évidence et les risques associés à mesure que vous progressez.
Établir la responsabilité de l’équipe et les processus fondamentaux pour la gestion des coûts de charge de travail tout au long de son cycle de vie.
Le niveau 1 du modèle de maturité aide les équipes de charge de travail à comprendre leur budget et à configurer des processus et des outils pour gérer leurs coûts pendant le cycle de vie de la charge de travail. Avant de configurer des processus plus matures, comme la création d’un modèle de coût, vous devez vous concentrer sur les meilleures pratiques de gestion des coûts de base pour commencer votre charge de travail sans causer de problèmes avec le budget.
Les recommandations suivantes peuvent vous aider à gérer les coûts de manière judicieuse tout en générant efficacement votre charge de travail.
Stratégies clés
• Partager des objectifs financiers, des détails budgétaires et des dépenses de charge de travail avec tous les membres de l’équipe, les responsables et les décideurs
Fournissez aux parties prenantes des informations détaillées sur le budget alloué, les répartitions des coûts et les objectifs financiers de votre charge de travail. Partagez des informations détaillées sur les différentes dépenses, telles que les coûts d’infrastructure, les licences logicielles et les dépenses opérationnelles. Cette pratique n’est pas souvent pensée mais est importante. Il permet de créer une confiance entre l’équipe de charge de travail et les équipes de leadership et montre que l’équipe de charge de travail réfléchit à la gestion des dépenses. Cette collaboration aide également à motiver l’équipe de charge de travail à rester vigilante dans sa gestion des coûts en raison de ses engagements envers les équipes de leadership.
Utilisez des outils de collaboration pour encourager les membres de l’équipe à partager des idées et des insights sur l’optimisation des coûts. Fournir des mécanismes permettant à l’équipe de collaborer sur ses idées et insights. Cette approche permet aux membres de l’équipe d’offrir des suggestions dans toutes les disciplines de l’équipe de charge de travail. Lorsque vous favorisez une culture de collaboration sur l’optimisation des coûts, vous renforcez l’état d’esprit selon lequel la gestion des coûts liés à la charge de travail repose sur chaque membre de l’équipe de manière équitable.
Pour motiver un état d’esprit d’optimisation des coûts, envisagez de reconnaître les personnes et les équipes qui démontrent la responsabilité financière et contribuent à l’optimisation des coûts. Vous pouvez utiliser des évaluations de performances, des primes incitatives ou d’autres programmes de reconnaissance.
• Collecter des données de coût détaillées à partir de toutes les sources, y compris les données facturées et mesurées
Les données facturées représentent les montants facturés réels et les données mesurées sont prédictives en fonction des plans de facturation. Pour obtenir une image complète des coûts de votre charge de travail, explorez tous les outils et méthodes disponibles proposés par votre fournisseur de services. La facture mensuelle peut ne pas donner aux parties prenantes suffisamment de détails sur les dépenses. Compilez des données pour gagner du temps en examinant les frais ambigus et en clarifiant les termes obscurs. Après avoir recueilli des données d’utilisation, centraliser ces données dans un système unifié.
Tirez parti des tableaux de bord de facturation qui ont des filtres pour différentes vues. Les parties prenantes et les membres de l’équipe de charge de travail peuvent utiliser les filtres pour voir facilement les informations les plus pertinentes pour eux.
✓ Déterminer les facteurs de coûts
Pour identifier la façon dont différents composants de charge de travail contribuent aux coûts globaux, utilisez les outils que vous avez adoptés pour collecter des données de facturation. Portez une attention particulière aux coûts liés aux processus, tels que les transferts de données ou les transactions, et à la façon dont ils contribuent aux coûts globaux. Ces coûts sont souvent négligés lors des estimations initiales des coûts des ressources avant le déploiement.
Vous devez également comprendre comment les facteurs qui ne sont pas directement liés à vos ressources cloud peuvent affecter votre budget. Ces facteurs peuvent inclure la formation des membres de l’équipe et des licences logicielles que votre fournisseur de cloud ne gère pas.
• Décider s’il faut construire ou acheter
L’une des premières décisions que l’équipe de charge de travail doit prendre est de savoir s’il doit utiliser des solutions hors-vente ou créer des solutions internes. En règle générale, le Well-Architected Framework favorise la simplicité des choses. L’utilisation de solutions prêtes à l’emploi suit cette philosophie. Les solutions bien prises en charge réduisent la charge opérationnelle de votre équipe et réduisent le temps nécessaire pour le développement afin que les développeurs puissent se concentrer sur les fonctionnalités principales de l’application à la place.
Compromis: Prenez en compte les coûts lorsque vous décidez de créer ou d’acheter une solution. La création de solutions internes signifie généralement un investissement initial pour le temps de développement et toutes les ressources nécessaires pour terminer le développement. Mais vous avez moins de coûts récurrents, car vous n’avez pas besoin de maintenir des contrats de support ou des licences.
Pour vous aider à prendre la bonne décision pour votre équipe, évaluez les points suivants.
-
Niveau de contrôle souhaité : Déterminez le contrôle dont vous avez besoin sur les fonctionnalités d’une solution.
-
Quantité nécessaire de personnalisation : Déterminez le niveau de personnalisation adapté à votre charge de travail en constante évolution.
-
Délai prévu pour le marché : Comprenez les attentes des parties prenantes pour mettre votre charge de travail sur le marché et comment vous pouvez répondre le mieux à cette chronologie.
-
L’expertise technique requise : Déterminez la quantité d’expertise dont vous avez besoin pour créer et exploiter une solution.
-
La charge opérationnelle attendue : Estimez combien de temps et d’effort les équipes d’exploitation doivent prendre en charge une solution.
Ces évaluations vous aident à comprendre le coût total de chaque option afin de pouvoir les évaluer les uns par rapport aux autres. Le coût total peut ne pas être le seul facteur déterminant. Toutefois, si les options présentent des différences significatives, choisissez l’option à moindre coût pour accélérer le développement de votre charge de travail.
• Investir dans les compétences de votre équipe
Investissez dans le perfectionnement dans des domaines où votre équipe manque de connaissances. Les compétences cloud fortes facilitent la prise de décision à long terme et optimisent votre productivité quotidienne. Envisagez les formations ou certifications que votre fournisseur de services cloud ou d'autres partenaires proposent. Améliorer la productivité de votre équipe de charge de travail et d’autres décideurs vous permet de gagner du temps et de l’argent en réduisant les erreurs coûteuses.
Créer une analyse systématique des coûts et des rapports pour comprendre les modèles de dépense.
Après le déploiement initial, il est courant de se concentrer sur le développement de nouvelles fonctionnalités et la conduite des ventes tout en négligeant la gestion des coûts. Au niveau 2, les dépenses devraient augmenter, de sorte que vous devez adopter une approche structurée. Évaluez les coûts des outils et technologies, créez une base de référence et identifiez les principaux facteurs de coût.
La gestion des coûts peut sembler écrasante, mais l’analyse systématique des coûts à un stade précoce est nécessaire pour maintenir le contrôle financier et soutenir la croissance.
Stratégies clés
✓ Développer un modèle de coût de référence
Un modèle de coût est une estimation du coût global d’une charge de travail. Le coût est décomposé selon les facteurs constitutifs, tels que les services d'infrastructure, le stockage des données, les flux des utilisateurs et du système, et les opérations. Au minimum, vous devez effectuer une analyse systématique des coûts et créer un modèle de coût de base. Cet exercice vous aide à prendre des décisions éclairées sur l’allocation et l’optimisation des ressources.
Créez un inventaire de toutes les ressources Azure et spécifiez quels aspects de chaque ressource entraînent des coûts plus élevés.
Posez des questions sur les choix technologiques et leur alignement avec des objectifs tels que l’extensibilité et la fiabilité dans les contraintes de coût. Pour chaque ressource, notez le coût et déterminez si le coût est trop élevé ou trop faible. Mesurez les charges attendues pendant que vous gardez à l’esprit la croissance potentielle.
Notez le coût des flux et faites la distinction entre les flux critiques et non critiques. Hiérarchiser les flux critiques, tels que l’expérience utilisateur dans une application de commerce électronique, sur des flux non critiques, comme les travaux en arrière-plan à des fins d’audit.
Calculez le coût du stockage des données et des modèles d’accès aux données.
✓ Rapports de coûts à établir
Créez des rapports de coût de base pour la visibilité financière et analysez les modèles de coûts. En outre, configurez les alertes de coût lorsque vous dépassez un montant spécifique de dépense.
Nous vous recommandons d’utiliser Microsoft Cost Management pour analyser, surveiller et contrôler vos dépenses sur les services. Si cette option n’est pas disponible, créez un système pour suivre la consommation et générer un rapport mensuel.
✓ Configurer la responsabilité
La responsabilité n’est pas modifiable pour la gestion des coûts. Dans les premières étapes, affectez un membre de l’équipe pour examiner les budgets et les rapports de coûts mensuels et informer l’équipe des pics inattendus. La personne responsable doit évaluer les dépenses de charge de travail et guider l’équipe en conséquence.
Au départ, la responsabilité peut être flexible. À mesure que le démarrage arrive à maturité, appliquez des contrôles plus stricts.
• Évaluer les opportunités d’optimisation
Votre modèle de coût doit vous donner une bonne compréhension des principaux facteurs de coût, et les rapports de coûts doivent fournir des preuves. Évaluez ces facteurs et explorez les opportunités d’optimisation. Tenez compte des stratégies suivantes :
Évaluez le modèle de facturation pour chaque ressource Azure utilisée par la charge de travail. Déterminez si vous avez besoin de toutes les fonctionnalités incluses dans chaque plan. Par exemple, si vous avez besoin de fonctionnalités spécifiques comme un point de terminaison privé avec Azure Front Door, vous aurez peut-être besoin du plan Premium. Dans le cas contraire, envisagez de choisir un plan plus bas pour économiser des coûts.
Choisissez entre la facturation basée sur la consommation et la facturation basée sur l’engagement. Nous vous recommandons de commencer par la facturation basée sur la consommation afin de comprendre les coûts encourus. Si la charge est cohérente, vous pouvez explorer les remises qu’Azure fournit pour des charges cohérentes à des étapes ultérieures.
Évaluez les pratiques de codage. Utilisez l’instrumentation du code pour identifier les processus coûteux à exécuter et fournir des insights sur les problèmes de performances, ce qui peut entraîner des coûts inutiles. Collectez des métriques telles que la durée du processus et les taux d’échec pour prendre des décisions pilotées par les données pour l’optimisation future.
• Décider d’une stratégie de mise à l’échelle initiale
Le scale-out est préféré, car il est plus économique et plus facile à implémenter par rapport au scale-up. Le passage à l'échelle supérieure implique une durée d'indisponibilité et des coûts plus élevés.
Envisagez les tests de performance et les mesures, puis décidez d'évoluer horizontalement (scale-out) ou verticalement (scale-up) en fonction de votre évaluation.
Incorporer les commentaires des utilisateurs et les signaux opérationnels pour affiner les stratégies d’optimisation des coûts.
Dans les premières étapes du développement et des opérations de charge de travail, vous pouvez vous appuyer sur votre boucle de commentaires de développement interne pour optimiser votre charge de travail. À ce niveau de maturité, il est important de développer votre boucle de commentaires pour inclure à la fois des utilisateurs internes et externes, ainsi que d’autres parties prenantes. Lorsque vous apportez des améliorations d’optimisation des coûts à votre charge de travail, vous devez également envisager des compromis avec d’autres piliers, en particulier les piliers Efficacité et Fiabilité des performances.
Le niveau 3 du pilier Optimisation des coûts se concentre sur la préparation de votre charge de travail pour la production en intégrant à la fois des commentaires internes et externes dans votre stratégie tout en garantissant que les objectifs de performances et de fiabilité sont respectés.
Stratégies clés
• Investir dans des flux impactants et ajuster d’autres flux
Tenez compte des priorités affectées à vos flux d’application. Hiérarchiser les efforts de développement sur les flux critiques tout en recherchant des moyens de simplifier et de réduire le coût des flux non critiques. Les flux non critiques peuvent avoir des exigences de fiabilité moins strictes. Par conséquent, vous pouvez être en mesure de simplifier leur conception.
Pour chaque flux, éliminez les éléments inutiles, sélectionnez les niveaux de performances appropriés, ajustez les paramètres de mise à l’échelle pour la demande variable et ajustez les configurations pour s’aligner sur les performances et les besoins budgétaires. Surveillez les flux pour identifier les inefficacités telles que les instances de calcul inactives, les données inutilisées et la faible bande passante réseau. Utilisez des outils de journalisation et d’analyse natifs pour vous aider à agréger et analyser ces métriques pour les tendances.
• Appliquer des garde-fous de coût à l’aide d’alertes
Créez des seuils de dépense et des alertes associées pour appliquer des garde-fous de coût. Cette approche garantit que la charge de travail reste dans le budget. Voici quelques exemples d’alertes :
Les alertes budgétaires vous permettent de définir des seuils de dépense, de surveiller les coûts et de recevoir des notifications pour vous aider à contrôler les dépenses et à rester informé.
Les alertes d’anomalie de coût vous informent des variations de coûts inattendues. Ils vous permettent d’examiner et de résoudre les inefficacités ou les modèles de dépenses anormales.
Les alertes d’utilisation de plan basées sur l’engagement vous aident à surveiller et à optimiser l’utilisation de vos ressources basées sur l’engagement en informant les parties prenantes lorsque l’utilisation tombe en dessous d’un seuil souhaité.
✓ Développer une stratégie pour optimiser l’utilisation de vos ressources
Lorsque vous construisez vos environnements de non-production et de production, vous pouvez déployer involontairement des ressources surprovisionnées. Au fil du temps, vous pouvez accumuler des ressources qui ont été déployées pour une preuve de concept (PoC) ou pour les tests qui ne sont plus nécessaires. Le développement d'une stratégie pour identifier les ressources sous-utilisées et inutilisées est essentiel à l'amélioration continue tout en maintenant un environnement cloud optimisé. Tenez compte des recommandations suivantes :
Utilisez les types de ressources et références SKU appropriés pour chaque environnement. Recherchez les options d’infrastructure que votre plateforme cloud fournit et sélectionnez les types de ressources et les références SKU appropriés pour chaque cas d’usage. Il existe souvent des types de ressources et des références SKU spécifiques qui sont ciblés spécifiquement pour les environnements poC et dev/test. Ces types de ressources et références SKU sont beaucoup moins coûteux que les ressources standard ou hautes performances, mais vous ne pouvez pas les utiliser pour les charges de travail de production.
Configurez et appliquez des stratégies pour restreindre les types de ressources, les références SKU, les régions et les autorisations de déploiement pour les utilisateurs. Les stratégies automatisées aident à gérer les modifications d’environnement. Ce processus réduit le risque de déploiements non autorisés.
Normaliser à l'aide de l'infrastructure comme code pour toutes les modifications d'environnement. Cette approche permet d’appliquer vos stratégies de modification d’environnement et simplifie vos pratiques d’exploitation afin de réduire le risque d’erreur humaine.
Surveillez les métriques d’utilisation telles que le processeur, la mémoire et le stockage pour déterminer si les ressources sont sous-utilisées et peuvent être mises à l’échelle.
Passez en revue les environnements de non-production et de production pour les ressources inutilisées qui peuvent être arrêtées ou supprimées en toute sécurité.
Tirez parti des outils fournis par votre plateforme cloud pour vous aider à identifier les optimisations des ressources. Par exemple, Azure Advisor fournit des recommandations d’optimisation des coûts qui identifient les inefficacités potentielles et suggèrent des étapes pour les résoudre.
Compromis: Tenez compte des objectifs de performances et de fiabilité lorsque vous ajustez vos ressources. Interagissez avec les parties prenantes lorsque des compromis peuvent aider à équilibrer les performances, la fiabilité et les coûts, ou lorsque les contraintes budgétaires entravent les améliorations de la charge de travail.
✓ Optimiser les licences et d’autres coûts statiques
Lorsque vous déployez des ressources cloud, prenez une approche stratégique pour acheter des licences et d’autres coûts mensuels fixes. Ces coûts incluent les licences serveur et base de données, les licences logicielles et les réservations prépurées. Tenez compte des stratégies d’économie de coûts suivantes :
Options de recherche, comme Azure Hybrid Benefit, pour appliquer des licences existantes aux systèmes que vous migrez vers le cloud ou pour les nouveaux déploiements dans le cloud. Recherchez les contrats de licence en volume ou d’entreprise que votre organisation conserve pour tirer parti des économies possibles sur les ressources cloud ou les licences logicielles.
Utilisez des licences hors production et dev/test pour les systèmes applicables, comme les licences de développement/test de Visual Studio.
Capacité de prépurchase pour les ressources cloud lorsque cela est pratique. La capacité de réservation peut réduire considérablement vos coûts d’utilisation mensuels et aider à maintenir des dépenses plus cohérentes.
Risque: Lorsque vous achetez des réservations, veillez à sélectionner le modèle le plus rentable pour votre cas d’usage. Par exemple, si une ressource peut faire l’objet d’un scale-down la nuit et à l’échelle saisonnière, il peut être plus économique d’ajuster sa mise à l’échelle de manière intelligente. Identifiez également la référence SKU adéquate pour pré-acheter au moyen de tests de base et de la planification de la capacité.
✓ Affiner les stratégies de mise à l’échelle automatique
Vos stratégies de mise à l’échelle initiales peuvent être basées sur votre boucle de commentaires de développement interne. Ces stratégies se concentrent sur l’ajustement de la mise à l’échelle pour répondre aux besoins de développement. À mesure que votre charge de travail évolue, incorporez les commentaires des utilisateurs internes et externes pour garantir que les performances restent dans la plage acceptable.
Ajustez les seuils de mise à l’échelle et introduisez des périodes de refroidissement pour atténuer les pics de charge temporaires. Surveillez et ajustez en permanence le système pour optimiser les coûts et répondre aux exigences. Définissez les unités d’échelle à utiliser pour avancer. Ces unités dépendent de facteurs tels que la conception de la charge de travail, le cas d’usage, les composants, les flux et les exigences métier.
Par exemple, pour les charges de travail stratégiques, une unité d’échelle peut être un tampon de déploiement entier. Sinon, pour des charges de travail plus simples qui ont des flux non critiques, l’unité d’échelle peut être basée sur le nombre d’instances de calcul d’une référence SKU spécifique allouée à la charge de travail. Sélectionnez des unités d’échelle qui permettent à la charge de travail de gérer les augmentations attendues de charge sans perte de capacité. Mettez à jour votre modèle de coût pour inclure les besoins de mise à l’échelle prévus.
✓ Optimiser votre patrimoine de données
Les données sont un moteur principal des coûts cloud. La gestion appropriée des données peut vous aider à maintenir les coûts cohérents et au sein du budget. Utilisez les stratégies suivantes pour gérer votre patrimoine de données :
Classifiez et étiquetez les données pour appliquer les contrôles appropriés et déterminer les niveaux de fiabilité et de performances appropriés pour différents types de données et magasins.
Capturez uniquement les données essentielles, compressez les données pour le stockage froid et supprimez les données inutiles à l’aide de stratégies de rétention appropriées. Dédupliquer les données pour éliminer les données redondantes et informer les utilisateurs sur des pratiques de stockage de données efficaces.
Optimisez les sauvegardes à l’aide de sauvegardes incrémentielles, ce qui permet la compression et le déplacement de sauvegardes plus anciennes vers le stockage à froid.
Optimisez la réplication en appliquant les modèles de réplication appropriés, qu’ils soient synchrones ou asynchrones, pour optimiser la réplication en fonction de vos besoins. Ajustez la fréquence de réplication pour vous aligner sur vos besoins spécifiques. Évaluez en permanence vos besoins et votre configuration.
Incorporez des commentaires internes et externes pour passer en revue les modèles d’accès au stockage et ajuster vos stratégies de gestion du cycle de vie des données.
Utilisez des outils pour optimiser les requêtes.
Compromis: Comparez vos stratégies de sauvegarde et de réplication à vos cibles de récupération. La réplication moins fréquente ou le déchargement de sauvegardes plus anciennes dans le stockage à froid peut affecter votre temps de récupération. Veillez donc à implémenter ces optimisations.
• Optimiser le code, les pratiques de développement de logiciels et les stratégies de développement de fonctionnalités
Le code inefficace peut dégrader les performances du système. Cette inefficacité peut entraîner des coûts plus élevés pour l’utilisation des ressources. L’optimisation de votre code peut améliorer l’efficacité et permettre à votre charge de travail de gérer davantage de charge sans avoir à effectuer un scale-up de vos ressources. Utilisez les stratégies suivantes pour optimiser votre code :
Analysez les données d’exécution et mesurez les performances à l’aide d’outils de profilage.
Évaluez la logique métier et son effet sur l’expérience utilisateur.
Passez en revue les recommandations en matière de performances spécifiques au langage.
Supprimez les appels de fonction inutiles, réduisez la journalisation et affinez les boucles et les conditions.
Réduisez le traitement des données, réduisez les demandes réseau et les allocations de mémoire et évaluez les implémentations croisées.
Utilisez les méthodes suivantes pour optimiser les chemins d’accès réseau :
Réduisez les transferts de données entre les composants et les régions géo-distantes en analysant et en éliminant les transferts inutiles. Vérifiez que seuls les champs de données requis sont envoyés et non des objets ou structures de données entiers. Cette approche réduit la taille et la fréquence des transferts de données.
Évitez de transférer des données redondantes en envoyant uniquement des informations essentielles.
Refactorisez votre code pour réduire les requêtes répétées et les traiter par lots lorsque cela est possible.
La rationalisation des pratiques de développement améliore la vitesse de génération. Cette approche permet aux équipes de charge de travail de gagner du temps et de fournir efficacement des améliorations à la production. Utilisez les stratégies suivantes pour simplifier les pratiques de développement :
Accélérez les temps de génération en optimisant la configuration, en supprimant les étapes et processus inutiles, en parallélisant les tâches, en utilisant la mise en cache et en permettant aux builds incrémentielles d’empêcher la compilation redondante.
Utilisez la simulation de production pour optimiser les tests. La simulation de production permet aux développeurs de concentrer les tests sur des scénarios simulés qui ne sont pas pratiques à reproduire dans un environnement de production.
Optimisez les pratiques de planification du développement en définissant des objectifs et des métriques clairs, en utilisant des outils de surveillance pour suivre les indicateurs de performances clés et en hiérarchisant les insights exploitables.
Utilisez des outils d’assistance de codage IA, tels que GitHub Copilot, pour réduire le temps de développement en cas de pratique.
Évaluez votre stratégie de développement de fonctionnalités pour vous assurer que les fonctionnalités précieuses sont hiérarchisées. Incorporez les commentaires des utilisateurs internes et externes et des parties prenantes pour identifier les fonctionnalités qui améliorent la satisfaction des utilisateurs et améliorent l’engagement. Dans certains scénarios, les fonctionnalités peuvent être conçues spécifiquement pour optimiser les coûts. Comparez ces fonctionnalités aux priorités fonctionnelles pour évaluer leur valeur relative.
Conduisez des optimisations ciblées des coûts à l’aide de données opérationnelles issues de la production.
L’étape niveau 4 du modèle de maturité suppose que vous avez déployé en production et que vous avez utilisé votre charge de travail pendant suffisamment de temps pour collecter des informations utiles sur la façon dont elle s’exécute généralement. À ce niveau, appliquez ces insights de production à votre environnement.
Les modifications apportées à votre environnement de production affectent directement d’autres aspects de votre charge de travail. Par exemple, les améliorations à l’économie de coûts peuvent affecter un ou plusieurs des autres piliers de l’infrastructure Well-Architected. Pour cette raison, les pratiques de gestion des changements matures sont cruciales. Lorsque vous effectuez des ajustements à moindre coût pour votre charge de travail, examinez et testez soigneusement les modifications et développez des plans de restauration pour atténuer les impacts sur les performances, la sécurité et la fiabilité.
Stratégies clés
• Affiner le modèle de coût en fonction des apprentissages de production
Après avoir déployé et exploité votre charge de travail en production suffisamment longtemps pour comprendre vos modèles d’utilisation normaux, revisitez votre modèle de coût pour planifier l’avenir. Le modèle de coût doit projeter les dépenses futures, allouer des fonds et ajuster les écarts. Dans l’analyse des scénarios, le modèle de coût évalue l’impact financier des différents changements d’entreprise et prévoit les implications du coût du comportement du client. Pour l’optimisation des ressources, il identifie les ressources cloud sous-utilisées, prévoit les coûts de mise à l’échelle et compare les modèles de facturation des fournisseurs de cloud afin que vous puissiez choisir l’option la plus économique.
Dans le cadre de cet exercice, déterminez la manière dont vos coûts d’exécution s’alignent sur le modèle de coût développé précédemment et examinent les causes des différences. La recherche de coûts inattendus est courante et l’affectation de blâmes pour eux est généralement improductif. Au lieu de cela, évaluez la valeur des composants qui entraînent des coûts inattendus. Collaborez avec les parties prenantes pour décider s’il faut ajuster la conception de la charge de travail pour mieux s’aligner sur le modèle de coût ou si le modèle de coût doit être modifié.
Compromis: Gardez à l’esprit qu’il est difficile de projeter avec précision les coûts variables, en particulier lorsque vous adoptez de nouvelles technologies. Vous devrez peut-être rechercher des compromis lorsque vous planifiez votre budget. Assurez-vous que les parties prenantes comprennent comment vous déterminez vos estimations de coûts variables et votre stratégie pour maintenir ces coûts sous contrôle.
Risque: Les mesures de réduction des coûts peuvent nuire à la fiabilité, à la sécurité, aux performances et à l’excellence opérationnelle. Analysez attentivement l’impact de chaque mesure planifiée de réduction des coûts et déterminez si une modification vaut l’impact potentiel.
✓ Optimiser l’utilisation de vos données en fonction des coûts
Utilisez vos insights de production pour affiner vos stratégies de données. Plus précisément, recherchez les opportunités d’optimisation pour les facteurs suivants :
- Optimisez vos solutions de stockage en utilisant une facilité de gestion à l’esprit. Évaluez si vos solutions de stockage actuellement déployées conviennent le mieux à votre cas d’usage et si la transition vers une autre technologie pourrait réduire la charge opérationnelle ou les coûts d’utilisation. Par exemple, vous avez peut-être déployé SQL Server initialement sur des machines virtuelles pour migrer facilement votre charge de travail ou parce qu’il s’agissait de la technologie la plus familière pour votre équipe de charge de travail. Le passage à une solution PaaS (Platform-as-a-Service) peut réduire considérablement la surcharge opérationnelle et réduire les coûts, en fonction de différents facteurs.
✓ Augmenter la densité des ressources
En pratique, optimisez les coûts en regroupant les services partagés entre les charges de travail. Par exemple, vous pouvez héberger plusieurs applications web sur un serveur unique ou une instance PaaS. Plusieurs charges de travail peuvent partager une base de données, une mise en réseau, une sécurité et d’autres services. Effectuez une analyse coûts-avantages pour déterminer si la consolidation des ressources est suffisamment utile pour que votre équipe le fasse. Après avoir identifié les candidats à la consolidation, planifiez soigneusement l’implémentation et suivez les bonnes pratiques de gestion des changements. Assurez-vous que les parties prenantes comprennent les risques.
Risque : la consolidation des ressources peut rendre votre charge de travail moins fiable et moins sécurisée. Les charges de travail stratégiques et critiques pour l’entreprise doivent favoriser la fiabilité et la sécurité par rapport à la consolidation.
Risque : Une consolidation mal exécutée peut entraîner des inefficacités futures. Passez en revue soigneusement votre plan de consolidation pour vous assurer que vous ne créez pas de goulots d’étranglement qui peuvent vous affecter ultérieurement avant d’effectuer la migration. Après la migration, portez une attention supplémentaire à votre surveillance sur les ressources consolidées pour vous assurer qu’elles fonctionnent comme prévu.
✓ Évaluer et optimiser vos fonctionnalités d’application
Surveillez les modèles d’utilisation des fonctionnalités en production pour évaluer leur alignement avec votre modèle de coût. Déterminez si une fonctionnalité doit être conservée, refactorisé ou supprimée. Dans certains cas, la monétisation des fonctionnalités peut être une décision stratégique de l’entreprise. Les fonctionnalités peuvent ne pas justifier l’investissement actuel, mais peuvent toujours fournir de la valeur aux clients. L’offre de ces fonctionnalités en tant que modules complémentaires ou abonnements payants peut contribuer à compenser les coûts d’investissement.
• Réduire les coûts de mise à l’échelle en réglant la demande
Une stratégie qui peut vous aider à optimiser vos coûts de mise à l’échelle des ressources consiste à réglementer la demande au lieu d’ajouter de la capacité. Cette approche peut inclure le déchargement de la demande vers d’autres ressources ou la réduire par le biais de différentes stratégies telles que les files d’attente prioritaires, la mise en mémoire tampon, l’équilibrage de charge et la mise en cache. Lorsque vous envisagez ces tactiques, évaluez leur impact sur les autres piliers du framework Well-Architected. Le contrôle de l’offre en limitant les limites de mise à l’échelle et en définissant un budget permet de maintenir les dépenses dans les seuils définis. Suivez l’utilisation et utilisez les plateformes de gestion des coûts et les alertes budgétaires pour vous aider à surveiller et contrôler efficacement les dépenses.
Compromis: Le déchargement de tâches vers d’autres ressources peut réduire les coûts de mise à l’échelle, mais il peut introduire des défis opérationnels et de maintenance. Effectuez une analyse approfondie des coûts pour confirmer que votre méthode de déchargement choisie est efficace et réalisable. Veillez à équilibrer les économies avec des complexités potentielles.
• Appliquer la responsabilité des coûts par le biais de la propriété
La nomination d’un individu directement responsable (DRI) aide l’équipe de charge de travail à assumer la responsabilité de leurs coûts de charge de travail. La DRI est responsable de la gestion et de l’optimisation des coûts en surveillant l’utilisation, en implémentant des stratégies d’économie de coûts et en garantissant que les dépenses s’alignent sur les objectifs budgétaires et métier. La DRI prend des décisions relatives à l’allocation de ressources cloud, identifie les zones de réduction potentielle des coûts et garantit une utilisation efficace des services cloud afin d’éviter les dépenses inutiles.
La DRI sert également de première ligne de défense contre les coûts de charge de travail plus élevés que prévu. Les RPI peuvent aider à identifier la cause de ces coûts élevés et à travailler de manière proactive avec l’équipe de charge de travail pour les réduire à leur plage attendue avant qu’elles ne deviennent une urgence de coût.
Transformer l’optimisation des coûts en avantage concurrentiel grâce à l’innovation continue.
Au niveau 5 du modèle de maturité, vous devez disposer de nombreux mécanismes et processus d’optimisation des coûts déjà en place. Le niveau 5 se concentre sur l’optimisation de votre retour sur investissement (ROI) en conservant un budget de charge de travail cohérent et prévisible, en produisant des prévisions très précises et en appliquant des affinements avancés. Tenez compte des recommandations suivantes pour atteindre ces objectifs.
Stratégies clés
• Appliquer les garde-fous de dépense dans vos processus de développement logiciel
Des portes de mise en production peuvent vous servir de garde-fous pour les dépenses en établissant des critères liés aux coûts à remplir pour passer la porte. Par exemple, vous pouvez définir des limites de dépense pour vous assurer que les versions n’ajoutent pas de coûts inattendus à votre budget de charge de travail. Incorporez ces portes dans votre pipeline d’intégration continue et de livraison continue pour vous assurer qu’elles sont incluses dans chaque déploiement.
• Investir dans la création de connaissances
Permettre à votre équipe de charge de travail de prendre possession des initiatives d’optimisation des coûts en développant un programme de formation en compétences. Encouragez les membres de l’équipe à apprendre des leaders de l’industrie en participant à des conférences, des webinaires et d’autres événements pertinents. Fournir une formation interne pour prendre en charge les compétences croisées et créer des environnements de bac à sable pour des expériences d’apprentissage pratiques. Aligner la formation avec les initiatives d’optimisation des coûts, comme l’optimisation des stratégies de mise à l’échelle. Les équipes hautement qualifiées améliorent l’efficacité et peuvent réduire la dépendance des tiers pour les projets futurs.
Assurez-vous que votre modèle de coût inclut des formations planifiées pour une période fiscale spécifique, comme le trimestre à venir.
✓ Optimiser les coûts de haute disponibilité et de récupération d’urgence
Une fois que vous avez exécuté des exercices de récupération d’urgence (DR) réels ou que vous rencontrez des incidents de récupération d’urgence réels, vous pouvez trouver des opportunités d’optimisation des coûts. Vous pouvez découvrir qu’une stratégie de récupération d’urgence moins coûteuse est suffisante pour certains composants tout en répondant à vos objectifs de récupération. Par exemple, vous n’avez peut-être pas besoin d’une conception de rechange chaude pour les flux non critiques. Dans ce scénario, envisagez d'implémenter une approche de déploiement en cas de récupération plutôt.
Dans le cadre de vos pratiques d’amélioration continue, revisitez régulièrement vos objectifs de récupération pour vous assurer qu’ils sont adaptés aux exigences de fiabilité et de coût.
✓ Affiner la conception de la charge de travail
Après avoir observé votre charge de travail en production sur une période prolongée, vous pouvez déterminer que vous êtes à la limite des optimisations intéressantes sans refactoriser des parties de celle-ci. La refactorisation peut être gourmande en main-d’œuvre et coûteuse. Toutefois, la refactorisation peut être un investissement utile s’il entraîne des économies à long terme. Il peut également étendre le cycle de vie de la charge de travail en adoptant des technologies et des pratiques de gestion plus efficaces. Tenez compte des stratégies suivantes :
Combinez des flux similaires. Réduisez les redondances ou l’utilisation des ressources inutilisées en regroupant des flux similaires sur une ressource partagée ou un ensemble de ressources. Par exemple, vous pouvez héberger plusieurs applications web sur une seule instance de calcul ou héberger plusieurs bases de données sur un seul serveur logique.
Séparez les flux dissimilar. L’affectation de tâches qui ont des besoins de calcul différents à des ressources dédiées améliore l’efficacité et réduit les coûts. Cette approche améliore l’extensibilité, la tolérance de panne et l’adaptabilité en minimisant les interférences et en optimisant l’allocation des ressources en fonction de la priorité de chaque tâche.
Réarchitecte la charge de travail pour gagner en efficacité. Passez en revue l’architecture complète de la charge de travail pour rechercher des opportunités d’amélioration de l’efficacité. Privilégiez une conception de microservices et explorez à l’aide de services serverless ou managés qui réduisent la charge opérationnelle et peuvent facilement être dimensionnés correctement par le biais de la mise à l’échelle automatique. Un objectif final pour votre architecture peut être de déployer automatiquement des environnements hors production uniquement si nécessaire pour les activités de déploiement. Ces environnements peuvent ensuite être détruits par la suite pour réduire les coûts d’utilisation inutiles.
Surveillez et ajustez en continu les tailles de ressources en fonction des modèles d’utilisation pour optimiser les coûts.
• Faire évoluer les opérations de votre équipe
Recherchez et adoptez des méthodologies de développement efficaces comme Scrum, Kanban et cascade. Réévaluez régulièrement l’efficacité de votre équipe pour déterminer si votre méthodologie choisie est la meilleure solution. Déterminez les coûts des tâches de chaque employé, appelés coûts unitaires, et recherchez des opportunités pour réduire ces coûts. Passez en revue les tâches les plus coûteuses et évaluez leur retour sur investissement.
Évaluez si des tâches spécifiques peuvent être déchargées vers d’autres équipes. Par exemple, une équipe cloud centralisée peut gérer des tâches opérationnelles pour d’autres unités commerciales ou charges de travail, tandis qu’une équipe de sécurité centralisée peut gérer la surveillance et le test. Lorsque vous déchargez les tâches, planifiez attentivement le transfert, assurez-vous d’une communication claire entre toutes les équipes impliquées et suivez les processus de gestion des changements établis.