On 7/27/06, Jay R. Ashworth <jra(a)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