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

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Profile image of Mattias Geniar

Mattias Geniar, July 06, 2010

Follow me on Twitter as @mattiasgeniar

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!

Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.