Nick Schrock presents how Facebook’s code evolved over time, explaining some new constructs – fbobjects, Preparables, Ents - introduced to address the complexities of a large social graph.
Jason Sobel presents the evolution of Facebook’s infrastructure over time, from the original LAMP stack to the present multi-datacenter configuration, the challenges faced and plans for the future.
Beside presenting the overall Facebook architecture and scaling solutions used, Aditya Agarwal talks about the iterative process of constantly improving the site, making sure to avoid over-engineering and adapting along the way by dropping solutions that worked in the past but are no longer useful. The last part of the session was dedicated to answering questions from the audience.
Robert Johnson discusses Facebook’s approach to scalability issues resulting from a large growth of the user base. He talks about: why one needs to prepare for horizontal and not vertical scalability, very short release cycles which are better because they introduce fewer bugs, the need to streamline to deploying process for short release cycles, and making the entire process faster every day.
Facebook offers an open standards platform for creating social network applications. Josh Elman discusses the concept of social networking and how the Facebook platform addresses issues of identity, of social graphing, and sharing (via its Open Stream API). His presentation explored the nature of a social graph and the "virtuous cylcle of sharing."
In this presentation filmed during QCon SF 2008, Aditya Agarwal discusses Facebook’s architecture, more exactly the software stack used, presenting the advantages and disadvantages of its major components: LAMP (PHP, MySQL), Memcache, Thrift, Scribe.