SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Paris Tech Talk #5: From Pull to Push

SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSam Basu
 
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSam Basu
 
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 ServerFIWARE
 
SignalR Intro + WPDev
SignalR Intro + WPDevSignalR Intro + WPDev
SignalR Intro + WPDevSam Basu
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Telestax TADHack Presentation
Telestax TADHack PresentationTelestax TADHack Presentation
Telestax TADHack PresentationAlan Quayle
 
Meteor Workshop - Open Sanca
Meteor Workshop - Open SancaMeteor Workshop - Open Sanca
Meteor Workshop - Open SancaPaulo Hecht
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
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...VMware Tanzu
 
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 ...Bitmovin Inc
 
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 casesDouglas Tait
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014Victor Pascual Ávila
 
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...Amir Zmora
 
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...ITCamp
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUppersideConferences
 
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 roleLuis Lopez
 
AEON Generic
AEON GenericAEON Generic
AEON Genericjgato
 
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 streamsLuis Lopez
 

Similaire à 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
 

Plus de Betclic Everest Group Tech Team

Mini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation DemystifiedMini-training: Personalization & Recommendation Demystified
Mini-training: Personalization & Recommendation DemystifiedBetclic Everest Group Tech Team
 

Plus de 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
 

Dernier

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Dernier (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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