SlideShare a Scribd company logo
1 of 27
Download to read offline
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
pc@heroku.com
Confidential 3
Who am I ?
3
Stéphane Caron
Director IT – Nurun Montreal
@scaron
stephane.caron@nurun.com
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
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?
88
Confidential
“You have only one chance to make good impression.
It made us feel like rock stars.”
99
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 2222
•  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 2
5
Confidential 26
Thank you
Questions?
26
Stéphane Caron
Director IT – Nurun Montreal
@scaron
stephane.caron@nurun.com
Share Your Feedback, and Win a GoPro!
3
Earn a GoPro prize entry for
each completed survey
Tap the bell to take a
survey2Enroll in a session1

More Related Content

Viewers also liked

Viewers also liked (8)

2016 7
2016 72016 7
2016 7
 
Festa de l'unità 2016 a Torino
Festa de l'unità 2016 a TorinoFesta de l'unità 2016 a Torino
Festa de l'unità 2016 a Torino
 
Issue # 27 jan16 ebook
Issue # 27 jan16 ebookIssue # 27 jan16 ebook
Issue # 27 jan16 ebook
 
Ro softline company profile 2015
Ro softline company profile 2015Ro softline company profile 2015
Ro softline company profile 2015
 
Un atardecer
Un atardecerUn atardecer
Un atardecer
 
Synchonous machine design selection of no of slots
Synchonous machine design selection of no of slotsSynchonous machine design selection of no of slots
Synchonous machine design selection of no of slots
 
2015 NISO Forum: The Future of Library Resource Discovery
2015 NISO Forum: The Future of Library Resource Discovery2015 NISO Forum: The Future of Library Resource Discovery
2015 NISO Forum: The Future of Library Resource Discovery
 
7trumpets part5-120718221821-phpapp01
7trumpets part5-120718221821-phpapp017trumpets part5-120718221821-phpapp01
7trumpets part5-120718221821-phpapp01
 

Similar to How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015

MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...
MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...
MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...MongoDB
 
Reducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedInReducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedInMichael Kehoe
 
IoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsIoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsThe IOT Academy
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryGene Kim
 
The Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to BeThe Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to Beconfluent
 
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Business Transformation with IoT
Business Transformation with IoTBusiness Transformation with IoT
Business Transformation with IoTKevin Jones
 
IT and OT Convergence
IT and OT ConvergenceIT and OT Convergence
IT and OT ConvergenceOpsRamp
 
Measuring Programmer Performance with SourceKibitzer EyeQ
Measuring Programmer Performance with SourceKibitzer EyeQMeasuring Programmer Performance with SourceKibitzer EyeQ
Measuring Programmer Performance with SourceKibitzer EyeQMark Kofman
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesApigee | Google Cloud
 
Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee | Google Cloud
 
Chat Bots - ReignDesign
Chat Bots - ReignDesignChat Bots - ReignDesign
Chat Bots - ReignDesignMatt Mayer
 
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2
 
Avanade digital workplace keynote microsoft recoder london 2015
Avanade digital workplace keynote microsoft recoder london 2015Avanade digital workplace keynote microsoft recoder london 2015
Avanade digital workplace keynote microsoft recoder london 2015Andy Hutchins
 
Superfast Business - Technology Trends for Business
Superfast Business - Technology Trends for BusinessSuperfast Business - Technology Trends for Business
Superfast Business - Technology Trends for BusinessSuperfast Business
 
Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services RightScale
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey TodayLaurenWendler
 
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneers
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneersBarcelona IoT Meetup: 5 key takeaways for Internet of Things pioneers
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneersClaro Partners Inc.
 

Similar to How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015 (20)

MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...
MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...
MongoDB .local London 2019: Nationwide Building Society: Building Mobile Appl...
 
Reducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedInReducing MTTR and False Escalations: Event Correlation at LinkedIn
Reducing MTTR and False Escalations: Event Correlation at LinkedIn
 
IoT Introduction Architecture and Applications
IoT Introduction Architecture and ApplicationsIoT Introduction Architecture and Applications
IoT Introduction Architecture and Applications
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
The Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to BeThe Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to Be
 
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
 
Business Transformation with IoT
Business Transformation with IoTBusiness Transformation with IoT
Business Transformation with IoT
 
IT and OT Convergence
IT and OT ConvergenceIT and OT Convergence
IT and OT Convergence
 
Measuring Programmer Performance with SourceKibitzer EyeQ
Measuring Programmer Performance with SourceKibitzer EyeQMeasuring Programmer Performance with SourceKibitzer EyeQ
Measuring Programmer Performance with SourceKibitzer EyeQ
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT Devices
 
Iot Workshop Columbus
Iot Workshop ColumbusIot Workshop Columbus
Iot Workshop Columbus
 
Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)Apigee centralite io t webinar july 2015 share (2)
Apigee centralite io t webinar july 2015 share (2)
 
Chat Bots - ReignDesign
Chat Bots - ReignDesignChat Bots - ReignDesign
Chat Bots - ReignDesign
 
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
 
Avanade digital workplace keynote microsoft recoder london 2015
Avanade digital workplace keynote microsoft recoder london 2015Avanade digital workplace keynote microsoft recoder london 2015
Avanade digital workplace keynote microsoft recoder london 2015
 
Superfast Business - Technology Trends for Business
Superfast Business - Technology Trends for BusinessSuperfast Business - Technology Trends for Business
Superfast Business - Technology Trends for Business
 
Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services Pivoting to Cloud: How an MSP Brokers Cloud Services
Pivoting to Cloud: How an MSP Brokers Cloud Services
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneers
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneersBarcelona IoT Meetup: 5 key takeaways for Internet of Things pioneers
Barcelona IoT Meetup: 5 key takeaways for Internet of Things pioneers
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

How EA Games & Nurun used Node.js on Heroku to reach 350,000 fans during E3 2015

  • 1. Confidential From 0 to 350,000 fans in 5 weeks, how Electronic Arts and Nurun built their E3 presence on Heroku Dreamforce 2015 1
  • 2. Confidential 2 2 Peter Cho Head of Ecosystem Program - Heroku @etcpeter pc@heroku.com
  • 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
  • 7. Confidential What kind of architecture you put in place to handle 22,5k concurrent users? 7
  • 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
  • 9. Confidential “You have only one chance to make good impression. It made us feel like rock stars.” 99
  • 11. 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
  • 12. Confidential How do you test a complex application with many moving parts. 12
  • 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
  • 14. Confidential 14 “If you don’t test you’re in for trouble” 14
  • 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
  • 16. Confidential 16 “Imagine 25,000 people walking into your office, with their own requirements” 16
  • 17. Confidential How do you monitor, using Heroku add-ons 17
  • 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
  • 19. Confidential “I think I’m shitting my pants” - Lead NodeJS Dev 19
  • 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
  • 26. Confidential 26 Thank you Questions? 26 Stéphane Caron Director IT – Nurun Montreal @scaron stephane.caron@nurun.com
  • 27. Share Your Feedback, and Win a GoPro! 3 Earn a GoPro prize entry for each completed survey Tap the bell to take a survey2Enroll in a session1