How Facebook Runs Its LAMP Stack
prostoalex writes "At QCon San Francisco, Aditya Agarwal of Facebook described how his employer runs its software stack (video and slides). Facebook runs a typical LAMP setup where P stands for PHP with certain customizations, and back-end services that are written in C++ and Java. Facebook has released some of the infrastructure components into the open source community, including the Thrift RPC framework and Scribe distributed logging server."
"Facebook seems to be stitched together as a set of "solution de jour" technologies without any real architecture behind it. Too many languages, frameworks and other gems. These guys took the notion of the right language for the task to an extreme. I have to believe that code releases into production is a big challenge for these folks"
What's 'hodge podge' about a highly customized solution. It is precisely what LAMP is all about. It does seem to work for them and with Facebook supporting 200 million active users, it is a good example of an Open Source success, so they must be doing something right.
PHP is, as I've profiled it, horribly inefficient. If you've got low traffic, it's a great solution for creating a quick, simple web site, but it doesn't easily scale to the kind of traffic facebook manages.
FUD-o-riffic. Facebook can cache most of their content which dramatically reduces the overhead of using a scripting language. They're not generating the whole page every time, unless they're big fucking idiots.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"