12 novembre 2024

Migrer vers AWS EMR

La transformation numérique pousse de nombreuses entreprises à moderniser leurs infrastructures de traitement de données. Dans ce contexte, la migration des clusters Hadoop traditionnels vers des solutions cloud plus flexibles et évolutives devient une priorité. Amazon Web Services (AWS) et son service Amazon EMR (Elastic MapReduce) offrent une alternative attrayante pour les organisations cherchant à optimiser leurs opérations Big Data.

Qu'est ce qu'un cluster Hadoop ?

Apache Hadoop est un framework open source utilisé pour stocker et traiter efficacement de grands ensembles de données dont la taille va du gigaoctet au pétaoctet. Au lieu d'utiliser un seul gros ordinateur pour stocker et traiter les données, Hadoop permet de regrouper plusieurs ordinateurs pour analyser plus rapidement des ensembles de données massifs en parallèle.

Hadoop se compose de quatre modules principaux :

  • Hadoop Distributed File System (HDFS) - Un système de fichiers distribués qui fonctionne sur du matériel standard ou bas de gamme. HDFS offre un meilleur débit de données que les systèmes de fichiers traditionnels, en plus d'une tolérance élevée aux pannes et d'une prise en charge native des grands ensembles de données.
  • Yet Another Resource Negotiator (YARN) - Gère et surveille les nœuds de cluster et l'utilisation des ressources. Il planifie les travaux et les tâches.
    MapReduce - Cadre qui aide les programmes à effectuer des calculs parallèles sur les données. La Map task prend les données d'entrée et les convertit en un ensemble de données qui peuvent être calculées en paires clé-valeur. La sortie de la map task est consommée par les tâches reduce pour agréger la sortie et fournir le résultat souhaité.
  • Hadoop Common - Fournit des bibliothèques Java communes qui peuvent être utilisées dans tous les modules.

Comment fonctionne Hadoop ?

Hadoop facilite l'utilisation de toute la capacité de stockage et de traitement des serveurs en cluster, ainsi que l'exécution de processus distribués sur d'énormes quantités de données. Hadoop fournit les éléments de base sur lesquels d'autres services et applications peuvent être construits.

Les applications qui collectent des données sous différents formats peuvent les placer dans le cluster Hadoop en utilisant une opération API pour se connecter au NameNode. Le NameNode suit la structure du répertoire des fichiers et le placement des "chunks" pour chaque fichier, répliqués sur les DataNodes. Pour exécuter une tâche d'interrogation des données, il faut fournir une tâche MapReduce composée de plusieurs tâches de mappage et de réduction qui s'exécutent sur les données du HDFS réparties sur les DataNodes. Les tâches Map s'exécutent sur chaque nœud par rapport aux fichiers d'entrée fournis, et les réducteurs s'exécutent pour agréger et organiser le résultat final.

L'écosystème Hadoop s'est considérablement développé au fil des ans grâce à son extensibilité. Aujourd'hui, l'écosystème Hadoop comprend de nombreux outils et applications pour aider à collecter, stocker, traiter, analyser et gérer les données volumineuses. Certaines des applications les plus populaires sont :

  • Spark - Un système de traitement distribué open source couramment utilisé pour les charges de travail de big data. Apache Spark utilise la mise en cache en mémoire et l'exécution optimisée pour des performances rapides, et il prend en charge le traitement général par lots, l'analyse en continu, l'apprentissage automatique, les bases de données graphiques et les requêtes ad hoc.
  • Presto - Un moteur de requête SQL distribué, open source, optimisé pour l'analyse ad hoc des données à faible latence. Il prend en charge la norme ANSI SQL, y compris les requêtes complexes, les agrégations, les jointures et les fonctions de fenêtre. Presto peut traiter des données provenant de plusieurs sources de données, notamment le système de fichiers distribués Hadoop (HDFS) et Amazon S3.
  • Hive - Permet aux utilisateurs d'exploiter Hadoop MapReduce à l'aide d'une interface SQL, ce qui permet des analyses à grande échelle, en plus de l'entreposage de données distribué et tolérant aux pannes.
  • HBase - Base de données versionnée, non relationnelle et open source qui fonctionne au-dessus d'Amazon S3 (en utilisant EMRFS) ou du système de fichiers distribués Hadoop (HDFS). HBase est un entrepôt de données distribué, massivement évolutif, conçu pour un accès aléatoire, strictement cohérent et en temps réel à des tables comportant des milliards de lignes et des millions de colonnes.
  • Zeppelin - Un carnet de notes interactif qui permet une exploration interactive des données.

Les limites des solutions on premise ou IaaS pour les distributions Hadoop

  • Coût fixe : Obligation de prendre un engagement pluriannuel pour le matériel, les logiciels et les frais de support associés, ce qui entraîne un investissement important.
  • Stockage / Calcul : Ces deux éléments sont étroitement couplés, de sorte que même si vous souhaitez simplement augmenter le stockage pour juste conserver des données, vous devez supporter des coûts de calcul inutiles./li>
  • Always On : Le cluster est toujours actif, ce qui n'est pas efficace en termes de ressources et de coûts (énergie, ETP ...).
  • Self-Service : Vos utilisateurs veulent avoir la possibilité de déployer uniquement certains services tels que Hive, Spark, Presto uniquement. Souvent, ils veulent simplement tester un nouveau service.
  • Capacité statique, non évolutive et non utilisée : Le nombre de nœuds utilisés est toujours fixe ; il n'est pas possible d'adapter la capacité en fonction de la taille des données (petits ensembles de données ou ensembles de données plus volumineux) et les conflits entre clusters ne sont pas pris en compte.
  • Impact des pannes : Pendant les arrêts de production, aucun moyen alternatif d'accéder au cluster.
  • Mise à niveau de la production : La mise à niveau des services individuels (par exemple Hive) est laborieuse à exécuter dans les environnements de cluster Dev, Test et Prod.
  • Cycle de déploiement lent : L'effet cumulé de ce qui précède a un impact sur la vitesse de préparation de l'infrastructure.

Les avantages d'AWS EMR pour vos clusters Hadoop et Spark

  • Calcul et stockage découplés
  • Reprise après sinistre intégrée
  • Clusters transitoires
  • Agilité de l'auto-scaling Clusters persistants
  • Tarification Spot pour la capacité EC2 inutilisée
  • Self-service avec AWS Service Catalog
  • Amélioration des performances de Spark
  • EMR Studio et EMR sur EKS
  • TCO maîtrisé
  • L'écosystème d'outils d'analyse le plus vaste du marché

Migrer vers EMR : quel parcours de migration ?

La plupart des entreprises qui entreprennent de migrer leurs clusters Hadoop on premise ou IaaS vers AWS, optent pour une des stratégies suivantes :

  • Lift and Shift. Stratégie la moins risquée, garantit que votre déploiement en cloud disposera de ressources égales ou supérieures à celles de votre environnement sur site actuel.
  • Worklaod fit. Il ne s'agit pas d'un mapping un-à-un avec les hôtes du cluster. Nous analysons la charge de travail sur une période considérée et fondons nos recommandations sur cette charge de travail.
    Nous déterminons l'affectation optimale des types de VM pour répondre à vos exigences tout en minimisant les coûts. Cette méthode est généralement la plus rentable. 
    La stratégie d'adaptation de la charge de travail permet également aux entreprises de choisir le bon compromis entre prix et performances dans le cloud.

Les étapes de la migration vers AWS EMR

schema approche migration EMR


La migration de clusters Hadoop vers AWS EMR est un processus complexe qui nécessite une planification minutieuse et une expertise technique approfondie. Voici les étapes clés à considérer lors de la migration :

Évaluation et analyse des clusters existants

La première étape consiste à évaluer en profondeur vos clusters Hadoop actuels. Cette phase implique :

  • La collecte de données sur l'utilisation des ressources
  • L'analyse des charges de travail
  • L'identification des dépendances entre les applications

Ces informations servent de base pour planifier efficacement la migration.

Définition de la topologie optimale

Une fois l'évaluation terminée, il est crucial de concevoir une topologie optimale pour votre nouvel environnement AWS EMR. Cette étape comprend :

  • La sélection des types d'instances EC2 appropriés
  • La configuration du stockage (EBS, S3, etc.)
  • La définition de l'architecture réseau (VPC, sous-réseaux, etc.)

L'objectif est de créer une infrastructure cloud qui répond à vos besoins spécifiques tout en tirant parti des avantages d'AWS EMR.

Élaboration du plan de migration

Un plan de migration détaillé est essentiel pour assurer une transition en douceur. Ce plan devrait inclure :

  • Un calendrier précis des étapes de migration
  • L'identification des risques potentiels et des stratégies d'atténuation
  • La définition des rôles et responsabilités de chaque membre de l'équipe

Un plan bien structuré aide à minimiser les temps d'arrêt et à gérer efficacement les ressources.

Cartographie des instances

La cartographie des instances implique de :

  • Identifier chaque composant de votre cluster Hadoop actuel
  • Déterminer l'équivalent le plus approprié dans l'environnement AWS EMR
  • Planifier la migration de chaque instance en tenant compte des interdépendances

Cette étape est cruciale pour assurer que tous les éléments de votre infrastructure sont correctement transférés vers le cloud.

Segmentation de la charge de travail des clusters

La segmentation des charges de travail permet d'optimiser les performances et les coûts dans le nouvel environnement. Cela implique :

  • L'analyse des différents types de charges de travail (par exemple, traitement par lots, requêtes interactives, streaming)
  • La conception de clusters EMR spécifiques pour chaque type de charge de travail
  • L'optimisation des ressources allouées à chaque cluster en fonction de ses besoins spécifiques

Une segmentation efficace peut conduire à une meilleure utilisation des ressources et à une réduction des coûts. 

Choisir le bon partenaire pour vous aider à migrer vers AWS EMR

Claranet est partenaire AWS Premier Consulting et Managed Service. Nos experts du cloud et de la Data vous accompagnent dans la migration de vos clusters Hadoop on-premise ou sur IaaS, vers AWS EMR. Nous accompagnons vos équipes dans leur montée en compétence, et elles peuvent se concentrer sur leur coeur de métier.