The playground

More information here

Le passé, le présent et l’avenir du streaming : Flink, Spark et le gang

Spark: L’outil Big data du jour devient automatisé Le streaming est l’une des principales tendances que nous suivons. Le dernier épisode de cette saga a été l’ajout de capacités ACID à Apache Flink, tel que couvert par Tony Baer de ZDNet la semaine dernière. Cette annonce, faite à Flink Forward à Berlin, a servi de […]

Spark: L’outil Big data du jour devient automatisé

Le streaming est l’une des principales tendances que nous suivons. Le dernier épisode de cette saga a été l’ajout de capacités ACID à Apache Flink, tel que couvert par Tony Baer de ZDNet la semaine dernière. Cette annonce, faite à Flink Forward à Berlin, a servi de toile de fond à des conversations approfondies que nous avons eues avec des dirigeants, des ingénieurs et des utilisateurs, ce qui peut aider à mettre les choses en contexte.

Pour commencer, comme l’a noté Baer, il existe une API pour Flink qui peut être téléchargée depuis GitHub, mais elle ne fonctionne que pour un seul flux. La version avec le « runner » pour plusieurs flux parallèles fait partie de la plate-forme data Artisans – l’incarnation commerciale de Flink.

Aussi: Apache Flink prend ACID

Ce n’est pas du tout surprenant, car data Artisans, le fournisseur qui prend en charge Flink et emploie une grande partie de ses contributeurs à temps plein a une politique de base ouverte. C’est une politique très courante dans le monde open source, et que le principal concurrent de data Artisans / Flink, Databricks / Apache Spark, prend également.

De combien de moteurs de streaming le monde a-t-il besoin ?

Comme dirait Baer, de combien de moteurs de streaming le monde a-t-il besoin? Bonne question, qui peut également être reformulée en deux questions de suivi: Combien de fournisseurs peuvent survivre en faisant ce que font les artisans de données et les Databricks, ou comment choisissez-vous un moteur de streaming?

La réponse à la première question est exactement deux, à ce stade: data Artisans et Databricks. Un troisième concurrent, DataTorrent, et son moteur Apex Apache, que nous avons couvert il y a quelque temps, se sont redressés. Il semble que le message inhabituel « nous ferons tout, y compris en nous appuyant sur le moteur de notre concurrent » était un dernier effort pour rester à flot en adoptant une approche plus adaptée à un conseil qu’à un fournisseur derrière un projet open source.

Aussi: Les applications en temps réel vont dans des endroits

De toute façon, cela signifie qu’il y a un certain nombre d’orphelins dans l’espace des solutions de streaming open source: des plates-formes sans fournisseur pour fournir un support, une version durcie et orienter leur développement. Outre Apex, la liste comprend également Apache Storm et Apache Samza. Storm est plus âgée et plus mature que Samza, et bénéficie également du soutien de Hortonworks.

Le cœur de métier de Hortonworks n’est cependant pas le streaming, et si vous souhaitez utiliser Storm et avoir des niveaux de support d’entreprise, il semble que vous devrez également opter pour l’ensemble de la pile Hortonworks. Nous ne savons pas si Hortonworks a l’intention d’intervenir pour Storm, mais nous n’avons pas de tels signaux à ce stade.

Il existe également un certain nombre de solutions à source fermée pour le streaming, mais il semble qu’elles aient une bataille difficile à mener. Ils peuvent avoir leurs mérites et leur clientèle à démontrer, mais une grande partie de cela est basée sur des contrats et des relations héritées. Dans un monde « essayez avant d’acheter », au rythme rapide et open source, et un marché en expansion pour le streaming, gagner de nouveaux contrats ne sera pas facile.

Aussi: L’Avenir du Futur: Spark et Big Data Insights

Et puis nous avons aussi les fournisseurs de cloud, bien sûr: AWS avec Kinesis, Google Cloud avec Dataflow et Azure avec Stream Analytics. Le motif habituel joue ici aussi. Ces moteurs peuvent ou non être ceux qui conviennent le mieux à vos besoins. Mais si vous utilisez déjà AWS, Google Cloud ou Azure, il vous sera très facile et tentant de vous inscrire et d’intégrer leur solution de streaming dans vos applications.

Adoption et concurrence des moteurs de streaming

En discutant du marché du streaming avec Kostas Tzoumas, PDG de data Artisans, Tzoumas a été clair sur ce qu’il considère comme la plus grande concurrence pour les artisans de données: l’Héritage. Tzoumas s’est délibérément abstenu de comparer les artisans de données / Flink à d’autres options, se concentrant plutôt sur leurs efforts pour tendre la main et se développer en termes d’évangélisation et de ventes.

Son point de vue a résonné avec de nombreux collaborateurs de Flink Forward, y compris certains des clients les plus médiatisés des artisans de données. Les délégués ayant beaucoup d’expérience pratique technique d’Alibaba, Netflix et Microsoft, ont tous souligné que changer de paradigme et apprendre à travailler avec le streaming est quelque chose qu’ils doivent maîtriser et passer le mot chaque jour.

Aussi : Nous interrompons cette révolution: Apache Spark change les règles

Certains de leurs commentaires portaient sur des choses telles que la nécessité de faire fonctionner le streaming avec toute la fiabilité qui est donnée dans le monde des lots, d’apprendre à programmer de manière plus réfléchie par rapport aux applications mono-thread et d’élever le niveau d’abstraction. les artisans de données semblent être à l’écoute, à en juger par ce qui est à son ordre du jour.

flink7.jpg

L’évolution du streaming. (Image: Data Artisans)

Nous avons déjà mentionné l’introduction d’ACID pour répondre à la fiabilité, qui était en grande partie motivée par les exigences des grandes organisations financières et de commerce électronique qui utilisent la plate-forme data Artisans. Un autre pari majeur pour Flink est l’avancée vers l’unification des API pour le streaming et le batch, sur lequel Alibaba a travaillé et est sur le point d’être intégré dans la base de code Flink.

Aussi: Aperçu du Sommet Spark 2018: Mettre l’IA en avant

Flink dispose d’un certain nombre d’API – flux de données, ensembles de données, fonctions de processus, API de table et, depuis peu, SQL, que les développeurs peuvent utiliser pour différents aspects de leur traitement. Idéalement, les gens aimeraient utiliser SQL pour tout. Cela simplifierait non seulement la vie des développeurs, mais rendrait également Flink plus accessible pour les utilisateurs non techniques.

La nécessité de rendre les artisans de données durables peut également avoir quelque chose à voir avec d’autres choix faits. Le fait que la plate-forme data Artisans ne soit pas disponible dans le cloud, par exemple, est une différence frappante avec Databricks, qui vante une stratégie cloud uniquement pour sa propre plate-forme, jouant la carte iPaaS.

Mais lorsque vos principaux clients sont des mastodontes avec leur propre infrastructure, comme cela semble être le cas pour les artisans de données, leur proposer une version cloud est moins logique. Cela peut également expliquer le commentaire de Tzoumas lorsqu’il a dit qu’ils ne concurrencent pas beaucoup Databricks / Spark. Non pas que Flink ne soit pas attrayant pour les petites organisations, mais l’histoire d’utiliser Flink plus un support et des conseils, plutôt que la plate-forme data Artisans, était celle que nous avons entendue le plus souvent de leur part.

Data Artisans et Apache Flink à l’avenir

Les versions (jumelles) 1.4 et 1.5 d’Apache Flink étaient du genre à introduire des améliorations quelque peu peu glorieuses, peu populaires, mais très nécessaires. Ils concernaient tout le déploiement de la production et les options de stabilité, et cela signifiait qu’une certaine rétrocompatibilité devait être rompue. C’est pourquoi nous avons entendu de nombreux utilisateurs rouler encore avec 1.3, même si les améliorations apportées à 1.6, principalement dans le streaming SQL, ont tenté certains de franchir le pas et de mettre à niveau.

Aussi: Les 10 principaux frameworks Big data utilisés dans l’entreprise TechRepublic

Maintenant, ce travail difficile et peu glorieux est pour la plupart terminé. Une partie importante que data Artisans vise à traiter est la conteneurisation de Flink, ou la possibilité de l’utiliser comme bibliothèque avec Docker et Kubernetes, dans ce qu’ils appellent le mode Réactif.

D’autres éléments à l’ordre du jour pour un avenir proche incluent la mise à l’échelle automatique, les jointures de tables avec versions temporelles (une fonctionnalité indispensable dans un monde où les données sont constamment mises à jour) et SQL pour l’analyse de modèles. SQL a été étendu avec la capacité MATCH_RECOGNIZE à cette fin, et data Artisans veut apporter cela à Flink.

Une autre direction intéressante est l’ouverture à Python via Apache Beam. Bien que Beam et Flink soient conceptuellement assez proches, comme l’a noté Stephan Ewen, directeur technique chez Data Artisans, Flink n’avait jusqu’à présent aucun avantage tangible à récolter en étant aligné avec Beam. Mais le support de Python change cela.

Beam introduit un framework à travers lequel des API dans des langages autres que Java peuvent être prises en charge, et Python est le premier. Selon les gens d’Apache Beam, cela se fait sans compromis insupportables en termes de vitesse d’exécution par rapport à Java – quelque chose comme 10% dans les scénarios qu’ils ont pu tester.

Cela signifie que Flink peut désormais également être programmé en Python via Beam, ce qui est plutôt important étant donné la prévalence de Python pour la science des données et les scénarios d’apprentissage automatique. Ewen l’a reconnu, notant cependant qu’il n’est pas sur le point d’abandonner Java de sitôt.

Également: Hortonworks dévoile une feuille de route pour rendre Hadoop natif dans le cloud

Databricks /Spark, d’autre part, prend en charge Python depuis un certain temps, ce qui peut aider à expliquer ce que nous percevons comme une large différenciation entre les deux plates-formes: Flink est davantage utilisé comme un moteur à état de traitement rapide, ACID renforçant sa position de hub d’intégration pour l’entreprise en temps réel, tandis que Spark est davantage utilisé comme un épine dorsale de la science des données et de l’analyse, l’intégration de Python et de notebook contribuant à sa popularité.

Bien sûr, il y a des chevauchements, et les choses ne sont pas aussi claires que cela. Dans tous les cas, il convient de noter que le support ACID de data Artisans est breveté et fait partie de la plate-forme data Artisans, ce qui signifie que contrairement au streaming avec état, Databricks ne pourra pas l’introduire aussi facilement dans sa propre plate-forme. Quoi qu’il en soit, Databricks et Spark ont progressé sur leur propre trajectoire, et nous en partagerons plus à ce sujet bientôt.

Couverture précédente et connexe :

Cisco plie Spark dans Webex comme Webex Teams

Webex Teams prend toutes les fonctionnalités de collaboration dans Cisco Spark et les offre aux côtés de fonctionnalités basées sur la plate-forme de conférence Webex.

Cette start-up pense qu’elle sait comment accélérer l’analyse en temps réel sur des tonnes de données

Donner un sens aux grandes quantités de données collectées par les entreprises est un problème pour les entreprises qui, selon Iguazio, est fissuré.

Apache Flink: Le monde a-t-il besoin d’un autre moteur de streaming ?

Alors qu’il n’a pas encore attiré de support commercial de masse critique, Apache Flink promet de combler une lacune non comblée par les autres moteurs de streaming open source: l’ajout de replay et de rollback à votre application de streaming.

Aller avec le flux: Le traitement de données sans limites avec Apache Flink

Le streaming est très actif dans le big data, et Apache Flink est l’une des technologies clés dans cet espace. Qu’est-ce qui le rend différent, quelles nouvelles fonctionnalités sont incluses dans sa dernière version et quel est son rôle dans la conquête du monde du big data?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.