Learn how one of the largest video game companies in the world used Heroku to handle the most important gaming event of the year. Take a behind the scenes look at how Nurun used tools like Node.js and MongoDB as well as services like Heroku and Fastly to build an application that smoothly handled over 20,000 concurrent users without a hitch. An application that for one week, needed to showcase the future of the gaming industry to hundreds of thousands of passionate fans. Nurun will discuss the unique challenges of building a robust, highly scalable and entirely disposable (but reusable) Node.js application in five weeks.
3. Confidential 3
Who am I ?
3
Stéphane Caron
Director IT – Nurun Montreal
@scaron
stephane.caron@nurun.com
4. Confidential 4
Nurun Global Network
15Countries 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
6. 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
8. 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?
88
13. 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
15. 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
18. 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
20. Confidential 20
• Monitis
Used to monitor the services
and trigger 24/7 alerts
• Logentries
Used to understand what fails
and where.
Logging & Monitoring
22. Confidential 2222
• Architecture
As decoupled as possible
• Testing
Test as close as the scale as you can
• Monitoring
Whatch those numbers.
What have we covered?
23. 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
24. 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