Before he left, former Twitter architect Blaine Cook's job was to assure the service's scalability," or the ability to expand to meet growing user demand. Didn't happen. Instead, Twitter leads all social networks in downtime so far this year. In a post to his blog today, Cook wants to make one thing very clear: He knows what scalability is, OK? If one eliminates database chokepoints and throws enough servers at the problem, even crappy code written in Ruby on Rails will work. Cook just couldn't make it happen for Twitter. Here's the 100-word version:
Languages don't scale, architectures do. Some languages are faster than others — a given operation costs less. Faster means cheaper, it doesn't mean more scalable. Perl used to be slow. Now it beats JoCaml with the bestest concurrency. What was Perl built for? Parsing text. Does it mean that you can't build Wide Finder with another language? Does it mean that you couldn't build Wide Finder to scale out to a trillion documents with gawk? If you answered "yes", go back to the start of this post and read again! :-) If you're still answering "yes," try reading some more.