SlideShare a Scribd company logo
1 of 25
BETFAIR'S SITE REBUILD:
FAST - WE PROMISE
Tim Morrow
THE EXCHANGE
OUR PRODUCTS
INTERESTING STATS


 3.7M+          140           17
 registered
               locations   languages
 customers


 £300M         £68M        30,000
  funds on    2010 World   bets placed
   deposit     Cup Final   one minute
WHAT’S THE PROBLEM?
 We haven’t invested in website performance

 “during the world cup the
  site has run like treacle”
                               “the site is frequently slow
                                 and freezes too often”



  “very slow and glitchy”

                                  “I find Betfair slow”
OUR CUSTOMER COMMITMENT
        http://bit.ly/bf-cc
PERFORMANCE
HIERARCHY OF WEBSITE NEEDS




              It’s Cool

             It’s Useful

              It’s Fast


             It Works
OUR PLAN

• Deliver incrementally
• Build a complete slice of functionality
• Broaden the offering

          First Public           Diverted
           Delivery             Customers         More Sports
Private
 POC               Invitations to      All languages
                    Customers                                   New Features




 April      August September October November December            January
 2011                                                              2012
TECHNOLOGY / ARCHITECTURE




                   Testable
                    Layer


                   Testable
                    Layer
CONCURRENCY MODEL
                  dispatch service
                        calls




    rendering     controller’s job
   starts early        done
PERFORMANCE OPTIMIZATIONS


  •   Reduce HTTP requests
  •   Minify and compress assets
  •   Split requests across domains
  •   Use cookie-free CDN hostnames
  •   Flush the buffer early
  •   Defer loading of content
  •   Etc…
SLAS

•   3 second full page load
•   For 95% of customers
•   Under peak loads
•   With no errors
•   Over typical bandwidth
•   From common browsers
PERFORMANCE MESUREMENT
LOG MINING

Access logs: User agents, response
times, payload sizes
Performance logs: Timings of code paths and
dependent service calls
Correlation IDs to trace requests across tiers
GRAPHS
SERVER-SIDE WATERFALL GRAPH
FLUSHING THE BUFFER




  Networking device thwarting flush()

  Magic setting:
  httpcompressonpush=1
RESULT
SO WHAT CHANGED OVERALL?
CUSTOMER FEEDBACK


       “Faster”
                         “Seems faster and more
                             user friendly”




 “page loaded quicker”
                         “The pages seem to load
                               a lot faster”
RESULTS
  • Sessions that bet:
    up 2 percentage points


  • Bounce rate: improved 40%


  • Page views: 2x


  • 1% opt-out rate
WHAT HAVE WE LEARNED?



• Performance improvements are tangible

• Measurably improves the bottom line

• There’s lots more to do
THANK YOU
HTTP://WWW.BETFAIR.JOBS/

More Related Content

What's hot

PuppetCamp SEA 1 - The State of Puppet
PuppetCamp SEA 1 - The State of PuppetPuppetCamp SEA 1 - The State of Puppet
PuppetCamp SEA 1 - The State of PuppetWalter Heck
 
LAMP Management with Virtualmin
LAMP Management with VirtualminLAMP Management with Virtualmin
LAMP Management with VirtualminJoe Ferguson
 
SCCI'15 - Devology - Session 6 - Servers and PHP
SCCI'15 - Devology - Session 6 - Servers and PHPSCCI'15 - Devology - Session 6 - Servers and PHP
SCCI'15 - Devology - Session 6 - Servers and PHPSCCI-CU
 
Make Local WordPress Development Simple
Make Local WordPress Development SimpleMake Local WordPress Development Simple
Make Local WordPress Development SimpleWP Engine
 
Reckon APS PM10 presentation at Reckon Group Conference
Reckon APS PM10 presentation at Reckon Group ConferenceReckon APS PM10 presentation at Reckon Group Conference
Reckon APS PM10 presentation at Reckon Group ConferenceReckon
 
BizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk360
 
Developing Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingDeveloping Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingMatt Banks
 
Desktop server presentation
Desktop server presentationDesktop server presentation
Desktop server presentationKen Kramer
 
Web Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser WorldWeb Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser WorldCompuware APM
 
Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018WordCamp Sydney
 
Microsoft smooth straming on iis7
Microsoft smooth straming on iis7Microsoft smooth straming on iis7
Microsoft smooth straming on iis7Andrew Zak
 
Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)Aleks (Aleksander) Shklyar
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available phpGraham Weldon
 
Unite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens GheerardynUnite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens GheerardynN Core
 
Building Faster Locally with Local - Ben Turner
Building Faster Locally with Local - Ben TurnerBuilding Faster Locally with Local - Ben Turner
Building Faster Locally with Local - Ben TurnerWP Engine
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerManageEngine, Zoho Corporation
 
Web service的自动化测试 soap ui的介绍
Web service的自动化测试 soap ui的介绍Web service的自动化测试 soap ui的介绍
Web service的自动化测试 soap ui的介绍bqconf
 

What's hot (20)

Cloud Orchestration is Broken
Cloud Orchestration is BrokenCloud Orchestration is Broken
Cloud Orchestration is Broken
 
Single page App
Single page AppSingle page App
Single page App
 
PuppetCamp SEA 1 - The State of Puppet
PuppetCamp SEA 1 - The State of PuppetPuppetCamp SEA 1 - The State of Puppet
PuppetCamp SEA 1 - The State of Puppet
 
LAMP Management with Virtualmin
LAMP Management with VirtualminLAMP Management with Virtualmin
LAMP Management with Virtualmin
 
SCCI'15 - Devology - Session 6 - Servers and PHP
SCCI'15 - Devology - Session 6 - Servers and PHPSCCI'15 - Devology - Session 6 - Servers and PHP
SCCI'15 - Devology - Session 6 - Servers and PHP
 
Make Local WordPress Development Simple
Make Local WordPress Development SimpleMake Local WordPress Development Simple
Make Local WordPress Development Simple
 
Reckon APS PM10 presentation at Reckon Group Conference
Reckon APS PM10 presentation at Reckon Group ConferenceReckon APS PM10 presentation at Reckon Group Conference
Reckon APS PM10 presentation at Reckon Group Conference
 
BizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk Server Performance Tips
BizTalk Server Performance Tips
 
Developing Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingDeveloping Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy Coding
 
Desktop server presentation
Desktop server presentationDesktop server presentation
Desktop server presentation
 
React101 v3
React101 v3React101 v3
React101 v3
 
Web Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser WorldWeb Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser World
 
Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018Modern Local Environment for WordPress in 2018
Modern Local Environment for WordPress in 2018
 
Microsoft smooth straming on iis7
Microsoft smooth straming on iis7Microsoft smooth straming on iis7
Microsoft smooth straming on iis7
 
Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)Page Experience Update SMX 2020 (Aleks Shklyar)
Page Experience Update SMX 2020 (Aleks Shklyar)
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available php
 
Unite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens GheerardynUnite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens Gheerardyn
 
Building Faster Locally with Local - Ben Turner
Building Faster Locally with Local - Ben TurnerBuilding Faster Locally with Local - Ben Turner
Building Faster Locally with Local - Ben Turner
 
Improving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications ManagerImproving end user experience using ManageEngine Applications Manager
Improving end user experience using ManageEngine Applications Manager
 
Web service的自动化测试 soap ui的介绍
Web service的自动化测试 soap ui的介绍Web service的自动化测试 soap ui的介绍
Web service的自动化测试 soap ui的介绍
 

Viewers also liked

Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5
Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5
Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5Magnolia
 
How To Build A Website That Drives Results
How To Build A Website That Drives ResultsHow To Build A Website That Drives Results
How To Build A Website That Drives ResultsEric Pratt
 
Proposal to Rebuild New Orleans_Post Katrina
Proposal to Rebuild New Orleans_Post KatrinaProposal to Rebuild New Orleans_Post Katrina
Proposal to Rebuild New Orleans_Post KatrinaCBV Enterprises
 
Simple Steps to Great Web Design
Simple Steps to Great Web DesignSimple Steps to Great Web Design
Simple Steps to Great Web DesignMatthew Smith
 
Website 101: Build and Rebuild
Website 101: Build and RebuildWebsite 101: Build and Rebuild
Website 101: Build and RebuildSteve Matthews
 
Website Redesign Presentation
Website Redesign PresentationWebsite Redesign Presentation
Website Redesign Presentationjoanat
 
How to Prepare a Website Redesign Proposal
How to Prepare a Website Redesign ProposalHow to Prepare a Website Redesign Proposal
How to Prepare a Website Redesign ProposalSay WOW Marketing
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website SitemapJeannie Melinz
 

Viewers also liked (9)

Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5
Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5
Upgrade or Rebuild: The World Steel Associations Upgrade to Magnolia 4.5
 
How To Build A Website That Drives Results
How To Build A Website That Drives ResultsHow To Build A Website That Drives Results
How To Build A Website That Drives Results
 
Proposal to Rebuild New Orleans_Post Katrina
Proposal to Rebuild New Orleans_Post KatrinaProposal to Rebuild New Orleans_Post Katrina
Proposal to Rebuild New Orleans_Post Katrina
 
Simple Steps to Great Web Design
Simple Steps to Great Web DesignSimple Steps to Great Web Design
Simple Steps to Great Web Design
 
Website 101: Build and Rebuild
Website 101: Build and RebuildWebsite 101: Build and Rebuild
Website 101: Build and Rebuild
 
Website Redesign Presentation
Website Redesign PresentationWebsite Redesign Presentation
Website Redesign Presentation
 
How to Prepare a Website Redesign Proposal
How to Prepare a Website Redesign ProposalHow to Prepare a Website Redesign Proposal
How to Prepare a Website Redesign Proposal
 
Sample Website Proposal Presentation
Sample Website Proposal PresentationSample Website Proposal Presentation
Sample Website Proposal Presentation
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website Sitemap
 

Similar to Betfair's Site Rebuild Delivers Faster Performance

Martin Anderson - Fast We Promise
Martin Anderson - Fast We PromiseMartin Anderson - Fast We Promise
Martin Anderson - Fast We Promisebloodredsun
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeFastly
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NETDavid Giard
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudRoman Weber
 
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile appsMugunth Kumar
 
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...VMware Tanzu
 
DevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot ProjectDevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot ProjectThomas Shaw
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceBrian Culver
 
Architecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web APIArchitecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web APISHAKIL AKHTAR
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?NGINX, Inc.
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web PerformanceAtlassian
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)Brian Culver
 
AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)Amazon Web Services
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Brian Culver
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesHoward Greenberg
 
Scalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the TradeScalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the TradeC4Media
 
Building real-time data analytics on Google Cloud
Building real-time data analytics on Google CloudBuilding real-time data analytics on Google Cloud
Building real-time data analytics on Google CloudJonny Daenen
 

Similar to Betfair's Site Rebuild Delivers Faster Performance (20)

Martin Anderson - Fast We Promise
Martin Anderson - Fast We PromiseMartin Anderson - Fast We Promise
Martin Anderson - Fast We Promise
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloud
 
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
 
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
 
DevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot ProjectDevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot Project
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
 
Architecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web APIArchitecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web API
 
Scalability and performance for e commerce
Scalability and performance for e commerceScalability and performance for e commerce
Scalability and performance for e commerce
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web Performance
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)AWS Summit London 2014 | Dynamic Content Acceleration (300)
AWS Summit London 2014 | Dynamic Content Acceleration (300)
 
CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
 
Scalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the TradeScalable Microservices at Netflix. Challenges and Tools of the Trade
Scalable Microservices at Netflix. Challenges and Tools of the Trade
 
Building real-time data analytics on Google Cloud
Building real-time data analytics on Google CloudBuilding real-time data analytics on Google Cloud
Building real-time data analytics on Google Cloud
 
Location-independent SharePoint
Location-independent SharePointLocation-independent SharePoint
Location-independent SharePoint
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day 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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Betfair's Site Rebuild Delivers Faster Performance

Editor's Notes

  1. Introduction:Tim Morrow, Head of Channels at BetfairIn June of this year Betfair published a customer commitment to ensure greater transparency and clarity on key aspects of our service, including performance and reliability.We published this despite the fact that our existing website was failing to live up to those promisesWe had just embarked on a site rebuild to deliver on those promises. I’m here to tell you about our journey so far.
  2. What do we do?Betfair is a betting company.We’re one of the world's largest international online sports betting providers.We have offices in the UK, Ireland, US, Romania, Australia, Malta and Gibraltar.Whether your sport is Football, Tennis, Horse Racing, Greyhounds, Cricket, Cycling, Darts, Bowls, Yachting or Netball... you can find a market to bet on.
  3. We’re a little different to most other betting companies. We pioneered the first successful betting exchange in 2000.Our betting exchange allows customers tobet for an outcome – Backing it - or bet against an outcome – Laying it.You choose your own odds, enter your stake. Betfair will match it with other customer’s odds and stakes, or offer it to be matched.Our platform permits trading whereby customers can place bets then profit by closing out the bet at a later stage at more favorable odds. This is especially compelling when betting during a horse race or event as prices are changing 10 times per second.
  4. We have a number of channels for placing bets.Desktop website and optimized websites for various mobile devicesNative iPhone, iPad and Android applicationsBet from TVWe have a developer API with an ecosystem of 3rd party products built on it
  5. Some facts and figures. Across all our products:We have over 3.7M registered customersThey use our products from over 140 countries and territories.Our web product is translated into 17 languages.We have over £300M of customers funds on depositLast year, £68m was traded on 2010 World Cup Final – that’s a single matchDuring the grand national 30,000 transactions were placed in a single minute.
  6. Betfair has enjoyed rapid growth since it was launched in 2000:expanding its product features, customer base and geographic reach.Added complexities due to regulatory compliance.These complexities lead to risks during software deployments that can cause downtime and outagesIts simpler than that: We haven’t invested in website performance.We provide a number of avenues for customers to provide us feedback, whether through our community forums or feedback links.Our customers are happy to provide us their opinions.“during the world cup the site has run like treacle”“The site is frequently slow and freezes too often.”“very slow and glitchy”“I find Betfair slow in refresh and placing bets”
  7. In June 2011 we published our customer commitment: to ensure greater transparency and clarity on key aspects of our service.It covers five major topics. The fifth relates to Our Product & Technology.We committed to maintain targets around quality and reliability of our products and services.* A target uptime of 99.9%* A target full page load time of 3 seconds for 95 percent of customers with average bandwidth.http://bit.ly/bf-cc
  8. We started publishing our monthly progress. This makes me cringe. 14s full page load for a landing page.Those wild see-sawing are actually related to partial failures on the page; assets timing out.We’re measuring this via Keynote:Internet Explorer 8From locations that represent 70% of our customer baseOver last-mile DSL connectionsMeasuring the download and execution time of every asset
  9. We wanted to go back to basics. Much like Maslow’s hierarchy of human needs, we defined our website’s Hierarchy of Needs.At the bottom are the most basic level of needs: Necessities. These must be met before we can pursue higher level needs.It works: Our site is available. Customers can log in and place bets. No “closed” signs on the front door. We are open for business 24/7.It’s fast: This is a basic need. The other stuff doesn’t matter if your customers are giving up in frustration.Its useful: OK, so now we can start optimizing for utility; shortening user journeys, optimizing the checkout process, improving your search featureIts cool: Only then should you do the cool stuff, the flash, the confectionary.
  10. We defined out plan. It was to deliver incrementally. We had to show progress.We opted to build a vertical slice of functionality; a fully functioning experience for one of the most popular sports: Football. Customers would be able to log in and bet.April: Proof of concept; August: We made it publicly accessbile; September: We invited customers to use the new site, gathered feedbackOctober: We began to divert customers onto the new site. We build a “throttle” that allows us to control how many customers we test into the new experience.We plan to expand the product; translated into all 17 languages; offering the same breadth of sports.Finally we can begin to deliver new features. 
  11. Jump in to look at our stack. Its pretty typical:Decoupled the front-end web application from back-end web services.Allows us to independently test each component and layer, to ensure they operate within SLAWe also performance test the entire stack, simulating production loads and stressing and soaking the systemsOur goal of performance testing really just to assert a variance of each build over a baseline; the most realistic environment is… production.
  12. >> We decompose each request into the data fetches required to render the responseWe dispatch those concurrently and insert Future results into the model>> Controller hands off to the framework to render the view>> The view layer begins rendering immediately, blocking on data only when required and flushing completed responsesBy ensuring that there are only low-latency data requests required to render the visual header, we can improve perceived page load time.
  13. Performance Optimizations.I don’t need to go into too much detail; you can read all this stuff for yourself. In a nutshell, its all about:Making fewer RequestsFor less stuffThen refine – browser optimizations, user experience optimizationsReducingHTTP Requests:Javascript combo-loading; CSS combined; image spritesMinify and compress all assets: JS, CSSSplit requests across domains: Separate domains for JS, CSS, product imagesUse a CDN hostname on a separate domain from the main page to avoid shipping cookies on asset requests; particular bad for us as our legacy apps on same domain write a TON of cookiesFlush the buffer early to allow the browser to start rendering soonerDefer loading of certain content that’s not needed for initial page view.
  14. You need an SLA; Get it agreed with your product stakeholders; We published ours in our customer commitment.It ensures performance engineering receives priority, over and above some other feature as you can point to it and measure against it.This is ours (actually, its more detailed than this, you can read it online):Write it down, put it somewhere accessible, whether that's on a wiki or on a wall.The devil is in the details – Bandwidth? Where are most of your customers? What’s average? For us, it seems in the UK 4Mbs is common now.What are the most common browsers? IE8+, Firefox, Chrome for us.
  15. So how do we measure?* Get a webpagetest private instance: It provides a consistent mechanism to test your developed applications simulating bandwidth in real browsers: Enables a very short develop, test, measure cycle.In production:Synthetic clients: Real Browser, last-mile on real connections from around the world. Provides a consistent measurement that can be used to identify trends and availability issues.Real User measurements: Instrument your pages and beacon the results back to your analytics tool. Your analytics library might provide this already. We use Navigation Timing Spec where available or fallback to cookies
  16. Logs offer rich seams of information. We use Splunk to aggregate and index or data. It allows us to access all logs from all hosts in a single place and join data together.Your Access logs may already provide valuable information like server response times and payload sizesWe record performance information in our web logs and can mine the data to identify poorly performing requests. Each unique web requests generates a correlation id that we pass to all dependent services so that we can trace log entries across every tier. This is great for going back in time or correlating data between independent services.
  17. Obligatory graph slide; we’ve implementedOpenTSDB to capture time series data.There are lots of different ways of consuming the data; we can import log files, poll JMX statistics or receive events.We can combine many different types of metrics from our applications, operating systems and networking infrastructure:Http request rates and latencies across our entire estateHigher-level event rates like markets opened/closed, bets placedCache sizes and hits or missesQueue sizes and produce or consume ratesWe can then mix and match on a single graph, segmenting by clusters, hosts etc.It invaluable for spotting trends and correlations
  18. More on performance logs:Consider a page that has numerous server-side requests to assemble the data.>> Each of these calls are executed concurrently where there are no dependencies.For a sampling of requests we capturing timing information and emit it as log events.>> In order to visualize it, we transform it into HAR format. We can then utilize any HAR viewer to render the graph; allows us to identify which calls are are being made in what order and what’s taking the most time.We’re working on a utility to automatically produce these graphs for slow running requests as a way of identifying bottlenecks.
  19. I mentioned earlier that we flush the buffer early. We do this to emit the complete visual header to start rendering soonerItem 1 is the initial HTTP request/response. Why is TTFB – the green color – so long and content download short?Answer:Turns out a load balancer is buffering the response and only sending the data when it has 8Kb. We worked with our Citrix engineers to identify the correct behavior and issue the fix.It was literally a one line change.
  20. We actually only fixed this yesterday.Now, rather than first byte essentially being delayed by the entireserver-side response time, its must shorter.On slower pages it has pulled in start-render time.Its just something important to keep in mind: There’s lots off stuff between your users and your web servers which may be conspiring against you. Need to examine the whole stack.
  21. Here’s a landing page comparison measured from IE8 in London over DSL line, full page load time.Top = old landing page; Bottom = 12 or so seconds to 3 / 3.5 seconds. So we’re not quite there yet.
  22. Our customers took notice too. Remember that earlier feedback?
  23. But what does this mean for our business?Sessions that bet. This is a key conversion rate for us. Essentially those who purchased something from us.Up 2 percentage points. That has a direct correlation to revenue.Bounce rate for our landing page improved by 40%. Perhaps that’s the appeal of a “beta” site. Maybe there’s a lesson there.Twice as many page views per visitWhile we offer an opt-out link, only 1% have chosen to do so.
  24. Performance improvements are tangible:* You can measure itCustomers can feel itPerformance improves the bottom lineWe’re not done – and will never be done. It’s a continual effort.
  25. That’s the end of this chapter of our journey.Thank you for allowing me the time to share it.