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

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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 connectorsNanddeep Nachan
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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 WorkerThousandEyes
 
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 Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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 SavingEdi Saputra
 
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 AmsterdamUiPathCommunity
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
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, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
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...DianaGray10
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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...
 
+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...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

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