HDInsight : Le Big Data selon Microsoft

Microsoft a lancé fin mars sa première preview publique de HDInsight sur Azure. Initialement limitée aux résidents des Etats-Unis, elle est ouverte depuis quelques temps au reste du monde. C'est  l'occasion de faire un rapide état des lieux du produit, et de voir ce que nous réserve Microsoft pour son entrée sur le marché du Big Data.

HDInsight en deux mots

Commençons par un point de vocabulaire. Sous la dénomination "HDInsight" se cachent en fait 2 produits :

  • Microsoft HDInsight Server Aussi appellé Hortonworks Data Plateform (HDP), il s'agit d'une version d'Hadoop installable sur Windows Serveur (2008 & 2012), permettant d'intégrer la plateforme à son propre cluster physique, on-premise [lien].
  • Windows Azure HDInsight Azure HDInsight est la version SaaS de la plateforme, qui tourne sur le cloud Azure de Microsoft.

HDInsight est une intégration de la plateforme HortonWorks (version 1.1.0 à ce jour) au sein de Windows. Cette distribution a été développée conjointement par Microsoft et HortonWorks. On y retrouvera les composants classiques d'une distribution Hadoop, à savoir :

ComposantVersion
Apache Hadoop1.0.3
Apache Hive0.9.0
Apache Pig0.9.3
Apache Sqoop1.4.2
Apache Oozie3.2.0
Apache HCatalog0.4.1
Apache Templeton0.1.4

Il est à noter que Microsoft contribue activement au projet Apache, en soumettant ses travaux à la communauté open-source. On retrouve d'ailleurs Chris Douglas et Ivan Mitic, deux développeurs Microsoft, dans la liste des contributeurs Hadoop.

Le service est actuellement en preview publique, aucune date de sortie officielle n'a encore été dévoilée. la roadmap initiale prévoyait une release publique cet été 2013, on peut donc s'attendre à une sortie relativement proche.

L'intégration à l'écosystème Azure

HortonWorks étant une distribution basée sur Java, dans quelle mesure Microsoft a-t-il pu intégrer le produit dans son écosystème ?

Un rapide coup d’œil à ce schéma nous apporte une vision globale de l'écosystème HDInsight sur Azure. Les briques violettes sont les composants ajoutés par Microsoft au produit.

HDInsight Overview

Javascript

Le portail de Management Azure propose une console Javascript, qui permet d'interagir avec le cluster directement depuis l'interface Web. Ces interactions se feront sous la forme de scripts Pig ou de requêtes Hive.

C# F# .NET

il est désormais possible de développer ses jobs MapReduce et d'effectuer des requêtes Hive (Linq to Hive) en .Net. Le SDK de développement (HadoopSDK) est disponible sous codeplex ou directement sous la forme de NuGet dans Visual Studio.

Parallel Data Warehouse / Polybase

Polybase permet de réconcilier des données issues d'une base SQL Server relationnelle avec des données issues du cluster Hadoop. L'utilisateur pourra alors interroger ses données via SQL traditionnel, qui pourront agréger des informations issues d'un traitement Hadoop.

Les briques d'intégration

Les différentes briques de connectivité permettent au cluster Hadoop de s'interfacer, avec les systèmes de workflow d'Azure, ou avec SQL Server.

Microsoft met particulièrement en avant son intégration très aboutie avec Excel. Le nouveau connecteur ODBC permet de rapidement brancher son Excel sur une base Hive, offrant à l'utilisateur un service de Self Service BI directement dans un outil qu'il connait bien.

Des connecteurs permettent aussi de s'interfacer avec d'autres outils de BI (PowerPivot / SQL Server Analysis Service / etc.)

Monitoring & System Center

Une interface Web de monitoring est disponible après le déploiement d'un cluster sur Azure. A l'image des derniers produits Microsoft, l'interface est claire, simple et efficace.

System Center 2012 se voit lui aussi offrir la possibilité de monitorer un cluster HDInsight (dans sa version SP1 Beta)

Azure Data Marketplace

Des connecteurs seront disponibles prochainement, permettant de publier sa plateforme Azure sur ce marché, et de monétiser son service de Software As A Service.

Azure Storage Vault

A l'instar d'Amazon, un déploiement de cluster sur Azure n'a pas vocation à perdurer dans le temps. Aussi, Microsoft offre la possibilité d'interfacer ses données HDFS avec le système de stockage Azure (Azure Blobs), permettant de conserver ses données dans le temps, et de les réutiliser une fois le cluster détruit.

Active Directory

Dernier point, HDInsight permet d'intégrer simplement un cluster à son environnement existant en tirant parti de la puissance d'Active Directory au produit.

Quid de la tarification ?

La tarification d'un cluster HDInsight est calculée sur un tarif à l'heure, en fonction de la puissance des instances actives. A savoir qu'un cluster est composé d'un nœud principal et de plusieurs nœuds de calcul qui pourront avoir une puissance (et donc un tarif) différents.

A titre informatif, les tarifs actuels de la preview sont les suivants :

Type de noeudTarif
Noeud principal (dans une très grande taille (A4) d'instance)0,2384€ par heure
Noeud de calcul (dans une grande taille (A3) d'instance)0,1192€ par heure

Attention, les prix affichés ci-dessus sont les tarifs "preview", qui comprennent une remise de 50%. A titre de comparaison à l'heure actuelle, si l'on prends la tarification Amazon EMR, il faudrait débourser 0,2427€ pour un noeud de grande taille, et 0,4855€ pour un noeud de très grande taille. Une fois la remise de 50% terminée, la solution Microsoft dispose donc toujours d'un léger avantage tarifaire.

Pour aller plus loin

Si vous disposez d'un compte Azure, vous pouvez vous inscrire à la preview. Attention, l'activation n'est pas immédiate, il nous a fallu environ 3 semaines d'attente.

Une autre alternative est de télécharger directement la distribution HDP, que vous pourrez installer directement sur une  machine physique. Vous n'aurez bien sur pas accès aux composants "Cloud" décrit dans cet article, mais cela vous permet d'appréhender la plateforme.

Conclusion

Une fois n'est pas coutume, Microsoft semble entrer dans un nouveau domaine en respectant les règles et usages établis. En partant d'une distribution connue et déjà bien implémentée, Microsoft a su y ajouter les différentes briques qui vont faciliter son intégration dans un environnement Windows.

On s'attardera donc sur HDInsight pour :

  • La facilité de mise en place d'un cluster pour une société habituée à l'écosystème Microsoft, tant pour l'administration que l'utilisation
  • La possibilité de faire des développements en .NET, pour les équipes teintées Microsoft
  • La consultation des données directement au sein d'Excel, pour les analystes non développeurs

Pas de grande révolution, mais une solution très complète, simple à mettre en place, et utilisable par le plus grand nombre.

A suivre dans quelques temps, lors de la sortie officielle, qui permettra de juger de la stabilité et de la performance de la solution !