Fermer

mai 2, 2023

Penny Pincher – Recommandation d’optimisation des ressources cloud basée sur des données historiques pour réduire les coûts.

Penny Pincher – Recommandation d’optimisation des ressources cloud basée sur des données historiques pour réduire les coûts.


Avec la croissance des entreprises d’Amazon Web Services (AWS), la recherche de ressources inactives, l’audit de vos coûts et la gestion de votre inventaire font partie des cas d’utilisation les plus complexes. Cela est particulièrement vrai pour les entreprises ou les organisations qui utilisent une large gamme de services et de ressources AWS, car le suivi de toutes ces ressources ou ressources inactives peut rapidement devenir écrasant.

Défis:

    • Recherche de ressources inactives : Les ressources inactives sont les ressources qui sont déployées mais qui ne sont pas utilisées à un niveau significatif et qui sont donc sous-utilisées. Ces ressources inactives peuvent inclure des instances EC2, des bases de données RDS, des équilibreurs de charge, elasticate, OpenSearch et d’autres ressources. Cela entraîne des coûts inutiles et contribue à des dépenses excessives sur AWS.
    • Audit des coûts : Un autre défi consiste à auditer l’utilisation des coûts. AWS propose une large gamme de services avec différents modèles de tarification, ce qui rend difficile le suivi des coûts entre différents services et régions. Les organisations doivent régulièrement auditer leur utilisation d’AWS pour identifier les inefficacités de coûts et optimiser leurs dépenses.
    • Extraire l’inventaire : Il est souvent nécessaire de consulter l’inventaire AWS et de parcourir la liste complète des ressources. Cela peut être nécessaire pour diverses raisons : identification des ressources qui ne sont pas nécessaires, catégorisation de différents types de charges de travail, prévision, optimisation ou traitement et analyse ultérieurs en alimentant un système différent.

2.

  • Manque d’expertise DevOps : Tous ces problèmes deviennent encore plus difficiles lorsque vous n’avez pas d’expertise DevOps dans l’équipe. Afin de répondre au besoin, vous devez investir du temps et des efforts dans l’écriture et le test des solutions pour qu’elles fonctionnent à un niveau satisfaisant.

Pourquoi les solutions existantes aux problèmes ci-dessus ne suffisent pas aux besoins :

Essayons maintenant d’identifier pourquoi les solutions disponibles existantes ne résolvent pas complètement les problèmes ci-dessus.

Identification des ressources inactives

    • L’une des solutions existantes fournies par AWS est Trusted Advisor, un service AWS proposant des recommandations pour optimiser les ressources, augmenter la sécurité, réduire les coûts et améliorer les performances des ressources AWS. Cependant, il y a encore quelques défis avec ce système. Trusted Advisor nécessite un abonnement AWS Support actif, ce qui peut ne pas être possible pour toutes les organisations. De plus, alors que Trusted Advisor peut aider à identifier les ressources inactives, il dispose de critères standard et fixes concernant la raison pour laquelle la ressource est inactive. De plus, la mise en œuvre d’une règle personnalisée sur n’importe quelle condition personnalisée dépasse la portée d’un conseiller de confiance.
    • Parfois, vous avez votre définition des ressources inactives par rapport à laquelle vous souhaitez parcourir vos ressources pour vérifier celles qui répondent à vos critères.
    • Par exemple, une ressource inactive pour une équipe ou un service peut ne pas l’être pour une autre équipe. Par exemple, 100 accès par semaine sur l’équilibreur de charge peuvent être inactifs du service A mais pas de B. Par conséquent, il est essentiel de disposer d’un outil permettant de personnaliser les critères utilisés pour identifier les ressources inactives. Cet outil devrait permettre aux organisations de définir leurs propres seuils pour les ressources inactives en fonction de leurs besoins commerciaux uniques.

Extraction de l’inventaire des ressources

De même, extraire l’inventaire complet d’un compte AWS n’est pas une solution très simple dans AWS. Vous devez soit utiliser Systems Manager, AWS Glue et le compartiment Crawl S3 pour configurer certaines opérations sur les fichiers bruts afin d’atteindre le sous-ensemble de l’inventaire final. Certains outils tiers sont également disponibles, par exemple sur site24x7, qui peuvent ne pas être autorisés à être configurés dans le compte AWS à cette fin.

Pour répondre aux exigences ou cas d’utilisation expliqués ci-dessus, nous avons développé une solution python ‘Grippe-sous’ qui est entièrement configurable.

Comprenons ‘Penny Pincher’ en bref…

Penny Pincher est un outil open source et économique qui peut analyser l’ensemble de votre compte AWS, aide à identifier toutes les ressources qui sont provisionnées mais qui ne sont pas utilisées. Il génère non seulement des rapports sur les ressources inactives, mais sur toutes les ressources. Il vous avertit en envoyant des rapports générés par e-mail ou Slack et les stocke également dans s3 selon le choix de l’utilisateur.

Note – Par défaut, il met à jour le rapport final après toutes les deux semaines.

Penny Pincher prend actuellement en charge les services suivants :

L’outil analyse toutes les régions pour obtenir les résultats des services pris en charge suivants :

  1. EBS
  2. EC2
  3. EIP
  4. Élasticache
  5. Recherche élastique
  6. Équilibreur de charge
  7. Décalage vers le rouge
  8. RDS

Caractéristiques de Penny Pincher

Par défaut, la solution est suffisamment intelligente pour identifier si une ressource est inactive ou non. Mais vous pouvez personnaliser les conditions par rapport auxquelles il signale les ressources inactives et leurs économies potentielles.

  • Rapports Économies potentielles

Lorsque nous disons que quelque chose a le potentiel d’économiser des coûts, cela signifie qu’il a la capacité d’aider à réduire les dépenses ou les dépenses. PennyPIncher vous donne des recommandations et des suggestions pour la même chose.

PennyPincher peut fournir l’inventaire scanné dans votre compte AWS et générer un fichier CSV. En termes plus simples, un inventaire d’un compte AWS est essentiellement une liste complète de toutes les ressources de ce compte, il vous permet d’avoir une visibilité complète sur vos ressources, ce qui facilite leur gestion et leur optimisation.

Penny Pincher peut analyser les ressources dans toutes les régions de votre compte AWS et rapporter les résultats sur cette base. L’analyse manuelle de votre environnement AWS peut prendre du temps et être source d’erreurs.

  • Création de rapports par e-mail, Slack et compartiment S3

Il peut notifier le résumé des ressources inactives, les économies de coûts potentielles et l’inventaire sur Slack, par e-mail ou s3 selon le choix de l’utilisateur.

Vous pouvez configurer cette solution comme un maïs, et elle signalera en temps opportun les résultats sur le canal de communication que vous avez choisi. Cela supprime la surcharge liée à l’exécution répétée de l’outil.

Nous avons testé la solution pour jusqu’à 300 ressources dans le compte AWS.

Parcourez la documentation technique et les étapes d’installation sur notre Page Github de Pennypincher

Quelques considérations lors de l’utilisation de cet outil :

  1. Actuellement, la solution doit être déployée séparément dans chaque compte.
  2. La solution doit être déployée dans la région us-east-1
  3. Nous avons testé la solution pour 300 ressources.
  4. Dans un compte où il existe plus de 300 ressources, vous pouvez soit l’exécuter localement, soit nous déploierons le support fargate dans la prochaine version.

Suggestions et améliorations bienvenues.

Je tiens à remercier mes collègues, Yash Khandelwal et Akshay Shrivastava, pour leur soutien constant et leur aide tout au long de la construction de cette solution.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link