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

Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
ENSET, Université Hassan II Casablanca
 
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
 

La actualidad más candente (20)

Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Présentation de Microsoft Azure
Présentation de Microsoft AzurePrésentation de Microsoft Azure
Présentation de Microsoft Azure
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
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)
 
ITIL v3 : Présentation
ITIL v3 : PrésentationITIL v3 : Présentation
ITIL v3 : Présentation
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptx
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 

Destacado

L Imposture Eolienne
L Imposture EolienneL Imposture Eolienne
L Imposture Eolienne
cedpictures
 
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
 

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
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
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...
 

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

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
 
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
mastertic
 

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

T
TT
T
 
2.0 TEchnologies
2.0 TEchnologies2.0 TEchnologies
2.0 TEchnologies
 
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 ... !