Cadre Amazon ElastiCache Well-Architected - Pilier Optimisation des coûts - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Cadre Amazon ElastiCache Well-Architected - Pilier Optimisation des coûts

Le pilier d'optimisation des coûts vise à éviter les coûts inutiles. Les sujets clés incluent la compréhension et le contrôle des dépenses, la sélection du type de nœud le plus approprié (utilisation d'instances qui prennent en charge la hiérarchisation des données en fonction des besoins de la charge de travail), le nombre approprié de types de ressources (nombre de réplicas en lecture), l'analyse des dépenses au fil du temps et la mise à l'échelle pour répondre aux besoins de l'entreprise sans dépenses excessives.

POC 1 : Comment identifiez-vous et suivez-vous les coûts associés à vos ressources ElastiCache ? Comment développez-vous des mécanismes permettant aux utilisateurs de créer, gérer et supprimer les ressources créées ?

Introduction au niveau de la question : la compréhension des métriques de coût nécessite la participation et la collaboration de plusieurs équipes : ingénierie logicielle, gestion des données, propriétaires de produits, finances et direction. Pour identifier les principaux facteurs de coûts, toutes les parties concernées doivent comprendre les leviers de contrôle de l'utilisation des services et les compromis en matière de gestion des coûts. C'est ce qui différencie souvent les efforts d'optimisation des coûts réussis et moins réussis. La mise en place de processus et d'outils permettant de suivre les ressources créées entre le développement, la production et le retrait vous permet de gérer les coûts associés à ElastiCache.

Avantage au niveau de la question : le suivi continu de tous les coûts associés à votre charge de travail nécessite une compréhension approfondie de l'architecture qui inclut ElastiCache comme l'un de ses composants. En outre, vous devez disposer d'un plan de gestion des coûts pour collecter et comparer l'utilisation par rapport à votre budget.

  • [Obligatoire] Fondez un centre d'excellence cloud (CCoE) doté de l'une de ses chartes fondatrices, qui définira, suivra et prendra des mesures concernant les métriques relatives à l'utilisation d'ElastiCache par votre organisation. Si un CCoE existe et fonctionne, assurez-vous qu'il sait comment lire et suivre les coûts associés à ElastiCache. Lorsque des ressources sont créées, utilisez les rôles et les politiques IAM pour vérifier que seuls des équipes et des groupes spécifiques peuvent instancier des ressources. Cela garantit que les coûts sont associés aux résultats commerciaux et qu'une ligne de responsabilité claire est établie, du point de vue des coûts.

    1. Le CCoE doit identifier, définir et publier des métriques de coût qui sont régulièrement mises à jour (tous les mois) concernant l'utilisation principale d'ElastiCache sur des données catégorielles telles que :

      1. Types de nœuds utilisés et leurs attributs : standard ou à mémoire optimisée, instances à la demande ou réservées, régions et zones de disponibilité

      2. Types d'environnements : libre, développement, test et production

      3. Stratégies de stockage et de conservation des sauvegardes

      4. Transfert de données au sein des régions et entre elles

      5. Instances s’exécutant sur Amazon Outposts

    2. Le CCoE se compose d'une équipe interfonctionnelle constituée de représentants non exclusifs des équipes d'ingénierie logicielle, gestion des données, produit, finances et direction de votre organisation.

    [Ressources] :

  • [Obligatoire] Utilisez des balises de répartition des coûts pour suivre les coûts avec un faible niveau de granularité. Utilisez AWS Cost Management pour visualiser, comprendre et gérer vos coûts AWS et votre utilisation au fil du temps.

    1. Utilisez des balises pour organiser vos ressources et des balises de répartition des coûts pour effectuer le suivi de vos coûts AWS à un niveau détaillé. Une fois les balises de répartition des coûts activées, AWS les utilise pour organiser les coûts de vos ressources dans votre rapport de répartition des coûts, de sorte que vous puissiez plus facilement classer vos coûts AWS par catégorie et en effectuer le suivi. AWS fournit deux types de balises de répartition des coûts : les balises générées par AWS et les balises définies par l'utilisateur. AWS définit, crée et applique pour vous les balises générées par AWS, tandis que vous définissez, créez et appliquez les balises définies par l'utilisateur. Vous devez activer les deux types d'étiquettes séparément pour qu'elles apparaissent dans Cost Management ou sur un rapport de répartition des coûts.

    2. Vous pouvez utiliser des balises répartition des coûts pour organiser votre facture AWS afin de refléter votre propre structure de coût. Lorsque vous ajoutez des balises de répartition des coûts à vos ressources dans Amazon ElastiCache, vous pouvez suivre les coûts en regroupant les dépenses sur vos factures par des valeurs de balise de ressource. Vous devriez également envisager de combiner des balises pour suivre les coûts plus détaillés.

    [Ressources] :

  • [Meilleure pratique] Connectez le coût d'ElastiCache à des métriques qui concernent l'ensemble de l'organisation.

    1. Prenez en compte les métriques commerciales ainsi que les métriques opérationnelles telles que la latence. Quels concepts de votre modèle commercial sont compréhensibles pour tous les rôles ? Les métriques doivent être compréhensibles par le plus grand nombre de rôles possible au sein de l'organisation.

    2. Exemples : utilisateurs servis simultanément, latence maximale et moyenne par opération et par utilisateur, scores d'engagement des utilisateurs, taux de retour des utilisateurs/semaine, durée de session/utilisateur, taux d'abandon, taux d'accès au cache et clés suivies

    [Ressources] :

  • [Bonne pratique] Maintenez une visibilité architecturale et opérationnelle à jour sur les métriques et les coûts pour l'ensemble de la charge de travail qui utilise ElastiCache.

    1. Comprenez l'ensemble de votre écosystème de solutions. ElastiCache a tendance à faire partie d'un écosystème complet de services AWS au sein de son ensemble technologique, des clients à API Gateway, Redshift et QuickSight pour les outils de création de rapports (par exemple).

    2. Cartographiez les composants de votre solution (clients, connexions, sécurité, opérations en mémoire, stockage, automatisation des ressources, accès aux données et gestion des données) sur votre diagramme d'architecture. Chaque couche est connectée à l'ensemble de la solution et possède ses propres besoins et fonctionnalités qui augmentent et/ou vous aident à gérer le coût global.

    3. Votre diagramme doit inclure l'utilisation du calcul, du réseau, du stockage, des politiques de cycle de vie, de la collecte de métriques ainsi que les éléments ElastiCache opérationnels et fonctionnels de votre application.

    4. Les exigences de votre charge de travail sont susceptibles d'évoluer au fil du temps et il est essentiel que vous continuiez à maintenir et à documenter votre compréhension des composants sous-jacents ainsi que de vos principaux objectifs fonctionnels afin de rester proactif dans la gestion des coûts de votre charge de travail.

    5. Le soutien de la direction en matière de visibilité, de responsabilité, de priorisation et de ressources est essentiel pour que vous puissiez disposer d'une stratégie de gestion des coûts efficace pour votre ElastiCache.

POC 2 : Comment utilisez-vous les outils de surveillance continue pour vous aider à optimiser les coûts associés à vos ressources ElastiCache ?

Introduction au niveau de la question : vous devez trouver un juste équilibre entre le coût de votre ElastiCache et les métriques de performance de l’application. Amazon CloudWatch vous permet d'avoir une certaine visibilité sur les métriques opérationnelles clés qui peuvent vous aider à déterminer si vos ressources ElastiCache sont surutilisées ou sous-utilisées, par rapport à vos besoins. Du point de vue de l'optimisation des coûts, vous devez comprendre à quel moment vous êtes sur-alloué et vous devez être en mesure de développer des mécanismes appropriés pour redimensionner vos ressources ElastiCache tout en répondant à vos besoins opérationnels, de disponibilité, de résilience et de performances.

Avantage au niveau de la question : dans l’idéal, vous aurez alloué suffisamment de ressources pour répondre aux besoins opérationnels de votre charge de travail et vous n’aurez pas de ressources sous-utilisées pouvant entraîner un état des coûts sous-optimal. Vous devez être en mesure d'identifier et d'éviter d'exploiter des ressources ElastiCache surdimensionnées pendant de longues périodes.

  • [Obligatoire] Utilisez CloudWatch pour surveiller vos clusters ElastiCache et analyser la relation entre ces métriques et vos tableaux de bord AWS Cost Explorer.

    1. ElastiCache fournit deux métriques au niveau de l'hôte (par exemple, utilisation du CPU) et des métriques qui sont spécifiques au logiciel de moteur de cache (par exemple, réussites d'accès au cache et échecs d'accès au cache). Ces métriques sont mesurées et publiées pour chaque nœud de cache toutes les 60 secondes.

    2. Les métriques de performance d'ElastiCache (CPUUtilization, EngineUtilization, SwapUsage, CurrConnections et Evictions) peuvent indiquer que vous devez augmenter/diminuer la capacité (utiliser des types de nœuds de cache plus ou moins grands) ou diminuer/monter en puissance (ajouter plus/moins de partitions). Comprenez les implications financières des décisions de mise à l'échelle en créant une matrice stratégique qui estime les coûts supplémentaires et les délais minimum et maximum nécessaires pour atteindre les seuils de performance de vos applications.

    [Ressources] :

  • [Obligatoire] Comprenez et documentez votre stratégie de sauvegarde et ses implications financières.

    1. Avec ElastiCache, les sauvegardes sont stockées dans Amazon S3, qui fournit un stockage durable. Vous devez comprendre les implications financières liées à votre capacité à récupérer en cas de panne.

    2. Activez les sauvegardes automatiques qui supprimeront les fichiers de sauvegarde qui dépassent la limite de conservation.

    [Ressources] :

  • [Meilleure pratique] Utilisez des nœuds réservés pour vos instances dans le cadre d'une stratégie délibérée visant à gérer les coûts liés à des charges de travail bien comprises et documentées. Des frais initiaux sont facturés pour les nœuds réservés en fonction du type de nœud et de la durée de réservation : un ou trois ans. Ces frais sont largement inférieurs aux frais d'utilisation horaire facturés pour les nœuds à la demande.

    1. Vous devrez peut-être faire fonctionner vos clusters ElastiCache à l'aide de nœuds à la demande jusqu'à ce que vous ayez collecté suffisamment de données pour estimer vos besoins en instances réservées. Planifiez et documentez les ressources nécessaires pour répondre à vos besoins et comparez les coûts attendus selon les types d'instances (à la demande ou réservées)

    2. Évaluez régulièrement les nouveaux types de nœuds de cache disponibles et déterminez s'il est judicieux, du point de vue des métriques de coût et opérationnelles, de migrer votre flotte d'instances vers de nouveaux types de nœuds de cache.

POC 3 : Devez-vous utiliser un type d'instance prenant en charge la hiérarchisation des données ? Quels sont les avantages de la hiérarchisation des données ? Quand ne pas utiliser les instances de hiérarchisation des données ?

Introduction au niveau de la question : la sélection du type d'instance approprié peut non seulement avoir un impact sur les performances et le niveau de service, mais également un impact financier. Les types d'instances sont associés à des coûts différents. La sélection d'un ou de plusieurs types d'instances de grande taille capables de répondre à tous les besoins de stockage en mémoire peut s'avérer une décision naturelle. Cela pourrait toutefois avoir un impact financier important à mesure que le projet arrivera à maturité. Pour s'assurer que le type d'instance correct est sélectionné, vous devez examiner régulièrement le temps d'inactivité de l'objet ElastiCache.

Avantage au niveau de la question : vous devez bien comprendre l'impact des différents types d'instances sur vos coûts actuels et futurs. Les modifications marginales ou périodiques de la charge de travail ne doivent pas entraîner de modifications disproportionnées des coûts. Si la charge de travail le permet, les types d'instances qui prennent en charge la hiérarchisation des données offrent un meilleur prix par stockage disponible. En raison du stockage SSD disponible par instance, les instances de hiérarchisation des données prennent en charge une capacité totale de données par instance bien supérieure.

  • [Obligatoire] Comprenez les limites des instances de hiérarchisation des données :

    1. Disponibles uniquement pour les clusters ElastiCache for Redis.

    2. Seuls certains types d'instances prennent en charge la hiérarchisation des données.

    3. Seule la version 6.2 d'ElastiCache for Redis et versions ultérieures est prise en charge.

    4. Les éléments volumineux ne sont pas échangés sur le SSD. Les objets supérieurs à 128 Mio sont conservés en mémoire.

    [Ressources] :

  • [Obligatoire] Déterminez quel pourcentage de votre base de données est régulièrement consulté par votre charge de travail.

    1. Les instances de hiérarchisation des données sont idéales pour les charges de travail qui accèdent souvent à une petite partie de votre jeu de données global, mais qui nécessitent tout de même un accès rapide aux données restantes. En d'autres termes, le rapport entre les données fréquemment utilisées et les données moins fréquemment utilisées est d'environ 20:80.

    2. Développez le suivi du temps d'inactivité des objets au niveau du cluster.

    3. Il est judicieux d’utiliser des implémentations à grande échelle de plus de 500 Go de données.

  • [Obligatoire]Sachez que les instances de hiérarchisation des données ne sont pas facultatives pour certaines charges de travail.

    1. L'accès à des objets moins fréquemment utilisés entraîne un faible coût en termes de performances, car ceux-ci sont échangés sur un SSD local. Si votre application est sensible au temps de réponse, testez l'impact sur votre charge de travail.

    2. Elles ne conviennent pas aux caches qui stockent principalement des objets volumineux d'une taille supérieure à 128 Mio.

    [Ressources] :

  • [Meilleure pratique] Les types d'instances réservées prennent en charge la hiérarchisation des données. Cela garantit le coût le plus bas en termes de quantité de stockage de données par instance.

    1. Il se peut que vous deviez faire fonctionner vos clusters ElastiCache à l'aide d'instances ne prenant pas en charge la hiérarchisation des données jusqu'à ce que vous compreniez mieux vos besoins.

    2. Analysez le modèle d'utilisation des données de vos clusters ElastiCache.

    3. Créez une tâche automatisée qui collecte régulièrement le temps d'inactivité des objets.

    4. Si vous remarquez qu'un pourcentage élevé (environ 80 %) d'objets sont inactifs pendant une période jugée appropriée à votre charge de travail, documentez les résultats et suggérez de migrer le cluster vers des instances prenant en charge la hiérarchisation des données.

    5. Évaluez régulièrement les nouveaux types de nœuds de cache disponibles et déterminez s'il est judicieux, du point de vue des métriques de coût et opérationnelles, de migrer votre flotte d'instances vers de nouveaux types de nœuds de cache.

    [Ressources] :