On 7/27/06, Jay R. Ashworth jra@baylink.com wrote:
Unthreaded: in a clear field, Chad, what *would* you have implemented MediaWiki in? And why?
Much of recent development and administration has focused on caching, clustering, failover, load balancing, and so on. It seems to me that the decision to use a ready-made application server like JBoss, Resin or Zope (or WebSphere if you want proprietary) or a different database server would make a greater difference for long term deployment of a very large scale wiki farm like Wikimedia than the choice of a particular programming language (though of course one may imply the other).
That being said, from the rough numbers I've seen about similarly sized sites like eBay or Amazon.com, which typically use such application server architectures, we are running on a ridiculously small amount of hardware. For instance, eBay in 2004 was running with 200 database backend servers [1] -- I don't think you'll find detailed specs for these, but according to [2] we're talking about big Sun machines. Of course, we're not even close to Amazon.com's or eBay's reliability.
Nevertheless, it seems clear that our "roll your own" approach, while more intensive in developer work, can save significantly on hardware. It's also interesting to compare Flickr's technological evolution, which is quite similar to our own: http://www.ludicorp.com/flickr/zend-talk.ppt
Is similar information available about Yahoo!'s setup?
One major downside is that such "perpetually customized" setups can become very complex and hard to replicate quite quickly.
It's also important to emphasize that _Wikimedia_ (as opposed to MediaWiki) runs on more than just PHP. In fact, there's probably not a single mainstream programming language that hasn't been used somewhere on the Wikimedia servers. Brion seems to greatly enjoy experimenting with new languages, and even MediaWiki itself comes with an OCaml extension. :-) It's certainly a rich learning environment.
Erik
[1] http://www.eweek.com/article2/0,1895,1640310,00.asp [2] http://www.sun.com/service/about/success/ebay.xml