SlideShare a Scribd company logo
1 of 40
Download to read offline
BETFAIR'S SITE REBUILD:
FAST - WE PROMISE
Martin Anderson
LJC Open Conference 2011
2
THE EXCHANGE




 3
OUR PRODUCTS




 4
INTERESTING STATS


 3.7M+               140            17
 registered
                    locations    languages
 customers


 £300M          30,000           88,000
     funds on   bets placed     http requests
      deposit   one minute       per second

 5
WHAT’S THE PROBLEM?
              We lost focus on our website

 “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”


 6
OUR CUSTOMER COMMITMENT
         http://bit.ly/bf-cc




 7
PERFORMANCE – 95 PECENTILE




 8
OPTIONS?



•  Fix
•  Rebuild

•  We chose to rebuild with a new
   architecture
•  Started earlier this year


 9
HIERARCHY OF WEBSITE NEEDS




                 It’s Cool

                It’s Useful

                 It’s Fast


                It Works
 10
FIVE FUNDAMENTALS
OF A WORLD CLASS WEB SITE



 •    Operational Monitoring
 •    Performance
 •    Customer Analytics
 •    SEO
 •    Experimentation Framework




 11
DOT COM ERA ARCHITECTURE




                        Single component
                       responsible for data
                      access, business logic
                         and presentation




 12
CURRENT ARCHITECTURE

                       Heavy use of client-
                       side rendering with
                            JavaScript




                        Lightweight web
                       servers for cached
                          HTML and JS




                          Data Services




 13
NEXT GENERATION ARCHITECTURE

                         No client-side
                     rendering only updates
                         via JavaScript




                      Server-side rendering
                           using Java




                         Data Services




 14
TECHNOLOGY STACK



•  Java, JavaScript (YUI), FreeMarker, Spring
   3.0, Tomcat 7

•  TestNG, Mockito, Groovy, Selenium2,
   Jasmine, PhantomJS




 15
WHY CHOOSE JAVA?


•  Good knowledge already at Betfair
•  Real concurrency – great for heavy server
   workload
•  Large Community
•  Great Toolset
•  Operations Teams understand Java – stats,
   GC logs, deployment process


 16
JAVA IN THE WEB TIER


 •  Java is obviously great at server tasks but
    does it work well in the web tier?

 •  Can it be as flexible as Ruby or Python?




 17
MODULE CONFIGURATION FRAMEWORK




•  Deals with the impendence mismatch
   between the web and statically typed
   languages
•  Hugely flexible
•  Easy to work with heterogeneous skillsets



 18
MODULE CONFIGURATION FRAMEWORK



•  All pages are an aggregation of modules in
   a layout
•  Modules are the smallest measure of
   functionality on a page
•  Modules can live within other modules
•  Configuration controls the service calls and
   the rendered modules


 19
MODULE CONFIGURATION FRAMEWORK




 20
CONCURRENCY MODEL
                     dispatch service
                           calls




       rendering     controller’s job
      starts early        done


 21
PERFORMANCE OPTIMIZATIONS


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



 22
CUSTOMER ANALYTICS


      •  Omniture Tagging
      •  Server side clickstream

      •  Able to generate heatmaps of site
         usage




 23
SEARCH ENGINE OPTIMISATION



      •  Single HTML response
      •  “Pretty” URLs
      •  Tasty bot fodder
      •  No redirects
      •  No duplications
      •  Crafted content



 24
EXPERIMENTATION FRAMEWORK



      •  An extension of the MCF
      •  Allows A/B or Multivariate testing
      •  Allows business to make decisions
         based on empirical data
      •  Winning experiments can be rolled
         out without a redeployment



 25
CONTINUOUS DELIVERY



•  Its not about changing the product daily
•  Its about confidence in the quality of your
   product
•  Its about eliminating waste from your
   development cycle




 26
CHALLENGES



•  Automation is key
•  Branch in code
•  Feature Toggles
•  Technology only takes you so far; it’s a
   cultural shift
•  “Developers aren’t done until the tests
   pass”

 27
28
OPERATIONAL MONITORING



•     Analytics
•     Trending
•     Fault-detection / alerting
•     Capacity planning




 29
PERFORMANCE MEASUREMENT




 30
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




 31
GRAPHS




 32
SERVER-SIDE WATERFALL GRAPH




 33
FLUSHING THE BUFFER




      Networking device thwarting flush() code

      Magic setting:
      httpcompressonpush=1




 34
RESULT




 35
SO WHAT CHANGED?




 36
FEEDBACK


      Customer: “Faster”
                           Customer: “Seems faster
                           and more user friendly”




 Customer: “page loaded
       quicker”
                            Ops Guy: “Our current
                             down time is zero!”


 37
RESULTS
  •  Sessions that bet:
     up 2 percentage points


      •  Bounce rate: improved 40%


      •  Page views: 2x


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



•  Performance improvements are tangible
•  Measurably improves the bottom line
•  Operational Monitoring and Customer
   Analytics provides essential visibility
•  There’s lots more to do but we now have the
   platform to do this



 39
THANK YOU


     Email: martin.anderson@betfair.com
     Twitter: @mdjanderson
     Blog: http://bloodredsun.com/
     Betfair Blog: http://views.betfair.com/
40

More Related Content

What's hot

Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!MageCloud
 
Top 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
Top 15 Exchange Questions that Senior Admin ask - Jaap WesseliusTop 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
Top 15 Exchange Questions that Senior Admin ask - Jaap WesseliusKemp
 
Optimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceOptimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceMageCloud
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn Calvert
 
What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?BizTalk360
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsSPC Adriatics
 
Yes, It's Number One it's TOTP!
Yes, It's Number One it's TOTP!Yes, It's Number One it's TOTP!
Yes, It's Number One it's TOTP!Keith Brooks
 
Presentation eXo Foss Bridge
Presentation eXo Foss BridgePresentation eXo Foss Bridge
Presentation eXo Foss BridgeJeremi Joslin
 
SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field Jason Himmelstein
 

What's hot (9)

Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!Tips and tweaks on migrating to magento!
Tips and tweaks on migrating to magento!
 
Top 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
Top 15 Exchange Questions that Senior Admin ask - Jaap WesseliusTop 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
Top 15 Exchange Questions that Senior Admin ask - Jaap Wesselius
 
Optimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceOptimizing Magento for Peak Performance
Optimizing Magento for Peak Performance
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
 
Yes, It's Number One it's TOTP!
Yes, It's Number One it's TOTP!Yes, It's Number One it's TOTP!
Yes, It's Number One it's TOTP!
 
Presentation eXo Foss Bridge
Presentation eXo Foss BridgePresentation eXo Foss Bridge
Presentation eXo Foss Bridge
 
SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field
 

Similar to Martin Anderson - Fast We Promise

Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Scott Sims
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusNGINX, Inc.
 
Betfair's Site Rebuild: Fast - We promise
Betfair's Site Rebuild: Fast - We promiseBetfair's Site Rebuild: Fast - We promise
Betfair's Site Rebuild: Fast - We promiseTim Morrow
 
Monyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateMonyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateVeer Abheek Singh Manhas
 
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.Suneet Grover
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudRoman Weber
 
HOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real TimeHOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real Timeconfluent
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-longAnna Long
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svenssonrajivmordani
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksSenturus
 
The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native ApplicationEmiliano Pecis
 
Server side scalable web performance
Server side scalable web performanceServer side scalable web performance
Server side scalable web performancePer Ökvist
 
SQL Server 2014 Features
SQL Server 2014 FeaturesSQL Server 2014 Features
SQL Server 2014 FeaturesKarunakar Kotha
 
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMonolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMustafa Can Tekir
 
quality center.ppt
quality center.pptquality center.ppt
quality center.pptAnilKumarARS
 
SQL Server 2014 – Features Drilldown.pptx
SQL Server 2014 – Features Drilldown.pptxSQL Server 2014 – Features Drilldown.pptx
SQL Server 2014 – Features Drilldown.pptxQuyVo27
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Joonas Lehtinen
 
Monolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudMonolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudzeynelkocak
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 

Similar to Martin Anderson - Fast We Promise (20)

Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016
 
Building a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX PlusBuilding a Web Frontend with Microservices and NGINX Plus
Building a Web Frontend with Microservices and NGINX Plus
 
Betfair's Site Rebuild: Fast - We promise
Betfair's Site Rebuild: Fast - We promiseBetfair's Site Rebuild: Fast - We promise
Betfair's Site Rebuild: Fast - We promise
 
Monyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap updateMonyog v7.04 demonstration & roadmap update
Monyog v7.04 demonstration & roadmap update
 
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.
Apache Kafka Bay Area Sep Meetup - 24/7 Customer, Inc.
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloud
 
HOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real TimeHOP! Airlines Jets to Real Time
HOP! Airlines Jets to Real Time
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-long
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native Application
 
Server side scalable web performance
Server side scalable web performanceServer side scalable web performance
Server side scalable web performance
 
SQL Server 2014 Features
SQL Server 2014 FeaturesSQL Server 2014 Features
SQL Server 2014 Features
 
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring CloudMonolithic to Microservices Migration Journey of iyzico with Spring Cloud
Monolithic to Microservices Migration Journey of iyzico with Spring Cloud
 
quality center.ppt
quality center.pptquality center.ppt
quality center.ppt
 
SQL Server 2014 – Features Drilldown.pptx
SQL Server 2014 – Features Drilldown.pptxSQL Server 2014 – Features Drilldown.pptx
SQL Server 2014 – Features Drilldown.pptx
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
 
Monolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloudMonolithic to microservices migration journey with spring cloud
Monolithic to microservices migration journey with spring cloud
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 

Recently uploaded

complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkcomplaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkbhavenpr
 
Manipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkManipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkbhavenpr
 
Quiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsQuiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsnaxymaxyy
 
VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012ankitnayak356677
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.NaveedKhaskheli1
 
Experience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendExperience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendFabwelt
 
IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest2
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdfFIRST INDIA
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeAbdulGhani778830
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdfGerald Furnkranz
 

Recently uploaded (10)

complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkcomplaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
 
Manipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkManipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpk
 
Quiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsQuiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the rounds
 
VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.
 
Experience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendExperience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming Trend
 
IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global News
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for Justice
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf
 

Martin Anderson - Fast We Promise

  • 1. BETFAIR'S SITE REBUILD: FAST - WE PROMISE Martin Anderson LJC Open Conference 2011
  • 2. 2
  • 5. INTERESTING STATS 3.7M+ 140 17 registered locations languages customers £300M 30,000 88,000 funds on bets placed http requests deposit one minute per second 5
  • 6. WHAT’S THE PROBLEM? We lost focus on our website “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” 6
  • 7. OUR CUSTOMER COMMITMENT http://bit.ly/bf-cc 7
  • 8. PERFORMANCE – 95 PECENTILE 8
  • 9. OPTIONS? •  Fix •  Rebuild •  We chose to rebuild with a new architecture •  Started earlier this year 9
  • 10. HIERARCHY OF WEBSITE NEEDS It’s Cool It’s Useful It’s Fast It Works 10
  • 11. FIVE FUNDAMENTALS OF A WORLD CLASS WEB SITE •  Operational Monitoring •  Performance •  Customer Analytics •  SEO •  Experimentation Framework 11
  • 12. DOT COM ERA ARCHITECTURE Single component responsible for data access, business logic and presentation 12
  • 13. CURRENT ARCHITECTURE Heavy use of client- side rendering with JavaScript Lightweight web servers for cached HTML and JS Data Services 13
  • 14. NEXT GENERATION ARCHITECTURE No client-side rendering only updates via JavaScript Server-side rendering using Java Data Services 14
  • 15. TECHNOLOGY STACK •  Java, JavaScript (YUI), FreeMarker, Spring 3.0, Tomcat 7 •  TestNG, Mockito, Groovy, Selenium2, Jasmine, PhantomJS 15
  • 16. WHY CHOOSE JAVA? •  Good knowledge already at Betfair •  Real concurrency – great for heavy server workload •  Large Community •  Great Toolset •  Operations Teams understand Java – stats, GC logs, deployment process 16
  • 17. JAVA IN THE WEB TIER •  Java is obviously great at server tasks but does it work well in the web tier? •  Can it be as flexible as Ruby or Python? 17
  • 18. MODULE CONFIGURATION FRAMEWORK •  Deals with the impendence mismatch between the web and statically typed languages •  Hugely flexible •  Easy to work with heterogeneous skillsets 18
  • 19. MODULE CONFIGURATION FRAMEWORK •  All pages are an aggregation of modules in a layout •  Modules are the smallest measure of functionality on a page •  Modules can live within other modules •  Configuration controls the service calls and the rendered modules 19
  • 21. CONCURRENCY MODEL dispatch service calls rendering controller’s job starts early done 21
  • 22. PERFORMANCE OPTIMIZATIONS •  Reduce HTTP requests •  Minify and compress assets (WRO4J) •  Split requests across domains •  Use cookie-free CDN hostnames •  Flush the buffer early •  Defer loading of content •  Etc… 22
  • 23. CUSTOMER ANALYTICS •  Omniture Tagging •  Server side clickstream •  Able to generate heatmaps of site usage 23
  • 24. SEARCH ENGINE OPTIMISATION •  Single HTML response •  “Pretty” URLs •  Tasty bot fodder •  No redirects •  No duplications •  Crafted content 24
  • 25. EXPERIMENTATION FRAMEWORK •  An extension of the MCF •  Allows A/B or Multivariate testing •  Allows business to make decisions based on empirical data •  Winning experiments can be rolled out without a redeployment 25
  • 26. CONTINUOUS DELIVERY •  Its not about changing the product daily •  Its about confidence in the quality of your product •  Its about eliminating waste from your development cycle 26
  • 27. CHALLENGES •  Automation is key •  Branch in code •  Feature Toggles •  Technology only takes you so far; it’s a cultural shift •  “Developers aren’t done until the tests pass” 27
  • 28. 28
  • 29. OPERATIONAL MONITORING •  Analytics •  Trending •  Fault-detection / alerting •  Capacity planning 29
  • 31. 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 31
  • 34. FLUSHING THE BUFFER Networking device thwarting flush() code Magic setting: httpcompressonpush=1 34
  • 37. FEEDBACK Customer: “Faster” Customer: “Seems faster and more user friendly” Customer: “page loaded quicker” Ops Guy: “Our current down time is zero!” 37
  • 38. RESULTS •  Sessions that bet: up 2 percentage points •  Bounce rate: improved 40% •  Page views: 2x •  1% opt-out rate 38
  • 39. WHAT HAVE WE LEARNED? •  Performance improvements are tangible •  Measurably improves the bottom line •  Operational Monitoring and Customer Analytics provides essential visibility •  There’s lots more to do but we now have the platform to do this 39
  • 40. THANK YOU Email: martin.anderson@betfair.com Twitter: @mdjanderson Blog: http://bloodredsun.com/ Betfair Blog: http://views.betfair.com/ 40