McLaren F1 and Node.js
Pete X. Graham
Technical Lead - Pirata
pete.graham@piratalondon.com
mclaren.com/formula1
High traffic/profile
Big build CMS
Realtime system. Telemetry about race cars
Speed
Throttle
G-force
Position on track
Laptimes
Commentary
Evolution of Site
2010 site
http://vimeo.com/11238103
2011 site
http://vimeo.com/30428042
2012 site?
Long Term Project
On going Updates
New functionality
Redesign approx every year
Careful with technology choices
Strive to improve coding/testing/architecture
Current Technologies
LAMP stack
PHP and Zend Framework backend with Doctrine
Custom Daemon
Nginx message module
Architecture Diagram
Why Node.js?
Node.js Is Bad Ass Rock Star Tech
Made for realtime event based systems
Scales well?
Websockets
Node and LAMP
Can they complement each other?
If we use node to what extend do we use it?
Initially could keep Nginx server
Code Needs to...
listen to feed
connect to mysql database. read/write.
publish to client/nginx
save images and push to CDN?
RISK!
If it's not broke...
Simulate multiple users?
How to load test/benchmark current solution?
What next?
Write node backend
Beta.mclaren.com (domain may differ)
Release as open source?
Replay functionality? Not possible with current system.
NASA/TFL style open APIs (Mongo DB)
Thank You
Pete X. Graham
pete.graham@piratalondon.com
https://github.com/pxg