How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015
-
Upload
salesforce-developers -
Category
Technology
-
view
339 -
download
1
Transcript of How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015
Confidential
From 0 to 350,000 fans in 5 weeks, how Electronic Arts and Nurun built their E3 presence on Heroku
Dreamforce 2015
1
Confidential 2 2
Peter Cho Head of Ecosystem Program - Heroku @etcpeter [email protected]
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
Confidential 5
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
Confidential
What kind of architecture you put in place to handle 22,5k concurrent users?
7
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
Confidential
“You have only one chance to make good impression. It made us feel like rock stars.”
9 9
Confidential 10
High-Level Architecture
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
Confidential
How do you test a complex application with many moving parts.
12
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
Confidential 14
“If you don’t test you’re in for trouble”
14
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
Confidential 16
“Imagine 25,000 people walking into your office, with their own requirements”
16
Confidential
How do you monitor, using Heroku add-ons
17
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
Confidential
“I think I’m shitting my pants” - Lead NodeJS Dev
19
Confidential 20
• Monitis Used to monitor the services and trigger 24/7 alerts
• Logentries Used to understand what fails and where.
Logging & Monitoring
Confidential 21
Conclusion
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?
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
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
Confidential 25
Confidential 26
Thank you Questions?
26
Stéphane Caron Director IT – Nurun Montreal @scaron [email protected]
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