how ea games & nurun used node.js on heroku to reach 350,000 fans during e3 2015
TRANSCRIPT
![Page 1: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/1.jpg)
Confidential
From 0 to 350,000 fans in 5 weeks, how Electronic Arts and Nurun built their E3 presence on Heroku
Dreamforce 2015
1
![Page 4: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/4.jpg)
Confidential 4
Nurun Global Network
15 Countries Worldwide
4,000+ Employees
21 Global Practices
AREA OF EXPERTISE Retail Automotive Financial Services Media & Entertainment Fashion & Beauty
Utilities & Education Government Telecommunications Travel & Hospitality Health & Pharma
Born and raised in Montreal
4
![Page 5: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/5.jpg)
Confidential 5
![Page 6: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/6.jpg)
Confidential 6
• We served 22 500 000 requests in June • Over 350 000 uniques in a week, over 200 000 the hour of the event. • A response time between 200ms to 500ms • Full page load time between 1.5s to 2s
Why did they come to us?
6
![Page 7: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/7.jpg)
Confidential
What kind of architecture you put in place to handle 22,5k concurrent users?
7
![Page 8: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/8.jpg)
Confidential
• You identify bottlenecks and plan accordingly. Dependant on 3rd party data. (very) Short timeline.
• Infrastructure This should not get in the way.
• You load test… … and test … … and test it some more.
How can you handle that load?
8 8
![Page 9: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/9.jpg)
Confidential
“You have only one chance to make good impression. It made us feel like rock stars.”
9 9
![Page 10: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/10.jpg)
Confidential 10
High-Level Architecture
![Page 11: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/11.jpg)
Confidential
Technologies Used
11
• Back-end NodeJS (ExpressJS) Mongo DB
• Front-end Jade Gulp Spark
• External Adobe CQ5 (EA’s content) Twitch Spredfast Youtube
• Hosting / Infrastructure Heroku Fastly Compose.IO
• Testing jMeter Siege
![Page 12: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/12.jpg)
Confidential
How do you test a complex application with many moving parts.
12
![Page 13: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/13.jpg)
Confidential
Testing Strategy
• We planned for failure. • We gradually tested with more load on the servers
13
* concurrent users using up to 5 Amazon EC2 instances running jMeter. 5k -10k 15k - 20k 25k
![Page 14: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/14.jpg)
Confidential 14
“If you don’t test you’re in for trouble”
14
![Page 15: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/15.jpg)
Confidential
Was it all smooth?
• We forgot one try catch in the code • We forgot to take into account the custom URLs
livetoplay.ea.com/?utm_source=facebook&utm_ medium=cpc&utm_campaing=livetoplay
NO
15
![Page 16: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/16.jpg)
Confidential 16
“Imagine 25,000 people walking into your office, with their own requirements”
16
![Page 17: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/17.jpg)
Confidential
How do you monitor, using Heroku add-ons
17
![Page 18: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/18.jpg)
Confidential 18
• New relic Used extensively during our testing and live to monitor our Apdex score. Apdex is a standard method for reporting and comparing the performance of software applications in computing.
Logging & Monitoring
![Page 19: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/19.jpg)
Confidential
“I think I’m shitting my pants” - Lead NodeJS Dev
19
![Page 20: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/20.jpg)
Confidential 20
• Monitis Used to monitor the services and trigger 24/7 alerts
• Logentries Used to understand what fails and where.
Logging & Monitoring
![Page 21: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/21.jpg)
Confidential 21
Conclusion
![Page 22: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/22.jpg)
Confidential 22 22
• Architecture As decoupled as possible
• Testing Test as close as the scale as you can
• Monitoring Whatch those numbers.
What have we covered?
![Page 23: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/23.jpg)
Confidential
• Real time Managing content in real time can be a little bit tricky. Our client had to adjust during the conference to make sure the publishing was in sync with the Twitch livestream.
• Statistics o Over 350 000 uniques in a week, most of them the hour of the event. o We served 22 500 000 requests in June o A response time between 200ms to 500ms o Full page load time between 1.5s to 2s
Conclusion
23
![Page 24: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/24.jpg)
Confidential 24
• Gamescon The platform has been re-used for Gamescom with minor tweak to adapt the UI.
• Hiccups o Twitch went down during the event o We served 157 error pages, that’s an 0,00% overall error rate.
Conclusion
24
![Page 25: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/25.jpg)
Confidential 25
![Page 26: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/26.jpg)
Confidential 26
Thank you Questions?
26
Stéphane Caron Director IT – Nurun Montreal @scaron [email protected]
![Page 27: How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015](https://reader031.vdocuments.site/reader031/viewer/2022030402/58a4562b1a28ab55068b6017/html5/thumbnails/27.jpg)
Share Your Feedback, and Win a GoPro!
3 Earn a GoPro prize entry for each completed survey
Tap the bell to take a survey 2 Enroll in a session 1