The good, the bad, and the ugly technical details of running Node.js services for the world’s largest Spanish learning website, SpanishDict.com.
Presented at the 5/8/2013 Seattle Node.js Meetup - http://www.meetup.com/Seattle-Node-js/events/115959992/
8. A Spanish-English
Dictionary
is the world’s
largest Spanish-English dictionary,
translation, and language learning
website. We develop and provide
reliable, accurate, easy-to-use
resources for learning Spanish.
SpanishDict.com
9. Our visitors
A into our data and usage:
6,000,000 Unique visitors every month
1,000,000 Translations
100,000 Questions and answers
25,000 Flashcards
5,000 Video pronunciations
90 Lessons
quick glance
10. Our Services
Node Other
API server Web site
Auto-suggest server Data mining
Translation server Operations
Text-to-speech server
11. Our Traffic
Very low latency for our db-backed
services.
Service Reqs/min
API server 35K / min
Auto-suggest server 15K / min
Translation server 2.5K / min
Text-to-speech server 400 / min
12. Five Node.js
production tips
1. Know when to Node
2. Keep up with Node
3. Design for failure
4. Isolate services
5. Analyze everything
18. Node.js
deployments
PAAS: Often, the easier way.
, , , etc.
IAAS: Expect some DIY
Build custom Node.js versions
Install modules from scratch
Get ready to roll back
Joyent Heroku Nodejitsu
19. 3. Design for failure
Fail and recover at multiple levels.
25. Our pains
Node.js apps aren't necessarily good
neighbors.
Suggest (DB) and translate (http)
Backend (DB) and web site (CPU/load,
memory)
Read and write servers
29. Things to look for
Some metrics that affect Node.js apps
Type Metrics Uses
System CPU, I/O, memory,
network
Alert
Server Throughput, latency Alert,
Report
Traffic Peaks (weeks,
months)
Report
Errors Quantitative,
qualitative
Alert,
Report