Fermer

mars 17, 2025

AWS EMR Coût et optimisation des performances: une approche centrée sur l’entreprise

AWS EMR Coût et optimisation des performances: une approche centrée sur l’entreprise


Introduction

AWS Elastic MapReduce (EMR) est un service AWS pour filtrer les mégadonnées à l’aide d’outils open-source tels que Apache Spark, Apache Flink, Trino, Hadoop, Hive, Presto, Et bien d’autres. Il fournit une plate-forme pour exécuter vos applications sans réfléchir beaucoup à la gestion de l’infrastructure sous-jacente.

AWS EMR est un service polyvalent, facile à utiliser, hautement disponible et robuste. Le coût de l’exécution de ces clusters EMR peut rapidement s’additionner s’il n’est pas optimisé avec précision.

Objectif

Dans cet article de blog, nous explorerons certaines meilleures pratiques clés pour réduire les factures AWS et améliorer les performances lors de l’utilisation de la carte élastique AWS.

AWS EMR

AWS EMR

  1. Sélectionnez les bons types d’instructions

AWS EMR propose différents types d’instances EC2 pour exécuter votre charge de travail. Décider du type à utiliser est important car il peut avoir un impact direct sur le coût et les performances.

  • Machines optimisées à la mémoire: Ce sont des machines EC2 à forte intensité de mémoire et sont utilisées pour des charges de travail comme Spark ou Java, qui nécessitent une mémoire élevée.
  • Machines optimisées en calcul: Celles-ci sont hautement préférées pour les tâches lourdes du processeur telles que l’apprentissage automatique ou les opérations d’extrait, de transformation et de charge (ETL).
    Types d'instructions EMR

    Types d’instructions EMR

  • Instances de spot: Utiliser l’avantage des instances ponctuelles pour les tâches non critiques pour réduire les coûts jusqu’à 90% n’est jamais une mauvaise idée. Ces instances sont interrompues, alors assurez-vous que les applications sont résilientes à ces interruptions. Pour choisir le type d’instance avec une basse fréquence d’interruption, consultez AWS Spot Advisor ici.
  • Graviton Instances: C’est une évidence d’utiliser des instances basées sur les bras alimentées par AWS Graviton. Les processeurs AWS Graviton modifient le paysage du cloud computing en offrant de meilleures performances et des économies de coûts. La dernière série Graviton4 repousse les limites, offrant jusqu’à 40% de meilleurs prix et jusqu’à 60% moins de consommation d’énergie par rapport aux processeurs x86.
  • Plans d’épargne: Le plan d’épargne offre des prix flexibles, ce qui peut aider à économiser les coûts sur les clusters EMR à long terme.
    Économies de factures de cloud

    Économies de factures de cloud

  • Cloudkeeper pour les économies de coûts: Cloudkeeper s’assure que vous obtenez l’avantage des plans d’épargne sans engagement initial en transmettant des réductions dans le cadre de son modèle de tarification, ce qui en fait un ajout clé à vos stratégies d’économie d’argent. Cloudkeeper peut vous aider à découvrir des opportunités d’épargne cachées en donnant une visibilité en temps réel de vos dépenses cloud, en identifiant des composants inactifs et en suggérant des droits pour votre infrastructure.
    Cloud

    Cloud

Meilleure pratique: Utiliser les flottes d’instance EMR pour combiner Instances spot et à la demande pour la flexibilité et plus d’économies de coûts.

2. Tize à droite votre cluster

Le provisionnement excédentaire de votre cluster gaspille les ressources, tandis que l’insuffisance de l’approvisionnement peut entraîner des problèmes de performance. Vous pouvez suivre ces étapes pour avoir le bon dimensionnement:

  • Commencez toujours petit: Commencez par une taille de cluster minimale et augmentez-vous en fonction des exigences de charge de travail.
  • Activer la mise à l’échelle automatique: Utilisez la mise à l’échelle AUTO EMR pour modifier le nombre de nœuds en fonction de la charge de travail.
  • Métriques de cluster EMR: Surveiller régulièrement les mesures CloudWatch comme CPU, mémoire, utilisation HDFS et latence du réseau pour identifier la taille optimale du cluster.

3. Tire en effet de mise à l’échelle gérée par EMR

La mise à l’échelle gérée par AWS EMR vous permet de réduire automatiquement ou de réduire votre cluster EMR en fonction du trafic. Cela vous évitera d’avoir à surveiller et à ajuster la taille des cluster manuellement, vous permettant d’économiser de l’argent au ralenti. Étapes pour activer la mise à l’échelle gérée:

  • Activez la mise à l’échelle gérée EMR lors de la création du cluster.
  • Définissez le nombre minimum et maximum d’instances pour l’élasticité.
  • Utilisez des mesures AWS CloudWatch pour surveiller les performances.
    Échelle gérée par EMR

    Échelle gérée par EMR

4. Maximiser le stockage de données

Les coûts de transfert de données et le stockage peuvent avoir un impact significatif sur votre budget AWS. Utilisez les méthodes suivantes pour optimiser le stockage:

  • Partitionnement: Partition de grands ensembles de données. Cela améliorera les performances et réduira les coûts de numérisation.
  • Utilisez AWS S3 au lieu de HDFS: Utilisez AWS Simple Storage Service (S3) pour stocker les données pour éviter les coûts élevés associés à la réplication EBS et HDFS. EMRFS permet une intégration complète entre EMR et S3.
    Stockage des données S3

    Stockage des données S3

  • Compression de données: Stocker des données dans des formats compressés tels que Parquet, ORC ou GZIP pour éviter les coûts d’espace disque et pour un transfert plus rapide.
  • Réduire les coûts de transfert de données: Vous pouvez maintenir les coûts de transfert de données bas en faisant du déplacement des données dans un seul AZ. Bien que cela ne soit pas recommandé pour la production, il peut être utilisé dans des environnements non productions.

5. Utilisez le magasin d’instance pour un stockage à court terme

  • Pour le stockage temporaire (par exemple, les opérations de shuffle dans Spark), utilisez un stockage directement attaché (DAS) à la place des EB.
  • Les magasins d’instance fournissent des IOPS élevés et sont peu coûteux pour les données intermédiaires.
    stockage d'instance

    stockage d’instance

Conseil: Gardez à l’esprit que les données stockées sur le stockage d’instructions sont éphémères et seront perdues si l’instance s’arrête ou se termine.

6 Configurations Spark et Hadoop de réglage des performances

  • Régler les exécuteurs et activer le parallélisme: Généralement, configurez la mémoire d’exécuteur de Spark, les cœurs et le nombre d’instances pour maintenir plus de mémoire avec moins d’utilisation du processeur. Pour les emplois utilisant Spark, le parallélisme doit être augmenté pour assurer une utilisation optimale.
  • Réglage du fil: Configurez les tailles de conteneurs de YARN et les allocations de mémoire pour éviter les affirmations des ressources.

7. Optimiser et surveiller les coûts

Suivez votre motif de coût et d’utilisation de DME pour identifier les inefficacités.

  • AWS Cost Explorer: Analysez la tendance des coûts et budgétisez votre charge de travail EMR.
  • CloudWatch Metrics: Surveillez les mesures de cluster EMR en temps réel pour trouver des ressources sous-utilisées.
  • Conseiller d’instance de spot: Utilisez AWS Spot Instance Advisor pour sélectionner les instances de spot les plus rentables.

8. Tirez parti des dernières versions EMR

Les mises à niveau régulières gardent tout le monde heureux. Les dernières versions de la DME sont susceptibles d’inclure des améliorations des performances et des optimisations des coûts. Testez et passez à la dernière version d’EMR périodiquement.

Astuce: utilisez les notes de version EMR pour trouver des fonctionnalités et des correctifs qui s’appliquent à votre charge de travail.

9. Terminer les grappes inactives

Les grappes inactives peuvent rapidement augmenter vos coûts. Voici quelques meilleures pratiques pour éviter les dépenses inutiles:

  • Terminaison automatique en cluster: Activez et configurez les clusters pour se terminer automatiquement après la réussite de votre travail.
  • Alarmes de délai d’inactivité: Assurez-vous des alarmes CloudWatch ou des alertes personnalisées qui enverront des notifications pour les clusters inactifs.

10. Alternatives sans serveur: EMR sur EKS

Pour les charges de travail incohérentes, exécutez EMR sur AWS Elastic Kubernetes Service (EKS), qui est la plate-forme Kubernetes gérée sur AWS. Ce modèle sans serveur élimine la gestion des cluster et les échelles automatique avec un minimum de dépenses opérationnelles.

Conclusion

AWS EMR est une plate-forme puissante pour traiter les mégadonnées, mais sans une planification et une gestion appropriées, les coûts peuvent rapidement devenir incontrôlables. En suivant les meilleures pratiques mentionnées dans ce blog, vous pouvez réduire considérablement les coûts tout en garantissant que vos charges de travail fonctionnent efficacement. Qu’il s’agisse de choisir la bonne instance, l’optimisation du stockage ou l’utilisation de l’échelle gérée, chaque étape joue un rôle important dans la maximisation des économies sur vos factures de cloud.

Partenariat avec un fournisseur de services cloud gérés comme Au nouveau Peut vous aider avec tous ces défis. Notre Architectes certifiés AWS et ingénieurs DevOps S’engage à gagner du temps et des ressources tout en améliorant l’efficacité des entreprises et la fiabilité.

Quelle est la prochaine étape? Commencez à mettre en œuvre ces pratiques aujourd’hui et surveillez l’impact sur vos clusters DME. Vous avez des conseils ou des expériences supplémentaires à partager? Faites-nous savoir dans les commentaires!

Vous avez trouvé cela utile? PARTAGEZ-LE






Source link