Il s’agit d’un article invité co-écrit avec Mukul Sharma, ingénieur en développement logiciel, et Ozcan IIikhan, directeur de l’ingénierie chez GoDaddy.
Allez papa donne du pouvoir aux entrepreneurs de tous les jours en fournissant toute l’aide et les outils nécessaires pour réussir en ligne. Avec plus de 22 millions de clients dans le monde, GoDaddy est l’endroit où les gens viennent nommer leurs idées, créer un site Web professionnel, attirer des clients et gérer leur travail.
GoDaddy est une entreprise axée sur les données, et obtenir des informations significatives à partir des données nous aide à prendre des décisions commerciales afin de satisfaire nos clients. Chez GoDaddy, nous nous sommes lancés dans un voyage pour découvrir les promesses d’efficacité de AWSGraviton2 sur Amazon EMR sans serveur dans le cadre de notre vision à long terme d’une informatique intelligente rentable.
Dans cet article, nous partageons la méthodologie et les résultats de notre exercice d’analyse comparative comparant la rentabilité d’EMR Serverless sur l’architecture arm64 (Graviton2) par rapport à l’architecture x86_64 traditionnelle. EMR Serverless sur Graviton2 a démontré un avantage en termes de rentabilité, entraînant des économies significatives sur les coûts totaux d’exécution. Nous avons obtenu une amélioration de 23,85 % du rapport prix/performances pour les charges de travail Spark de production d’échantillons, un résultat qui présente un énorme potentiel pour les entreprises qui s’efforcent d’optimiser leur efficacité informatique.
Vue d’ensemble de la solution
La plate-forme de calcul intelligente de GoDaddy envisage la simplification des opérations de calcul pour tous les personnages, sans limiter les utilisateurs expérimentés, afin de garantir une optimisation des coûts et des performances prêtes à l’emploi pour les données et les charges de travail de ML. Dans le cadre de cette vision, l’équipe Data & ML Platform de GoDaddy prévoit d’utiliser EMR Serverless comme l’une des solutions de calcul sous le capot.
Le diagramme suivant montre une illustration de haut niveau de la vision de la plateforme de calcul intelligente.
Analyse comparative EMR sans serveur pour GoDaddy
EMR Serverless est une option sans serveur dans Amazon DME qui élimine les complexités liées à la configuration, à la gestion et à la mise à l’échelle des clusters lors de l’exécution de frameworks Big Data comme Apache Spark et Apache Hive. Avec EMR Serverless, les entreprises peuvent bénéficier de nombreux avantages, notamment une rentabilité, un provisionnement plus rapide, une expérience de développeur simplifiée et une résilience améliorée aux pannes de zone de disponibilité.
Chez GoDaddy, nous avons lancé une étude approfondie pour comparer EMR Serverless en utilisant de véritables flux de production chez GoDaddy. Le but de l’étude était d’évaluer les performances et l’efficacité d’EMR Serverless et d’élaborer un plan d’adoption bien informé. Les résultats de l’étude ont été extrêmement prometteurs, démontrant le potentiel d’EMR Serverless pour nos charges de travail.
Après avoir obtenu des résultats convaincants en faveur d’EMR Serverless pour nos charges de travail, notre attention s’est tournée vers l’évaluation de l’utilisation de l’architecture Graviton2 (arm64) sur EMR Serverless. Dans cet article, nous nous concentrons sur la comparaison des performances de Graviton2 (arm64) avec l’architecture x86_64 sur EMR Serverless. En effectuant cette analyse comparative de pommes avec des pommes, nous visons à obtenir des informations précieuses sur les avantages et les considérations liées à l’utilisation de Graviton2 pour nos charges de travail Big Data.
En utilisant EMR Serverless et en explorant les performances de Graviton2, GoDaddy vise à optimiser ses flux de travail Big Data et à prendre des décisions éclairées concernant l’architecture la plus adaptée à ses besoins spécifiques. La combinaison d’EMR Serverless et de Graviton2 présente une opportunité passionnante d’améliorer les capacités de traitement des données et d’améliorer l’efficacité de nos opérations.
AWSGraviton2
Les processeurs Graviton2 sont spécialement conçus par AWS, utilisant de puissants cœurs Arm Neoverse 64 bits. Cette architecture sur mesure offre une amélioration remarquable du rapport prix/performances pour diverses charges de travail cloud.
En termes de coût, Graviton2 offre un avantage intéressant. Comme indiqué dans le tableau suivant, le prix de Graviton2 est 20 % inférieur à celui de l’option d’architecture x86.
x86_64 | bras64 (Graviton2) | |
par processeur virtuel et par heure | 0,052624 $ | 0,04 $2094 |
par Go et par heure | 0,0057785 $ | 0,004628 $ |
par Go de stockage et par heure* | 0,000111 $ |
*Stockage éphémère : 20 Go de stockage éphémère sont disponibles par défaut pour tous les collaborateurs. Vous ne payez que pour tout stockage supplémentaire que vous configurez par collaborateur.
Pour plus de détails sur les prix spécifiques et les informations actuelles, reportez-vous à Tarification Amazon EMR.
Référence AWS
L’équipe AWS a effectué des tests de référence sur les charges de travail Spark avec Graviton2 sur EMR Serverless à l’aide des tests de performances à l’échelle TPC-DS de 3 To. Le résumé de leur analyse est le suivant :
- Graviton2 sur EMR Serverless a démontré une amélioration moyenne de 10 % pour les charges de travail Spark en termes de temps d’exécution. Cela indique que le temps d’exécution des tâches basées sur Spark a été réduit d’environ 10 % lors de l’utilisation de Graviton2.
- Bien que la majorité des requêtes aient présenté des performances améliorées, un petit sous-ensemble de requêtes a connu une régression allant jusqu’à 7 % sur Graviton2. Ces requêtes spécifiques ont montré une légère diminution des performances par rapport à l’option d’architecture x86.
- En plus de l’analyse des performances, l’équipe AWS a pris en compte le facteur coût. Graviton2 est proposé à un coût 20 % inférieur à celui de l’option d’architecture x86. En tenant compte de cet avantage en termes de coûts, l’ensemble de référence AWS a généré un rapport prix-performance globalement supérieur de 27 % pour les charges de travail. Cela signifie qu’en utilisant Graviton2, les utilisateurs peuvent obtenir une amélioration de 27 % des performances par unité de coût par rapport à l’option d’architecture x86.
Ces résultats mettent en évidence les avantages significatifs de l’utilisation de Graviton2 sur les charges de travail EMR Serverless pour Spark, avec des performances et une rentabilité améliorées. Il met en valeur le potentiel de Graviton2 en termes de rapport qualité-prix amélioré, ce qui en fait un choix attrayant pour les organisations cherchant à optimiser leurs charges de travail Big Data.
Référence GoDaddy
Au cours de notre expérimentation initiale, nous avons observé que arm64 sur EMR Serverless surperformait systématiquement ou était à égalité avec x86_64. L’une des tâches a montré une augmentation de 7,51 % de l’utilisation des ressources sur arm64 par rapport à x86_64, mais en raison du prix inférieur de arm64, cela a quand même entraîné une réduction des coûts de 13,48 %. Dans un autre cas, nous avons obtenu une réduction impressionnante de 43,7 % du coût d’exploitation, attribuée à la fois à un prix inférieur et à une utilisation réduite des ressources. Dans l’ensemble, nos premiers tests ont indiqué que arm64 sur EMR Serverless offrait un rapport qualité-prix supérieur à celui de x86_64. Ces résultats prometteurs nous ont motivés à mener une étude plus complète et rigoureuse.
Résultats de référence
Pour mieux comprendre la valeur de Graviton2 sur EMR Serverless, nous avons mené notre étude en utilisant des charges de travail de production réelles de GoDaddy, qui sont programmées pour s’exécuter à une cadence quotidienne. Sans aucune exception, EMR Serverless sur arm64 (Graviton2) est nettement plus rentable que les mêmes tâches exécutées sur EMR Serverless sur l’architecture x86_64. En fait, nous avons enregistré une amélioration impressionnante de 23,85 % du rapport prix-performance sur les exemples de tâches GoDaddy utilisant Graviton2.
À l’instar des benchmarks AWS, nous avons observé de légères régressions de moins de 5 % du temps d’exécution total de certaines tâches. Toutefois, étant donné que ces tâches seront migrées d’Amazon EMR sur EC2 vers EMR Serverless, la durée d’exécution totale globale sera encore plus courte en raison du temps de provisionnement minimal dans EMR Serverless. De plus, sur tous les travaux, nous avons observé une accélération moyenne de 2,1 % en plus des économies de coûts réalisées.
Ces résultats d’analyse comparative fournissent des preuves convaincantes de la valeur et de l’efficacité de Graviton2 sur EMR Serverless. La combinaison d’un rapport qualité-prix amélioré, de durées d’exécution plus courtes et de économies globales fait de Graviton2 une option très attractive pour optimiser les charges de travail Big Data.
Méthodologie d’analyse comparative
Dans le prolongement d’une étude comparative plus large d’EMR Serverless pour GoDaddy, dans laquelle nous avons divisé les tâches Spark en tranches en fonction de la durée d’exécution totale (exécution rapide, moyenne, longue durée), nous avons mesuré l’effet de l’architecture (arm64 contre x86_64) sur coût total et durée d’exécution totale. Tous les autres paramètres sont restés identiques pour permettre une comparaison entre des pommes et des pommes.
L’équipe a suivi ces étapes :
- Préparez les données et l’environnement.
- Choisissez deux tâches de production aléatoires dans chaque tranche de tâches.
- Apportez les modifications nécessaires pour éviter toute déduction avec les résultats de production réels.
- Exécutez des tests pour exécuter des scripts sur plusieurs itérations afin de collecter des points de données précis et cohérents.
- Validez les ensembles de données d’entrée et de sortie, les partitions et le nombre de lignes pour garantir un traitement de données identique.
- Rassemblez les métriques pertinentes des tests.
- Analyser les résultats pour tirer des enseignements et des conclusions.
Le tableau suivant présente le résumé d’un exemple de tâche Spark.
Métrique | EMR sans serveur (moyenne) – X86_64 | EMR sans serveur (moyenne) – Graviton | X86_64 vs Graviton (% de différence) |
Coût total d’exécution | 2,76 $ | 1,85 $ | 32,97% |
Durée totale d’exécution (hh:mm:ss) |
00:41:31 | 00:34:32 | 16,82% |
Étiquette de version DME | emr-6.9.0 | ||
Type d’emploi | Étincelle | ||
Version étincelle | Étincelle 3.3.0 | ||
Distribution Hadoop | Amazone 3.3.3 | ||
Version Hive/HCatalog | Ruche 3.1.3, HCatalog 3.1.3 |
Résumé des résultats
Le tableau suivant présente une comparaison des performances des tâches entre EMR Serverless sur arm64 (Graviton2) et EMR Serverless sur x86_64. Pour chaque architecture, chaque tâche a été exécutée au moins trois fois pour obtenir le coût et la durée d’exécution moyens précis.
Emploi | Coût moyen x86_64 | Coût moyen du bras64 | Durée d’exécution moyenne x86_64 (hh:mm:ss) | Durée d’exécution moyenne arm64 (hh:mm:ss) | % d’économies moyennes | Gain de performance moyen % |
1 | 1,64 $ | 1,25 $ | 00:08:43 | 00:09:01 | 23,89% | -3,24% |
2 | 10,00 $ | 8,69 $ | 00:27:55 | 00:28:25 | 13,07% | -1,79% |
3 | 29,66 $ | 24,15 $ | 00:50:49 | 00:53:17 | 18,56% | -4,85% |
4 | 34,42 $ | 25,80 $ | 01:20:02 | 01:24:54 | 25,04% | -6,08% |
5 | 2,76 $ | 1,85 $ | 00:41:31 | 00:34:32 | 32,97% | 16,82% |
6 | 34,07 $ | 24,00 $ | 00:57:58 | 00:51:09 | 29,57% | 11,76% |
Moyenne | 23,85% | 2,10% |
Notez que les calculs d’amélioration sont basés sur des résultats de plus grande précision pour plus de précision.
Conclusion
Sur la base de cette étude, GoDaddy a observé une amélioration significative de 23,85 % du rapport prix-performance pour les exemples de tâches de production Spark utilisant l’architecture arm64 par rapport à l’architecture x86_64. Ces résultats probants nous ont amenés à recommander fortement aux équipes internes d’utiliser arm64 (Graviton2) sur EMR Serverless, sauf dans les cas où il existe des problèmes de compatibilité avec des packages et bibliothèques tiers. En adoptant une architecture arm64, les organisations peuvent améliorer la rentabilité et les performances de leurs charges de travail, contribuant ainsi à un traitement et une analyse des données plus efficaces.
à propos des auteurs
Mukul Sharma est ingénieur en développement logiciel pour l’organisation Data & Analytics (DnA) chez GoDaddy. Il s’agit d’un programmeur polyglotte possédant une expérience dans un large éventail de technologies permettant de fournir rapidement des solutions évolutives. Il aime chanter au karaoké, jouer à divers jeux de société et travailler sur des projets de programmation personnels pendant son temps libre.
Özcan Ilikhan est directeur de l’ingénierie de l’organisation Data & Analytics (DnA) chez GoDaddy. Il est passionné par la résolution des problèmes des clients et par l’augmentation de l’efficacité à l’aide des données et du ML/IA. Dans ses temps libres, il aime lire, faire de la randonnée, jardiner et travailler sur des projets de bricolage.
Dur Vardhan Singh Gaur est un architecte de solutions AWS, spécialisé dans l’analyse. Il possède plus de 6 ans d’expérience dans le domaine du big data et de la science des données. Il a pour passion d’aider les clients à adopter les meilleures pratiques et à découvrir des informations à partir de leurs données.
Ramesh Kumar Venkatramanest un architecte de solutions senior chez AWS passionné par les conteneurs et les bases de données. Il travaille avec les clients AWS pour concevoir, déployer et gérer leurs charges de travail et architectures AWS. Pendant son temps libre, il adore jouer avec ses deux enfants et suit le cricket.