Steve Huffman on Lessons Learned at Reddit
carsonified.com
carsonified.com
I just think we spend too much time talking about scaling and not enough time discussing virality.
If you'd like to share a story, however, on using statistical techniques to measure and act on virality, doing multi-variate testing, et al that would be very interesting.
E.g., some of Yahoo's non-search properties receive tremendous traffic but their scalability stories (while still requiring a great amount of difficult engineering work) aren't as interesting as those of Facebook or other Yahoo properties e.g., Search, Flickr.
What is your application? Are you profitable? Very profitable? (Oh god I hope you are very profitable, or some of my apps are screwed - but then again I guess it really depends on the business model and usage characteristics)
Appearently Reddit switched over to Cassandra in March 2010 (http://blog.reddit.com/2010/03/she-who-entangles-men.html)
As to extreme do-normalization, colour me sceptical, why not parallelise and throw more hardware at the problem?
Thanks Mark.
- crash and let a supervisor restart you
- isolate components via specialist processes and systems
- keep schema/types flexible
- be stateless
- cache & denormalize
- be redundant
- let other processes handle non-realtime tasks in the background
Sounds like he spent a long time learning the hard way that reddit should have been written in Erlang in the first place :)
One thing I should also mention is that our deal was structured in such a way that either one of us could've left reddit before our contract ended without too much pain (missing some carrots, granted) but we were still rather attached to reddit, the community, and our friends (team reddit). Personally, I did also feel a compulsion to fulfill my side of the contract and make sure Condé Nast got its money's worth. That may make me a tool in the eyes of most Hacker News folks, but so be it.