Apache Spark sur Hortonworks ? Kubernetes pourrait être votre solution.

...

Depuis ses humbles débuts dans l'AMPLab de l'Université de Californie à Berkeley en 2009, Apache Spark est devenu l'un des principaux cadres de traitement distribué de données volumineuses dans le monde et c'est pourquoi nous allons en parler aujourd'hui...


Depuis ses humbles débuts dans l'AMPLab de l'Université de Californie à Berkeley en 2009, Apache Spark est devenu l'un des principaux cadres de traitement distribué de données volumineuses dans le monde et c'est pourquoi nous allons en parler aujourd'hui...


Au fil des ans, Hadoop, la plateforme open-source autrefois de haut vol, a donné naissance à de nombreuses entreprises et un écosystème de fournisseurs a émergé. On a longtemps cru que quelques grandes entreprises sortiraient du lot et, comme de juste, Hortonworks est entrée en bourse en 2014. Cloudera a suivi trois ans plus tard, mais le marché a ralenti et les deux sociétés ont annoncé aujourd'hui qu'elles fusionnaient dans le cadre d'une opération d'une valeur de 5,2 milliards de dollars, sur la base du cours à la clôture des marchés hier.


Une partie du problème avec Hadoop, même si tout le monde pouvait le télécharger, était sa complexité même. C'est là que des sociétés comme Hortonworks et Cloudera sont intervenues. Elles l'ont packagée pour les services informatiques qui souhaitaient bénéficier des avantages d'une plate-forme de traitement des données volumineuses, mais qui ne voulaient pas nécessairement construire Hadoop à partir de zéro.


Ces sociétés ont proposé différents moyens de s'attaquer à cette complexité, mais au fil du temps, avec toutes les solutions de big data basées sur le cloud, le déploiement d'un système Hadoop semblait futile, même avec l'aide de sociétés comme Cloudera et Hortonworks.


Combien cela coûte-t-il ?


Coût initial de la licence du logiciel Cloudera Enterprise de 180 634 $. En plus du coût initial de la licence, un coût annuel récurrent de 7 168 $ par nœud pour la maintenance et l'assistance permanentes a été comptabilisé.


Les dépenses de Cloudera ne se traduisent pas par une croissance. Alors que le chiffre d'affaires total de l'entreprise a considérablement augmenté l'année dernière grâce à l'acquisition d'Hortonworks, les nouvelles prévisions de Cloudera prévoient que le chiffre d'affaires récurrent annualisé, une mesure qui tient compte des contrats Hortonworks antérieurs à l'acquisition, n'augmentera que de 0 à 10 %. Dans la fourchette basse de cette fourchette, la croissance de Cloudera stagnera cette année malgré les dépenses considérables consacrées aux ventes et au marketing.


En général, si cinq utilisateurs LOB utilisent l'entrepôt de données sur un cloud public huit heures par jour pendant un mois, vous payez pour l'utilisation du service et les ressources matérielles cloud associées (calcul et stockage) pour cette période. Ainsi, par exemple, supposons que votre service d'entrepôt de données coûte 0,72 $ / heure par instance de calcul, que le matériel cloud associé coûte 1,44 $ / heure par instance de calcul et que le stockage coûte 15 $ / To par mois. Si les cinq utilisateurs LOB utilisent dix unités d'instance et 10 To de données, vous serez facturé comme suit :


- 1152 $ pour un logiciel d'entreposage de données = $((0,72 $ / heure x (8 heures x 5 jours x 4 semaines) x 10 instances)


- $2304 for the cloud hardware instances = $(($1.44 / hour x (8 hours x 5 days x 4 weeks) x 10 instances)


- 150 $ pour l'utilisation du stockage = 15 $ / TB / mois x 10 TB


La facture s'élève à 3606 $ par mois pour un petit nombre d'utilisateurs d'un service d'entrepôt de données de taille moyenne. Multipliez ce chiffre par le nombre typique d'utilisateurs (souvent des centaines) d'un entrepôt de données de qualité production. Il est clair que le service d'entrepôt de données a un impact direct et majeur sur les coûts totaux.


Qu'en est-il de Spark sur Kubernetes.


Si vous exécutez des pipelines de science des données et des flux de modèles d'apprentissage automatique pour obtenir une réelle valeur commerciale, cela signifie probablement que vous devez traiter beaucoup, beaucoup de données. Pour y parvenir de manière évolutive et pour gérer des étapes de calcul complexes sur une grande quantité de données (sans se ruiner), Kubernetes devient un choix de plus en plus populaire pour planifier les tâches Spark, par rapport à YARN.


Les avantages de l'utilisation de Spark sur Kubernetes.


Si vous exécutez des pipelines de science des données et des flux de modèles d'apprentissage automatique pour obtenir une réelle valeur commerciale, cela signifie probablement que vous devez traiter beaucoup, beaucoup de données. Pour y parvenir de manière évolutive et pour gérer des étapes de calcul complexes sur une grande quantité de données (sans se ruiner), Kubernetes devient un choix de plus en plus populaire pour planifier les tâches Spark, par rapport à YARN.


Kubernetes permet d'unifier la gestion de l'infrastructure sous un seul type de cluster pour plusieurs types de charges de travail. Vous pouvez exécuter Spark, bien sûr, mais aussi du code Python ou R, des notebooks et même des applications web. Dans le monde traditionnel de Spark sur YARN, vous devez avoir un cluster Hadoop dédié pour votre traitement Spark et un autre pour Python, R, etc.


La gestion des dépendances dans Hadoop prend beaucoup de temps : les paquets doivent exister sur tous les nœuds d'un cluster, ce qui rend difficile l'isolation (c'est-à-dire faire coexister différentes versions d'un même logiciel - comme TensorFlow 1.5 et TensorFlow 2.0 - sur le même nœud) et la mise à jour des environnements.


Si vous faites de l'IA d'entreprise et souhaitez commencer à déplacer le stockage des données vers le cloud (ou si vous avez déjà commencé à le faire), l'idée d'un verrouillage du fournisseur peut être très effrayante. C'est pourquoi aujourd'hui, de plus en plus d'entreprises adoptent une approche agnostique du cloud. Exécuter Spark sur Kubernetes signifie construire une fois et déployer partout, ce qui rend une approche agnostique du cloud évolutive.


Et la cerise sur le gâteau - c'est moins cher.


Ce qu'il y a de bien avec Kubernetes (pas seulement pour Spark, mais pour tout le reste), c'est que tous les grands fournisseurs de cloud computing proposent des services gérés pour fournir des clusters Kubernetes qui reposent sur ce qui fait l'intérêt du cloud computing, c'est-à-dire une infrastructure très souple et élastique qui peut être créée, détruite et mise à l'échelle facilement pour répondre aux exigences de la charge de travail.