Top Seven Open Source Technologies Powering Facebook.

open source technologies powering  facebook

Facebook is one of the most popular and most visited website in the world. More than 1 billion people access Facebook across different platforms like web and devices each and every day.

With such a huge user base Facebook has to handle tonnes of data every minute.In order to handle such a huge amount of data, engineers at Facebook need to deal with many challenges to keep the site up and running.

Here is what Facebook looses if it gets shut down for a minute!

  • For every 60 seconds nearly 2.46 million posts are being shared.
  • 7 Million statuses are being updated.
  • 400 GB of data is being uploaded to Facebook servers.
  • 300,000 users are logged in and nearly 450 new accounts were being registered.
  • Discussing about the revenue, Facebook earns nearly 25,000$ per minute.

At the scale that Facebook operates, a lot of traditional approaches to serving web content break down or simply give up.

Hence Facebook has to rely on several software technologies to play with huge piles of data. Even though Facebook is a technology giant, it depends on Open Source technology. The core of Facebook is built upon Open Source.

Facebook initially started as a LAMP (Linux, Apache, MySQL and PHP) site. But it has had to change and extend its operations to incorporate a lot of features and services.

Yes, you heard it right. Facebook still uses PHP, but it has built its own compiler to extend its functionality on large scale. It also uses an optimized version of Linux for its own purpose. It uses MySQL database for primary database functions. But it has developed its own database technologies, which you can get through in the further article, to store and organize user data like photos and video.

These are the basic technologies that support Facebook. Let’s end up with these basic technologies and move on to learn about underlying Open Source technologies that keeps moving Facebook smoothly and made it as the world’s largest Social Network. Let’s get started with the list.

MEMCACHED.

memcached

Memcached

MEMCACHED is a distributed memory caching system and is one of the best Open Source Software powering many sites over Internet. Facebook uses it as a caching layer between the web servers and MySQL servers. Facebook has customized MEMCACHED for its own operations. It runs thousands of MEMCACHED servers with with tens of TB of cached data.

Hip-Hop for PHP.

Facebook Hip-Hop

Hip-Hop

PHP, being a scripting language, is relatively slow when compared to code that runs natively on a server. To overcome it Facebook developed Hip-Hop to convert PHP into C++ code for better performance. Hip-Hop for PHP isn’t technically a compiler itself, rather it is a source code transformer.

With Hip-Hop, Facebook reduced the CPU usage on their web servers by 50%. Feeling that the web can benefit from Hip-Hop, it is made Open Source.

Haystack.

facebook haystack

Facebook Haystack

Haystack is Facebook’s high performance photo storage and retrieval system. As of now, nearly 300 million photos are uploaded to facebook per day. Also for each uploaded photo, Facebook generates and stores four images of different resolutions. At the end of the day it will sum up to billions. Haystack comes handy at this very point, it acts as an object store serving photos by lightning fast.

Cassandra.

cassandra

Cassandra

It is a distributed storage system with no single point of failure. It is the right choice when you need scalability and high availability without compromising on performance. Facebook uses Cassandra for its Inbox search.

Cassandra is maintained under Apache project and is Open Source.

Also read : Facebook drones to beam Internet

Hadoop and Hive.

hadoop

hadoop2

Hadoop is an Open Source map-reduce implementation that makes it possible to perform calculations on huge amount of data. The Social Networking site uses Hadoop for data analysis.

Apart from Facebook several leading Technology companies like Yahoo, Twitter use Hadoop to harness and analyze user data. It is also an Open Source project under Apache Foundation.

Facebook Hive

Facebook Hive

Hive is from the house of Facebook, which makes it to use SQL queries against Hadoop, making it simpler for non programmers to use.

Thrift.

Apache Thrift

Thrift

Facebook uses several programming languages to implement its services and features. It use PHP for front end, Erlang for chat, Java and C++ to implement some services. Thrift is a cross language framework that binds all these languages together and facilitates them to talk to each other. It makes it simpler for cross language development at Facebook.

The Gatekeeper.

Apart from these, Facebook uses a system called as Gatekeeper that lets them run different code for different sets of users. This Gatekeeper system lets Facebook to gradually release new features and perform testing of several new products.

That’s it, the list goes on with several pages if we keep discussing. We intended to provide you with the information on core Open Source software powering the Social Networking giant.

Also read : Why Facebook is leading Social Network today

Are you impressed with these technologies powering the Facebook? Even you can use them in your own projects if you are developer. Since these are Open Source they are Free to use.

Here is a tidbit to you!

We at CuriousPost loves Open source and use them to update you with the latest and interesting information. The world fell in love with Open Source, so as we.

Sharing is caring.

Support us by sharing this article and following us on Facebook, Twitter and Google+.

Ganesh Venigalla

Besides Gravity, nothing keeps me down😎

You may also like...

8 Responses

  1. Ignasio says:

    How about Reactjs and ReactNative. I thought these were used for frontend work?

    • Ganesh Venigalla says:

      They are open source projects contributed by Facebook…

      • Dagor says:

        Reactjs and ReactNative are created and maintained by Facebook, they’re not just contributors they are the creators of those two projects

  2. Mark Dansie says:

    Grear blog Ganesh but one other really important Open Source technology that underpins all of these 7 is Open source hardware being developed by +Open Compute Project​ 

  3. Oscar says:

    Really great post. Facebook tends to get a bad rap for a lot of stuff, but hardly anyone notices some of the good things they do for the open source community.

  4. kartik says:

    thnakyu for sharing