What is the architecture of Facebook?

Aditya Agarwal (Director of Engineering) giving presentation on Facebook’s architecture.

We use Facebook a lot. At least me. I just come up with an interesting presentation of Director of Engineering of Facebook on its architecture. I am excited to see that they are using LAMP for Facebook. And they empowered their software stack with other open source softwares. They are not using relations in MySQL. They are storing key value pairs. Facebook is also using content delivery network. Things that we post on our wall not appeared immediately on our friend’s wall.

Though presentation is bit old but it is useful for web community. I found it very interesting that how they solve their problems and manage data on such a large scale.

When I was in university for my BS program and going to start final year project. We were in a big debate of using MySQL and PHP or Java with Oracle. But if Facebook selected LAMP stack. Then it should be considered while developing web applications. What you think?

Facebook is a best example of using open source softwares.

You May Also Like

5 Comments

  1. Facebook have not chosen the best stack – php is slow – because of that they have developed their own php compiler. Because of that, they don’t use php for everything. At first facebook have been created in php because somebody knew php, not because it was the best stack available. In short time it was cheaper to develop php compiler than rewrite the app and learn new language (or change developers). On the other side twitter was still relatively small application so it was possible to rewrite it from ruby to scala.

  2. You should really do more research into the topic – Facebook has a great engineering team and blog. Their team has written many great articles about their infrastructure and given several great presentations as well.

    The verdict: If they had to do it all over again, they wouldnt use PHP. As Krzysztof says, they needed to build a PHP compiler to speed it all up.

    They also wrote their own NoSQL database – Cassandra to serve very specific purposes where MySQL wouldnt cut it.

  3. Yes I do quite often. Some ajax does not respond, gallery is broken more than 30% of time I am trying to use it. Many times I see only the blue bar etc. I am not in States so less number of servers take care of my traffic probably.
    And also it was at least 2 times more expensive to develop it in PHP, than in Java for instance (my safe guess, but I think it is / was way more expensive).

    Also it happens that people send me link which works for me after few minutes… But did not saw that for some time 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.