SlideShare una empresa de Scribd logo
1 de 31
Comment l’architecture événementielle 
révolutionne la communication dans le SI 
@MeeticTech
Euh… Vous êtes qui, d’abord ? 
Vincent LEPOT 
Architecte logiciel, R&D 
@neozibok 
Olivier DUFOUR 
Ingénieur, IT CRM
Comment l’architecture événementielle révolutionne la communication dans le SI 
➔ Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
➔ Notre architecture historique 
➔ Notre cible: tout est événement ! 
➔ Les points d’attention 
➔ Les next steps
Un peu de contexte fonctionnel 
(ou pourquoi vouloir passer plein de temps pour changer d’architecture 
événementielle ?)
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et puis un jour... 
Et sinon, on pourrait avoir une 
interaction avec une publication d’un 
membre ? 
Genre “liker” sa photo, son 
annonce, ses hobbies,... ?
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et puis un autre jour... 
Et moi, j’aimerais bien pouvoir 
améliorer les algorithmes de 
recommandation entre les profils en 
utilisant les interactions, les 
affichages, le sens du vent… en 
temps quasi réel, ce serait top !
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et si on en 
profiter pour aller 
même encore 
plus loin ?...
L’architecture historique 
“Ça me fait penser un peu à un vieux jeu : The Incredible Machine” - V.Lepot
L'architecture historique 
Site web 
Fetch 
Decide 
Execute 
WS 
Opt-ins 
Onlines 
Mobiles 
... 
Event type 
ID sender 
ID receiver 
Date/time
L'architecture historique 
Néanmoins, ça fonctionne très bien comme ça depuis des années ! 
Problèmes liés à cette solution 
➔ Home made et peu maintenue : les compétences techniques ont été perdues 
➔ Une souplesse… hum... limitée 
➔ Ne peut traiter que des interactions entre membres
Notre cible
Notre cible 
Visites Flashs 
Mises en 
favori 
Messages 
... 
Connexions Inscriptions 
Modifs de 
profil 
Géoloc’ 
... 
... 
... 
... 
... ... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
...
Notre cible 
Bus d’événements d’entreprise 
Sites web 
Tracking 
Apps mobile 
Notifications 
Moteurs de 
recherche 
Graphes 
Détection de 
Scoring et fraude 
algorithmie
Notre cible - Notre choix 
Apache Kafka 
High throughput Distributed Durable
Notre cible - Comment ça marche, Kafka ? 
Producteur 
Topic 
Partition Partition Partition 
Consommateur 
Consommateur 
Consommateur 
groupe A 
groupe A 
groupe A 
Consommateur 
groupe B 
Consommateur 
groupe B 
Consommateur 
groupe B
Les points d’attention
Les points d’attention 
✔ 
✘ 
Zookeeper fonctionne sur un principe de quorum, nécessitant un nombre 
impair de votants.
Les points d’attention 
Data center 1 Data center 2 
Zookeeper s’inscrit mal dans une configuration à 2 Datacenters Actif/Actif 
=> On a un risque en cas de perte d’un DC ou d’un split brain
Intégration avec PHP 
=> Interface REST pour les producteurs 
=> Scala/Akka pour les consommateurs 
Les points d’attention
Stabilité ? (protocole, plateforme,...) 
Les points d’attention 
Néanmoins: 
➔ pas de plantage depuis la mise en service 
➔ le cluster est toujours resté cohérent (pas de perte de données) même après avoir été “brusqué”
Les next steps
SI CRM
SPAM = envoi en masse d’offres sur tous les canaux 
CRM = envoi de la meilleur offre au meilleur moment sur le(s) meilleur(s) canal(aux) 
SI CRM
Intégration SI CRM 
Architecture actuel: l'évènement déclenche un envoi sur l’ensemble des canaux 
Email 
CRM MTA Email 
Sites web 
& 
Service client 
& 
Paiement 
filtrer les optouts 
A/B testing 
Capping 
BAL 
CRM MTA BAL 
MTA push 
Push
Faisons tomber 
les murs
Intégration SI CRM 
architecture cible: 
Bus 
d’événements 
(kafka) 
Sites web 
Paiement 
Service client 
event 
event 
event 
CRM 
Choix du canal de 
communication 
filtrer les optouts 
A/B testing 
Capping 
MTA 
Personnalisation 
envoi du 
message 
Existant 
A construire
Scoring et algorithmie 
=> Calcul distribué temps réel (ex: Spark) ou par traitement (ex: hadoop) 
➢ Segmentation & scoring (offres, packs, remises, appétence par canal) 
➢ Personnalisation et amélioration des résultats de recherche et des sélections de profils
Plein d’autres applications possibles... 
Indexation du moteur de recherche (ex:elasticsearch, splunk,...) 
Mise à jour de la base graphe (ex: neo4j) 
Détection de scam 
Tracking 
... 
!
Merci !

Más contenido relacionado

La actualidad más candente

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche DevopsRomain Chalumeau
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultDataWorks Summit
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)safwenbenfredj
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptxBechirElosma
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDBMongoDB
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Introduction à OpenStack
Introduction à OpenStackIntroduction à OpenStack
Introduction à OpenStackAnDaolVras
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Ahmed Slim
 
Les etapes de la migration vers le cloud hybride
Les etapes de la migration vers le cloud hybrideLes etapes de la migration vers le cloud hybride
Les etapes de la migration vers le cloud hybrideSylvain FRANCESCHI
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPTriyadadva
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sakka Mustapha
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Ines Ben Kahla
 
Cloud Computing presentation
Cloud Computing presentationCloud Computing presentation
Cloud Computing presentationSeif Ben Hammouda
 

La actualidad más candente (20)

Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptx
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Introduction à OpenStack
Introduction à OpenStackIntroduction à OpenStack
Introduction à OpenStack
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Les etapes de la migration vers le cloud hybride
Les etapes de la migration vers le cloud hybrideLes etapes de la migration vers le cloud hybride
Les etapes de la migration vers le cloud hybride
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Cloud Computing presentation
Cloud Computing presentationCloud Computing presentation
Cloud Computing presentation
 

Destacado

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache ZookeeperMichaël Morello
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignMichael Noll
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperRahul Jain
 
NON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueNON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueAssociation Vent des Sources
 
L Imposture Eolienne
L Imposture EolienneL Imposture Eolienne
L Imposture Eoliennecedpictures
 
Les sites de rencontres
Les sites de rencontresLes sites de rencontres
Les sites de rencontresNadir Rien
 
Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetictdiavet
 
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelAnaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelMarkelys Interactive, Propulseurs.com
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de MeeticCamille Durand
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en WallonieThe Smart Company
 
LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION Hajar Otmani
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormParis_Storm_UG
 
Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Michel GOUGOU
 
Distributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaDistributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaJay Kreps
 

Destacado (20)

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and Zookeeper
 
NON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueNON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion Publique
 
kafka
kafkakafka
kafka
 
L Imposture Eolienne
L Imposture EolienneL Imposture Eolienne
L Imposture Eolienne
 
Ben Broeckx
Ben BroeckxBen Broeckx
Ben Broeckx
 
Les sites de rencontres
Les sites de rencontresLes sites de rencontres
Les sites de rencontres
 
PréSentation Tpe
PréSentation TpePréSentation Tpe
PréSentation Tpe
 
Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetic
 
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelAnaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de Meetic
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en Wallonie
 
LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
 
Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...
 
Distributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaDistributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache Kafka
 

Similar a Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic

L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi TechnologiesGiroud Marie
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientBizagi
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
 
PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110Claire Bourget, MBA
 
Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Claire Bourget, MBA
 
Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020François
 
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...Soumaya Toumi
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream AnalyticsMichel HUBERT
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analyticsGeorges Damien
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...Oxalide
 

Similar a Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic (20)

2.0 TEchnologies
2.0 TEchnologies2.0 TEchnologies
2.0 TEchnologies
 
T
TT
T
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas client
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110
 
Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Présentation opinions web fr_071220110
Présentation opinions web fr_071220110
 
Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020
 
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream Analytics
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analytics
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
 

Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic

  • 1. Comment l’architecture événementielle révolutionne la communication dans le SI @MeeticTech
  • 2. Euh… Vous êtes qui, d’abord ? Vincent LEPOT Architecte logiciel, R&D @neozibok Olivier DUFOUR Ingénieur, IT CRM
  • 3. Comment l’architecture événementielle révolutionne la communication dans le SI ➔ Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie ➔ Notre architecture historique ➔ Notre cible: tout est événement ! ➔ Les points d’attention ➔ Les next steps
  • 4. Un peu de contexte fonctionnel (ou pourquoi vouloir passer plein de temps pour changer d’architecture événementielle ?)
  • 5. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie
  • 6. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et puis un jour... Et sinon, on pourrait avoir une interaction avec une publication d’un membre ? Genre “liker” sa photo, son annonce, ses hobbies,... ?
  • 7. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et puis un autre jour... Et moi, j’aimerais bien pouvoir améliorer les algorithmes de recommandation entre les profils en utilisant les interactions, les affichages, le sens du vent… en temps quasi réel, ce serait top !
  • 8. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et si on en profiter pour aller même encore plus loin ?...
  • 9. L’architecture historique “Ça me fait penser un peu à un vieux jeu : The Incredible Machine” - V.Lepot
  • 10.
  • 11. L'architecture historique Site web Fetch Decide Execute WS Opt-ins Onlines Mobiles ... Event type ID sender ID receiver Date/time
  • 12. L'architecture historique Néanmoins, ça fonctionne très bien comme ça depuis des années ! Problèmes liés à cette solution ➔ Home made et peu maintenue : les compétences techniques ont été perdues ➔ Une souplesse… hum... limitée ➔ Ne peut traiter que des interactions entre membres
  • 14. Notre cible Visites Flashs Mises en favori Messages ... Connexions Inscriptions Modifs de profil Géoloc’ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  • 15. Notre cible Bus d’événements d’entreprise Sites web Tracking Apps mobile Notifications Moteurs de recherche Graphes Détection de Scoring et fraude algorithmie
  • 16. Notre cible - Notre choix Apache Kafka High throughput Distributed Durable
  • 17. Notre cible - Comment ça marche, Kafka ? Producteur Topic Partition Partition Partition Consommateur Consommateur Consommateur groupe A groupe A groupe A Consommateur groupe B Consommateur groupe B Consommateur groupe B
  • 19. Les points d’attention ✔ ✘ Zookeeper fonctionne sur un principe de quorum, nécessitant un nombre impair de votants.
  • 20. Les points d’attention Data center 1 Data center 2 Zookeeper s’inscrit mal dans une configuration à 2 Datacenters Actif/Actif => On a un risque en cas de perte d’un DC ou d’un split brain
  • 21. Intégration avec PHP => Interface REST pour les producteurs => Scala/Akka pour les consommateurs Les points d’attention
  • 22. Stabilité ? (protocole, plateforme,...) Les points d’attention Néanmoins: ➔ pas de plantage depuis la mise en service ➔ le cluster est toujours resté cohérent (pas de perte de données) même après avoir été “brusqué”
  • 25. SPAM = envoi en masse d’offres sur tous les canaux CRM = envoi de la meilleur offre au meilleur moment sur le(s) meilleur(s) canal(aux) SI CRM
  • 26. Intégration SI CRM Architecture actuel: l'évènement déclenche un envoi sur l’ensemble des canaux Email CRM MTA Email Sites web & Service client & Paiement filtrer les optouts A/B testing Capping BAL CRM MTA BAL MTA push Push
  • 28. Intégration SI CRM architecture cible: Bus d’événements (kafka) Sites web Paiement Service client event event event CRM Choix du canal de communication filtrer les optouts A/B testing Capping MTA Personnalisation envoi du message Existant A construire
  • 29. Scoring et algorithmie => Calcul distribué temps réel (ex: Spark) ou par traitement (ex: hadoop) ➢ Segmentation & scoring (offres, packs, remises, appétence par canal) ➢ Personnalisation et amélioration des résultats de recherche et des sélections de profils
  • 30. Plein d’autres applications possibles... Indexation du moteur de recherche (ex:elasticsearch, splunk,...) Mise à jour de la base graphe (ex: neo4j) Détection de scam Tracking ... !