Cloud et implémentation Hadoop : état des lieux
Nos confrères de SearchCloudComputing ont réalisé un panorama des implémentations d’Hadoop, de Mapreduce et de Hive chez les grands fournisseurs de Paas du marché que sont Amazon, Google, IBM, Microsoft et Heroku. Verdict : Microsoft et Amazon sortent du lot.
Le Big Data a déjà marqué de son empreinte le marché IT. C'est notamment visible chez les acteurs du Paas, tels que Amazon, Google, Heroku, IBM et Microsoft dont les offres ont largement occupé le haut de l’affiche. Toutefois, dans ce contexte, il est difficile de savoir quel fournisseur propose l’implémentation la plus complète d’Apache Hadoop dans un cloud public.
Clairement, le framework de la fondation Apache, ainsi que HDFS, MapReduce, Hive, Pig ont gagné en popularité dans l’analytique Big Data, alors que les entreprises sont de plus en plus adeptes des modèles Paas pour entreposer leurs données. A cela s’ajoute un niveau de maturité d’Hadoop, dont la sortie de la version 1.0 a poussé le framework dans les environnements de production liés à l’analytique.
Du côté des entreprises, le gain est également évident. Cette capacité à créer des clusters Hadoop hautement scalables sur un modèle OnDemand, combiné à des traitements MapReduce, a permis aux entreprises de réduire leurs dépenses en matériels et serveurs à demeure, dont l’utilisation n’était que sporadique. En conséquence, Hadoop s’est imposé chez les fournisseurs de Paas, comme Amazon, Google, IBM et Microsoft, qui ont décidé de pré-packager Hadoop et MapReduce sous la forme de services pré-configurés.
AWS Elastic MapReduce
Amazon Web Services a dégainé le premier en avril 2009, avec Elastic MapReduce (EMR). EMR prend en charge le provisioning de cluster Hadoop, exécute des jobs flow et transfère les données entre Amazon EC2 et Amazon S3. EMR intègre également Apache Hive, un service bâti sur Hadoop pour l’entrepôt de données.
EMR supporte la tolérance de panne pour les noeuds esclaves. Amazon conseille de seulement exécuter Task Instance Group dans des instances ponctuelles (instances spots) afin de bénéficier de coûts réduits, tout en assurant la haute disponibilité. Toutefois, AWS n’a ajouté le support des instances ponctuelles qu’en août 2011.
Pour EMR, Amazon pratique un surcoût de 0,015 à 0,50 dollars par heure sur ses offres de petites instances et celles dédiés au calcul à hautes performances (Cluster Compute Eight Extra Large d’EC2). Selon AWS, une fois les traitements démarrés, EMR prend en charge le provisioning des instances EC2, les paramètres de sécurité, la configuration d’Hadoop, la collecte des logs, le monitoring ainsi que les problématiques hardware, telles que la désactivation automatique des instances en échec des job flow. AWS a récemment annoncé l’accès gratuit à Cloudwatch pour EMR.
Google App Engine - MapReduce
Selon Mike Aizatskyi, développeur chez Google, toutes les équipes du groupe utilisent MapReduce, depuis sa création en 2004. Google a publié des API AppEngine - MapReduce, sous la forme de versions expérimentales des API MapReduce destinées à supporter les développements réalisés avec Hadoop 0.20 sur Google App Engine. Les équipes de Google ont ensuite publié des API en mars 2011 pour proposer un type de système de fichiers pour le stockage Blob. Elles ont également amélioré la fonction User-Space Shuffler.
L’API Google AppEngine - MapReduce permet de manipuler les opérations de type Map, Shuffle et Reduce via l’ API Pipeline. Toutefois, Google n’a toujours pas modifié le statut, toujours au stade expérimental de son API. AppEngine - Mapreduce adresse davantage les problématiques des développeurs Java et Python que celles des statisticiens Big Data ou encore les spécialistes de l’analytique. Shuffler est également limité à 100 Mo de données, ce qui ne le fait pas véritablement entrer dans la vision Big Data. Pour de plus gros volume de données, un accès vers BigShuffler peut être demandé auprès de Google.
Treasure Data Hadoop, add-on pour Heroku
L’add-on Treasure Data Hadoop pour Heroku permet d’utiliser Hadoop et Hive pour analyser les logs et les événements des applications hébergées - une des principales fonctions de la technologie. Heroku propose également d’autres add-on Big Data, comme l’implémentation de Apache CouchBase (Cloudant), MongoDB, MongoHQ, Redis To Go, et Neo4, notamment. AppHarbor, présenté par certains comme le Heroku pour .NET propose également une série d’add-on pour Cloudant, MongoLab, MongoHQ et Redis To Go, ainsi que des add-ons pour RavenHQ. Ni Heroku ni AppHarbor ne proposent des implémentations globales d’Hadoop.
IBM Apache Hadoop pour SmartCloud
L’aventure de l’analytique Hadoop d’IBM a débuté en octobre 2011 avec InfoSphere BigInsights Basic pour IBM SmartCloud Enterprise. BigInsight Basic, qui peut gérer jusqu’à 10 To de données, est également disponible gratuitement pour les systèmes Linux. BigInsights Enterprise reste en revanche payant. Ces deux versions intègrent Apache Hadoop, HDFS, et le framework MapReduce, ainsi qu’un ensemble de sous-projets Hadoop. L’édition Enterprise, quant à elle, comprend une plug-in pour Eclipse pour créer des formats texte, la découverte de données formatées (comme celles d’un tableur) ainsi qu’une connectivité JDBC à Netezza et DB2. Ces deux éditions embarquent également des outils d’installation et d’administration.
Les spécifications techniques fournies par IBM restent toutefois floues quant aux versions de BigInsights présentes dans le cloud public.
Microsoft Apache Hadoop sur Windows Azure
Microsoft s’est associé à Hortonworks, une spin-off de Yahoo spécialisée dans les services Hadoop, pour implémenter Hadoop sur Azure (HoA - Hadoop on Azure). Depuis le 14 décembre 2011, HoA est disponible en version CTP, mais uniquement sur invitation.
Avant de prendre le train Hadoop en marche, Microsoft a développé Dryad, une base de données de type graphe développée par Microsoft Research, et sur l’add-on High-Performance Computing (LINQ to HPC) pour gérer l’analytique Big Data. La CTP de HoA donne accès à un choix de clusters Hadoop pré-définis (de Small, pour 4 noeuds et 4 Go de stockage, à Extra Large, 32 noeuds et 16 To), pour simplifier les opérations MapReduce.
Microsoft a développé plusieurs projets autour de Hadoop / MapReduce, comme le calcul de la valeur de pi ou encore une méthode de développement portant sur l’utilisation de C# pour écrire un programme MapReduce pour le streaming de données.
L’éditeur de Redmond fournit également de nouvelles bibliothèques Javascript, afin de faire du langage un outil de programmation pour Hadoop. Une façon de lever les barrières à l’adoption de Hadoop et MapReduce en permettant de développer des programmes MapReduce en Javascript et de les exécuter dans le navigateur. La CTP comprend également un add-on à Hive pour Excel qui permet aux utilisateurs d’interagir avec les données dans Hadoop. Les utilisateurs peuvent ainsi réaliser des requêtes Hive afin d’analyser les données non structurées d’Hadoop au sein de l’interface d’Excel. Cette version inclut également un pilote ODBC Hive qui permet d’intégrer Hadoop aux autres outils de BI de Microsoft.
HoA devrait être mis à jour lors d’une évolution d’Azure prévue à la mi-2012. Elle devrait ainsi ouvrir le programme CTP à davantage de développeurs. Cette version devrait également inclure l’implémentation d’Hadoop pour Windows Server 2008 R2 pour les cloud privé et les environnements hybrides. Comme peuvent le laisser penser les dernières réductions tarifaires d’Azure, Microsoft entend placer, d’un point du vue prix, HoA en frontal à Elastic MapReduce.
Le Big Data, au delà de Hadoop et MapReduce
Comme l’indique James Kobielus de cabinet d’étude Forrester, «si Hadoop et MapReduce seront des frameworks clés de la sphère Big Data, ils ne seront toutefois pas les seuls». Par exemple, Microsoft travaille également à un projet baptisé Cloud Numerics (en CTP) pour .NET, pour le calcul intensif sur un large volume de données distribuées dans Windows Azure. Les équipes de recherche ont également publié le code source pour implémenter l’analyse de données Excel dans Windows Azure, au sein de son projet Daytona.
Les fournisseurs de Paas qui permettront d’automatiser l’implémentation de Hadoop, MapReduce et Hive bénéficieront du soutien d’un grand nombre de «data scientists» et des acteurs de l’analyse de données. Pouvoir placer Excel en front-end d’application de BI donne à Microsoft et à son offre Big Data une longueur d’avance. Amazon et Microsoft proposent pour l’heure les services Hadoop les plus automatisés et complets.
Traduit de l'anglais par la rédaction