SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
From Pull to Push
Moving from request-response to event-driven web clients

Paris TechTalk 13/01/2014
Agenda
 A multi-brand / multi-country / multi business galaxy
 A brief technical history
 Current technical solution
 What’s next? Innovation Day
 From Pull to Push!

From Pull to Push/ Paris TechTalk

2
A multi-brand / multi-country / multi business galaxy

1/14/2014

From Pull to Push/ Paris TechTalk

3
A brief technical history: isolated separated websites
BETCLIC.FR
(VB.Net WebFoms)

BETCLIC.COM
(VB.Net WebFoms)

BETCLIC.IT
(C# MVC)

COMMON

COMMON

COMMON

SPORTSBOOK (PRE LIVE
/ LIVE)

SPORTSBOOK (PRE LIVE
/ LIVE)

SPORTSBOOK (PRE LIVE
/ LIVE)

SPORTSBOOK (PRE LIVE
/ LIVE)

CASINO / LIVE CASINO /
GAMES

CASINO / LIVE CASINO /
GAMES

CASINO / LIVE CASINO /
GAMES / VEGAS

POKER

POKER

EXPEKT.COM
(Java)

TURF

POKER

14/01/2014

POKER MVC

POKER

From Pull to Push/ Paris TechTalk

#4
Current technical solution: mutualized shared code
BETCLIC.FR

BETCLIC.COM

BETCLIC.IT

EXPEKT.COM

GLOBAL (REGISTER / PAYMENT / MY ACCOUNT) – (Portable areas)

SPORTSBOOK (PRE LIVE / LIVE) - (ASP.Net MVC4)

POKER - (ASP.Net MVC4)

CASINO / LIVE CASINO / GAMES - (ASP.Net MVC4)
TURF - (ASP.Net
MVC4)

From Pull to Push/ Paris TechTalk

#5
Current technical solution: Onion Architecture
For a White-Label strategy
User Interface
Application Services
Domain Services

Domain
Model

From Pull to Push/ Paris TechTalk

#6
How do we move forward from there?
• We achieved:
– Global move to ASP.Net MVC / Onion architecture
Now easier to:
 Integrate new regulated countries
 Change sites’ look and feel

• But we still face the following issues due to the Polling
mechanism:
– Caching and latency: sport data is updated on the web site every 10
sec systematically.
– Scalability: bandwidth and server load
– User Experience could be improved to be more real-time (think sport
events) - bets can be rejected if odd has changed!
From Pull to Push/ Paris TechTalk

7
Innovation Day
• Event focused on Innovation
• Dev and Business mixed in small teams, for a 1-day contest
• Make a break in daily work with a fun and exciting event

• Winner: Real-time Sport broadcast
“Instead of polling Sport feed to display results on the Match page, build a
real-time push solution from the server to the clients, with very low latency and
if possible use this solution for odds update in real-time as well.”
From Pull to Push/ Paris TechTalk

8
Concept Architecture: Before

3rd Party
~20 sec latency

Latency 300 ms

Refresh every
10 sec average

Cache 2 sec

Cache 5 sec

From Pull to Push/ Paris TechTalk

9
Concept Architecture: After
< 1 sec latency

3rd Party

Latency 300 ms
Latency <10 ms

From Pull to Push/ Paris TechTalk

10
KPI – Watch of 1 football live for 90 mns for 1 user
Current Website

Push Website

Bandwidth

16 Mo

Bandwidth

50 Ko

Requests

5400 (almost 1
req/sec in average)

Requests

100

Bandwidth economy :
15,950 Mo per user (~99,7% savings)

User economy: less data on Mobile
Less load whatever the traffic = less servers!
Why we chose Redis
• Pub-Sub mechanism: an easy way to
broadcast something to all nodes (subscribers)
• Very low latency
• Strong scalability

From Pull to Push/ Paris TechTalk

12
PUSH – How it works?

WCF service
WCF routing service

From Pull to Push/ Paris TechTalk

13
PUSH – How it works on front side?

From Pull to Push/ Paris TechTalk

14
The Future of Push
• Many possible usage for us:
– Sport data update: odds, score boards
– Translation updates
– Technical data update: cache invalidation, realtime configuration changes
– Flash notifications for marketing purpose

From Pull to Push/ Paris TechTalk

15
Questions?

From Pull to Push/ Paris TechTalk

# 16
Find out more
• Our Blog:
https://techblog.betclicgroup.com/
Contacts
Frédéric RIVAIN
f.rivain@betclicgroup.com
@FredericRivain
Maxime SANGLAN
m.sanglan@betclicgroup.com
@__MaxS__

From Pull to Push/ Paris TechTalk
From Pull to Push/ Paris TechTalk

18

Weitere ähnliche Inhalte

Ähnlich wie Paris Tech Talk #5: From Pull to Push

SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile Possibilities
Sam Basu
 
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ Codetock
Sam Basu
 
SignalR Intro + WPDev
SignalR Intro + WPDevSignalR Intro + WPDev
SignalR Intro + WPDev
Sam Basu
 
Telestax TADHack Presentation
Telestax TADHack PresentationTelestax TADHack Presentation
Telestax TADHack Presentation
Alan Quayle
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
Quobis
 
AEON Generic
AEON GenericAEON Generic
AEON Generic
jgato
 

Ähnlich wie Paris Tech Talk #5: From Pull to Push (20)

SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile Possibilities
 
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ Codetock
 
FIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE Tech Summit - Stream Processing with Kurento Media ServerFIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE Tech Summit - Stream Processing with Kurento Media Server
 
SignalR Intro + WPDev
SignalR Intro + WPDevSignalR Intro + WPDev
SignalR Intro + WPDev
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Telestax TADHack Presentation
Telestax TADHack PresentationTelestax TADHack Presentation
Telestax TADHack Presentation
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open Sanca
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
Bitmovin LIVE Tech Talks: Analytics for Workflow Automation (ft. Touchstream ...
 
Workshop web rtc customers and use cases
Workshop web rtc customers and use casesWorkshop web rtc customers and use cases
Workshop web rtc customers and use cases
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
The future of multimedia communications and services: Kurento and it's role
The future of multimedia communications and services: Kurento and it's roleThe future of multimedia communications and services: Kurento and it's role
The future of multimedia communications and services: Kurento and it's role
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
AEON Generic
AEON GenericAEON Generic
AEON Generic
 
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTCKamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
 
Recording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsRecording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streams
 

Mehr von Betclic Everest Group Tech Team

Mehr von Betclic Everest Group Tech Team (20)

Mini training - Reactive Extensions (Rx)
Mini training - Reactive Extensions (Rx)Mini training - Reactive Extensions (Rx)
Mini training - Reactive Extensions (Rx)
 
Mini training - Moving to xUnit.net
Mini training - Moving to xUnit.netMini training - Moving to xUnit.net
Mini training - Moving to xUnit.net
 
Mini training - Introduction to Microsoft Azure Storage
Mini training - Introduction to Microsoft Azure StorageMini training - Introduction to Microsoft Azure Storage
Mini training - Introduction to Microsoft Azure Storage
 
Akka.Net
Akka.NetAkka.Net
Akka.Net
 
Mini training- Scenario Driven Design
Mini training- Scenario Driven DesignMini training- Scenario Driven Design
Mini training- Scenario Driven Design
 
Email Management in Outlook
Email Management in OutlookEmail Management in Outlook
Email Management in Outlook
 
Mini-Training: SSO with Windows Identity Foundation
Mini-Training: SSO with Windows Identity FoundationMini-Training: SSO with Windows Identity Foundation
Mini-Training: SSO with Windows Identity Foundation
 
Training - What is Performance ?
Training  - What is Performance ?Training  - What is Performance ?
Training - What is Performance ?
 
Mini-Training: Docker
Mini-Training: DockerMini-Training: Docker
Mini-Training: Docker
 
Mini Training Flyway
Mini Training FlywayMini Training Flyway
Mini Training Flyway
 
Mini-Training: NDepend
Mini-Training: NDependMini-Training: NDepend
Mini-Training: NDepend
 
Management 3.0 Workout
Management 3.0 WorkoutManagement 3.0 Workout
Management 3.0 Workout
 
Lean for Business
Lean for BusinessLean for Business
Lean for Business
 
Short-Training asp.net vNext
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNext
 
Training – Going Async
Training – Going AsyncTraining – Going Async
Training – Going Async
 
Mini-Training: Mobile UX Trends
Mini-Training: Mobile UX TrendsMini-Training: Mobile UX Trends
Mini-Training: Mobile UX Trends
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Mini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation DemystifiedMini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation Demystified
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
AngularJS Best Practices
AngularJS Best PracticesAngularJS Best Practices
AngularJS Best Practices
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Paris Tech Talk #5: From Pull to Push

  • 1. From Pull to Push Moving from request-response to event-driven web clients Paris TechTalk 13/01/2014
  • 2. Agenda  A multi-brand / multi-country / multi business galaxy  A brief technical history  Current technical solution  What’s next? Innovation Day  From Pull to Push! From Pull to Push/ Paris TechTalk 2
  • 3. A multi-brand / multi-country / multi business galaxy 1/14/2014 From Pull to Push/ Paris TechTalk 3
  • 4. A brief technical history: isolated separated websites BETCLIC.FR (VB.Net WebFoms) BETCLIC.COM (VB.Net WebFoms) BETCLIC.IT (C# MVC) COMMON COMMON COMMON SPORTSBOOK (PRE LIVE / LIVE) SPORTSBOOK (PRE LIVE / LIVE) SPORTSBOOK (PRE LIVE / LIVE) SPORTSBOOK (PRE LIVE / LIVE) CASINO / LIVE CASINO / GAMES CASINO / LIVE CASINO / GAMES CASINO / LIVE CASINO / GAMES / VEGAS POKER POKER EXPEKT.COM (Java) TURF POKER 14/01/2014 POKER MVC POKER From Pull to Push/ Paris TechTalk #4
  • 5. Current technical solution: mutualized shared code BETCLIC.FR BETCLIC.COM BETCLIC.IT EXPEKT.COM GLOBAL (REGISTER / PAYMENT / MY ACCOUNT) – (Portable areas) SPORTSBOOK (PRE LIVE / LIVE) - (ASP.Net MVC4) POKER - (ASP.Net MVC4) CASINO / LIVE CASINO / GAMES - (ASP.Net MVC4) TURF - (ASP.Net MVC4) From Pull to Push/ Paris TechTalk #5
  • 6. Current technical solution: Onion Architecture For a White-Label strategy User Interface Application Services Domain Services Domain Model From Pull to Push/ Paris TechTalk #6
  • 7. How do we move forward from there? • We achieved: – Global move to ASP.Net MVC / Onion architecture Now easier to:  Integrate new regulated countries  Change sites’ look and feel • But we still face the following issues due to the Polling mechanism: – Caching and latency: sport data is updated on the web site every 10 sec systematically. – Scalability: bandwidth and server load – User Experience could be improved to be more real-time (think sport events) - bets can be rejected if odd has changed! From Pull to Push/ Paris TechTalk 7
  • 8. Innovation Day • Event focused on Innovation • Dev and Business mixed in small teams, for a 1-day contest • Make a break in daily work with a fun and exciting event • Winner: Real-time Sport broadcast “Instead of polling Sport feed to display results on the Match page, build a real-time push solution from the server to the clients, with very low latency and if possible use this solution for odds update in real-time as well.” From Pull to Push/ Paris TechTalk 8
  • 9. Concept Architecture: Before 3rd Party ~20 sec latency Latency 300 ms Refresh every 10 sec average Cache 2 sec Cache 5 sec From Pull to Push/ Paris TechTalk 9
  • 10. Concept Architecture: After < 1 sec latency 3rd Party Latency 300 ms Latency <10 ms From Pull to Push/ Paris TechTalk 10
  • 11. KPI – Watch of 1 football live for 90 mns for 1 user Current Website Push Website Bandwidth 16 Mo Bandwidth 50 Ko Requests 5400 (almost 1 req/sec in average) Requests 100 Bandwidth economy : 15,950 Mo per user (~99,7% savings) User economy: less data on Mobile Less load whatever the traffic = less servers!
  • 12. Why we chose Redis • Pub-Sub mechanism: an easy way to broadcast something to all nodes (subscribers) • Very low latency • Strong scalability From Pull to Push/ Paris TechTalk 12
  • 13. PUSH – How it works? WCF service WCF routing service From Pull to Push/ Paris TechTalk 13
  • 14. PUSH – How it works on front side? From Pull to Push/ Paris TechTalk 14
  • 15. The Future of Push • Many possible usage for us: – Sport data update: odds, score boards – Translation updates – Technical data update: cache invalidation, realtime configuration changes – Flash notifications for marketing purpose From Pull to Push/ Paris TechTalk 15
  • 16. Questions? From Pull to Push/ Paris TechTalk # 16
  • 17. Find out more • Our Blog: https://techblog.betclicgroup.com/ Contacts Frédéric RIVAIN f.rivain@betclicgroup.com @FredericRivain Maxime SANGLAN m.sanglan@betclicgroup.com @__MaxS__ From Pull to Push/ Paris TechTalk
  • 18. From Pull to Push/ Paris TechTalk 18