How, What and Why – On Scalability, Availability & Manageability (Facebook)

Mattias Geniar, Tuesday, July 6, 2010 - last modified: Monday, July 12, 2010

Since I've not updated this blog in quite a while, I'll share a very interesting video and mention its highlights.

Video: A Day In The Life Of A Facebook Engineer

Obviously, Facebook has seen amongst the most impressive scalability problems ever. And here are some of the interesting bits, which can be used to manage and tune high traffic & high availability websites.

  • HipHop for PHP: transforms PHP code to optimized C++ code, for greater CPU efficiency. Started as a "hack" on one of Facebook's Hackatons.
  • Memcached: duh ... only downside is it requires some PHP recoding to make use of it (but shouldn't be much if you're already using frameworks or database classes).
  • Services: seperate key systems, make them independant of each other (news feed, photos, video, ... -- allows you to disable one service, and keep the rest going)
  • CFEngine: automating sysadmin tasks (alternatives: Puppet, Chef). Ideal in "clone" environments, a cloud of servers running a similar configuration. I have my doubts on highly customized environments, where each server is configured individually to specifics needs.
  • dsh: distributed shell, run commands on any set of hosts in your network

Monitoring will be needed to keep an eye on your infrastructure:

Take a look at other Open Source contributions made by Facebook's Team!

Hi! My name is Mattias Geniar. I'm a Support Manager at Nucleus Hosting in Belgium, a general web geek, public speaker and podcaster. Currently working on DNS Spy. Follow me on Twitter as @mattiasgeniar.

I respect your privacy and you won't get spam. Ever.
Just a weekly newsletter about Linux and open source.

SysCast podcast

In the SysCast podcast I talk about Linux & open source projects, interview sysadmins or developers and discuss web-related technologies. A show by and for geeks!

cron.weekly newsletter

A weekly newsletter - delivered every Sunday - for Linux sysadmins and open source users. It helps keeps you informed about open source projects, Linux guides & tutorials and the latest news.

Share this post

Did you like this post? Will you help me share it on social media? Thanks!