Hadoop, initialement conçu pour traiter les (très) gros batchs, a été victime de son succès : il s'affirme de plus en plus comme la plateforme à tout faire du Big Data. On lui demande désormais de supporter plusieurs utilisateurs, les traitements interactifs, la ségrégation ou le partage de données entre entité, et, évidemment... la sécurité qui va avec ces nouveaux usages !
D'une solution de geeks, Hadoop est devenu une plateforme business stratégique pour les entreprises.
Pour aller chatouiller des Oracle ou des Teradata sur leur terrain, Hadoop a dû muscler son jeu avec de nouvelles fonctionnalités.
Ce petit déjeuner est l'occasion de faire un point sur les dernières évolutions d'Hadoop, l'état de l'art de sa mise en oeuvre chez nos clients, et sur les éléments clés de la roadmap des principales distributions.
5. 5
Multi-tenance ?
“
Un système multi-tenant est un système
hébergeant les données de plusieurs
”
entités et servant plusieurs clients
6. 6
Le multi-tenant comme flexibilité technique et humaine (1/3)
Pour la gestion des environnements
Cluster de
développement
Cluster de
qualification
Cluster de production
vs
Cluster multi-environnements sécurisé et isolé
7. 7
Le multi-tenant comme flexibilité technique et humaine (2/3)
Pour la gestion d’usages multiples
(production, reporting, exploration, …)
vs
Cluster contenant les
Cluster mixte données brutes & bacs à sable, urbanisé et sécurisé
Offre de services et d’outils d’exploration
données brutes
Bacs à sable pour
l’exploitation des données
8. 8
Le multi-tenant comme flexibilité technique et humaine (1/3)
Pour la gestion de la confidentialité par populations
0100
1011
vs
Cluster contenant les
données brutes
Cluster contenant les
données anonymisées
Cluster multi-environnements sécurisé et isolé
9. 9
Comment évaluer les capacités d’un système multi-tenant ?
Stockage élastique distribué
☆☆☆☆☆☆
Support de plusieurs workloads
☆☆☆☆☆☆
Partage des ressources
☆☆☆☆☆☆
Gouvernance des données
☆☆☆☆☆☆
Interopérabilité logicielle
☆☆☆☆☆☆
Exploitabilité
☆☆☆☆☆☆
Accumulation de grandes profondeurs
d’historique, données structurées, semi-structurées
et non structurées
TP, batch, interactif, analytique/machine
learning, temps réel (fast data)
Sécurité des données, gestion des
ressources de stockage et de calcul,
reporting analytique de l’usage
Catalogage des données,
traçabilité de la production des
datasets, gestion du cycle de vie
Support de SQL, connecteurs
xDBC, support natif par les
produits tiers (ETL, …)
Monitoring, outillage de la
configuration et des déploiements,
production de KPI, haute
disponibilité, PRA
10. 10
La maturité d’Hadoop (1/2)
Hadoop début 2013 …
Stockage élastique distribué
★★★★★★
Support de plusieurs workloads
★★★★★★
Partage des ressources
★★★★★★
Gouvernance des données
★★★★★★
Interopérabilité logicielle
★★★★★★
Exploitabilité
★★★★★★
11. 11
La maturité d’Hadoop (2/2)
… et Hadoop fin 2014
Améliorations sur tous les fronts !
Stockage élastique distribué
★★★★★★
Support de plusieurs workloads
★★★★★★
Partage des ressources
★★★★★★
Gouvernance des données
★★★★★★
Interopérabilité logicielle
★★★★★★
Exploitabilité
★★★★★★
12. 12
Point sur les principales d’améliorations d’Hadoop
13. 13
Les grands jalons d’Hadoop
Première version
stable en production
(v0.20)
Apparition de la
sécurité
Apparition de YARN
Haute dispo d’HDFS
Support officiel de
Windows
Requêtage interactif
Enrichissement de
l’écosystème
2011 2012 2013 2014
Machine à batch mono-application
Système multi-tenant
Plateforme d’entreprise
Hadoop 2.5
Multi-workload
14. 14
Dépasser MapReduce (1/4)
MapReduce, le modèle de programmation à l’origine d’Hadoop, s’avère
contraignant et sous-optimisé pour certains types de traitements
Map Reduce
Map Reduce
Map Reduce
Traitement unique
4 phases d’I/O
Traitement itératif
4 x N phases d’I/O
15. 15
Dépasser MapReduce (2/4)
Dans le contexte d’Hadoop 1,
MapReduce joue le rôle de…
A: Algorithme distribué
B: Framework de dév.
C: Plateforme de distribution
D: La réponse D
16. 16
Dépasser MapReduce (2/4)
Dans le contexte d’Hadoop 1,
MapReduce joue le rôle de…
A: Algorithme distribué
B: Framework de dév.
C: Plateforme de distribution
D: La réponse D
17. 17
Dépasser MapReduce (3/4)
AVANT : un algorithme/framework/runtime qui en fait trop
=> MapReduce tous les jours au menu
(lundi des patates, mardi des patates, mercredi des patates…)
Hive Pig …
MapReduce HBase
HDFS
18. 18
Dépasser MapReduce (4/4)
YARN : un middleware de grille pour favoriser l’émergence
d’autres outils et modèles de programmation
YARN
HDFS
Hive & Pig
Map
Reduce
Tez HBase Storm Spark …
19. 19
YARN et la gestion des ressources (1/2)
AVANT : une gestion des ressources de calcul
Slots de mappers
Slots de reducers
grossière par « slots » MapReduce
20. 20
YARN et la gestion des ressources (2/2)
YARN : une gestion des ressources physiques des
Coeurs de CPU
RAM
machines composant le cluster
Les avantages d’une gestion unifiée des ressources :
Configuration simplifiée (pool de ressources tangibles)
Meilleure utilisation des ressources par une gestion plus fine
Définition de SLA forts sur l’attribution des ressources
Comptabilité de l’usage réel, pour refacturation par exemple
23. 23
Toujours plus (trop) de SQL interactif
Le support du SQL-92 interactif est un enjeu majeur d’Hadoop pour :
L’interopérabilité avec le reste du SI (logiciels BI notamment)
L’ouverture des données en exploration à des utilisateurs finaux habilités
On attend des améliorations de performances importantes (latence ~ 1 s) en 2015
Rien d’étonnant donc à ce que la course pour le SQL interactif, commencée en
2013, ne soit pas terminée. De plus en plus d’acteurs sont en lice !
24. 24
Gouvernance : des données mieux maîtrisées
On observe une nette avance de Cloudera sur la gouvernance des données, les
autres éditeurs et la communauté se mettent en marche pour le rattraper.
Traçabilité de la production des datasets à des fins de cartographie ou d’audit
Gestion du cycle de vie des données par la mise en place de politiques de
purge ou l’application de SLAs spécifiques
Réplication de datasets sur site distant, dans les scénarios de PRA / PCA
25. 25
Connectivité et outillage (1/2)
Hadoop et son écosystème proposent de très nombreux points d’intégration
26. 26
Connectivité et outillage (2/2)
Les APIs évoluent pour faciliter l’intégration avec des outils tiers
Le support du langage SQL, déjà évoqué, s’améliore sans cesse même si la
multiplicité des acteurs complique les choix
L’exposition d’API REST/JSON par les outils de management est un autre
facteur important d’intégration dans un SI
Des éditeurs comme SAS ou Actian tirent parti de la flexibilité de YARN pour
proposer des moteurs d’exécution alternatifs sans mettre en péril le patrimoine
applicatif de leurs clients
Les interfaces pour utilisateurs finaux évoluent doucement… et commencent à offrir
un bon niveau de productivité
27. 27
La sécurité est aujourd’hui le principal sujet de préoccupation des entreprises qui
lancent des initiatives Big Data.
L’offre d’Hadoop se complète petit à petit mais reste encore assez technique :
Les éditeurs de distribution sont en avance sur la communauté. Des rachats récents
et les multiples initiatives (Argus, Sentry) empêchent pour l’instant l’émergence de
standards. Les habilitations SQL sont encore instables et mal intégrées avec les
ACL HDFS… Mais rien de bloquant, même pour des exigences fortes de sécurité.
En tout état de cause, la sécurité sur Hadoop reste un sujet complexe et peu
outillé en termes d’administration.
Sécurité
Authentification forte des
utilisateurs et services,
Intégration annuaire d’entreprise
Habilitations étendues
(ACL) sur HDFS, modèle de
sécurité RBAC
Extension partielle
des ACL aux couches
SQL et NoSQL
Chiffrement des
flux
28. 28
L’adoption d’Hadoop par un nombre croissant d’entreprises a suscité de
nombreuses initiatives visant à améliorer l’exploitabilité de la plateforme.
Exploitation
La plupart des services sont aujourd’hui en haute disponibilité, et les rolling
upgrades permettent de migrer des gros clusters sans interruption
La nécessité de reposer sur des standards d’exploitation (API REST, socles
de déploiement) a été bien comprise et la richesse des API va croissant
Les API de récupération de métriques, essentielles pour le reporting d’usage,
la refacturation ou le capacity planning, apparaissent
La stabilité des composants de l’écosystème est inégale en pratique
Maîtriser Hadoop et son écosystème reste difficile. Les évolutions sont fréquentes,
les régressions aussi, le débogage complexe, les paramètres de configuration
toujours plus nombreux… Avec Hadoop, une démarche DevOps est vitale
30. 30
Apache Hadoop est actuellement en version 2.5.1 (septembre 2014)
Les principales distributions d’Hadoop ne l’ont pas encore incluse :
Cloudera CDH 5.1.2 est basé sur Hadoop 2.3.0
Hortonworks HDP 2.1.5 est basé sur Hadoop 2.4.0
MapR 4.0.1 est basé sur Hadoop 2.4.1
Les version 2.5 et 2.6 apportent de nouvelles fonctionnalités et correctifs, en
préservant la compatibilité ascendante (même numéro majeur 2.x.y)
Le contenu approximatif de la version 2.6.0 est connu
http://wiki.apache.org/hadoop/Roadmap
Roadmap Hadoop
31. 31
Ce qui arrive
Infrastructure de sécurité
Externalisation du stockage des mots de passe dans la configuration
Externalisation du stockage des clefs privées
Améliorations de HDFS
Possibilité pour les applications
d’utiliser le stockage hétérogène
(affinité des datasets au medium
de stockage – disque dur ou SSD)
Apparition du stockage en
mémoire pour des accès à très
faible latence
Chiffrement transparent des
données HDFS
Améliorations de YARN
Partage dynamique des
ressources entre processus longs,
ponctuels et pics de demande
Amélioration de la haute
disponibilité
Labels : spécialisation de noeuds
pour des workloads particuliers
Support des conteneurs Docker
32. 32
Zoom : spécialisation des noeuds par les labels YARN
Coeurs de CPU
RAM
YARN Labels : une affinité d’affectation de ressources
plutôt qu’une ségrégation des noeuds du cluster
33. 33
Zoom : la roadmap de Mahout
Mahout est une librairie de machine learning fonctionnant avec MapReduce
Algorithmes de recommandation, de segmentation, d’optimisation, …
Les développements de Mahout se sont fortement ralentis
Les développeurs de Mahout ont annoncés une nouvelle version basée sur
Spark, afin d’améliorer les performances et d’offrir plus d’algorithmes
Certains algorithmes se prêtent en effet mal à une implémentation sur MapReduce
On peut s’interroger sur l’intérêt d’une telle démarche alors que Spark embarque
déjà des algorithmes de machine learning éprouvés. Spark lui-même connaît
actuellement un essor considérable et arrive prochainement sur Hadoop
Cela pose très clairement la question de la pérennité de Mahout
?
34. 34
Zoom : le SQL interactif avec Hive/Stinger et Impala
Impala
Mi 2014 : lancement des travaux de
portage sur Spark
Fin 2014 : améliorations sur les
performances, la scalabilité et support des
statistiques incrémentales
2015 : types de données étendus,
capacités analytiques étendues,
intégrations HBase et S3
Stinger
Fin 2014 : support des transactions ACID
pour insérer, modifier et supprimer des
données
Mi 2015 : temps de réponse inférieurs à la
seconde
Fin 2015 : capacités analytiques étendues,
introduction du machine learning pour
combiner analyses descriptives et
predictives
Malgré cette roadmap claire, le portage
annoncé sur Spark et l’intérêt porté par
Cloudera à Spark SQL posent des questions
sur la pérennité d’Impala
35. 35
La sécurité est encore un enjeu vital d’Hadoop
On a observé récemment des rachats et des partenariats stratégiques dans le
domaine de la sécurité
Cloudera : rachat de Gazzang et partenariat avec Intel (projet Rhino visant à exploiter
des instructions spécifiques du processeur)
Hortonworks : rachat de XA-Secure
Dans le domaine des habilitations unifiées (ACL), Cloudera et Hortonworks
sont en concurrence – projets respectifs Sentry et Argus (ex XA-Secure)
Dans le domaine du chiffrement des données, Cloudera se positionne, et des
éditeurs tiers continuent d’exister – Voltage, Protegrity, …
La situation future est donc encore loin d’être claire !!
Zoom : la sécurité
37. 37
Incontestablement, Hadoop a mûri, et continue de mûrir. Il s’enrichit des
retours d’expérience de ses utilisateurs, qui ne se cantonnent plus aux géants
du web
Monter un cluster Hadoop multi-tenant est aujourd’hui tout à fait possible,
même si on attend des améliorations sur quelques points :
La sécurité, sujet encore trop technique et demandant une grande expertise
La gouvernance des données, peu présente dans les distributions open source
L’écosystème s’enrichit aussi, parfois artificiellement du fait de la concurrence
entre les éditeurs de distributions. La partie n’est pas encore terminée,
notamment dans les domaines de la sécurité et du SQL interactif, sujets à fort
enjeu
Les distributions ne sont pas encore égales en termes de packaging et
d’intégration au reste du SI : les POC restent indispensables
Bilan
Accumulation de grandes profondeurs d’historique, données structurées, semi-structurées et non structurées
TP, batch, interactif, analytique/machine learning, temps réel (fast data)
Sécurité des données, gestion des ressources de stockage et de calcul, reporting analytique de l’usage
Catalogage des données, traçabilité de la production des datasets, gestion du cycle de vie
Support de SQL, connecteurs xDBC, support natif par les produits tiers (ETL, …)
Monitoring, outillage de la configuration et des déploiements, production de KPI, haute disponibilité, PRA
Stockage : force d’Hadoop depuis le début. Faiblesse du NN
Workloads : batch (MR), TP (HBase) et un peu de ML (Mahout usine à gaz)
Multi-tenant : possible mais la sécu reste peu adaptée (POSIX sur HDFS et c’est tout), FS et CS sur les traitements
Gouvernance : rien
Interop : support limité de SQL drivers instables
Exploitabilité : outillage très faible
Stockage : NN en HA
Workloads : enrichissement considérable, tout n’est pas encore YARNisé mais c’est imminent ; explosion de l’écosystème
Multi-tenant : YARN et les ACL viennent aider, encore qqs faiblesses sur la sécu dans les couches hautes (SQL et certains outils). Les outils non-cœur savent cohabiter sous plusieurs versions
Gouvernance : ça vient (Navigator, Falcon)
Interop : support accru de SQL, apparition du SQL sur HBase, drivers plus stables et intégrant la sécu + frontaux REST
Exploitabilité : outillage encore limité mais ça commence à faire le job. Inégal selon les distribs. De plus en plus de services en HA
+ modélisation par (clef, valeur) obligatoire
(vision cible, aujourd’hui tout n’est pas sur YARN)
Les avantages d’une gestion unifiée des ressources :
Configuration simplifiée (pool de ressources tangibles)
Meilleure utilisation des ressources par une gestion plus fine
Définition de SLA forts sur l’attribution des ressources
Comptabilité de l’usage réel, pour refacturation par exemple