What coding program did Mark Zuckerberg use to create Facebook?

What coding program did Mark Zuckerberg use to create Facebook?

 

The real story is something different that you would expect. Zuckerberg is not a genius coder but have skills in other areas. Adam D'Angelo - the former CTO of Facebook was pivotal in creation of the big data website.

Cameron and Tyler Winklevoss and Divya Narendra were the people from whom Zuckerberg stole the idea of thefacebook. They had approached Zuckerberg asking for his assistance in creating a social network for Harvard students called "HarvardConnection" because their programmer got a high paid job. He entered in the project and continued the work of his predecessor but he never finished. Instead he created based on the code of harvardconnection another project called “TheFacebook”. Following a lawsuit filed against Zuckerberg, eventually all three received a settlement in 2008 that included 1.2 million shares in the company each. Facebook proved extremely popular with Harvard students when it was first launched, so much so that the site was soon also made available to students at Stanford, Yale and Columbia before expanding to numerous other colleges and then to the entire world.

Initially it was built upon LAMP - Linux as Operating system, Apache-server, Database-MySql and PHP- Server side scripting language. But as the days passed, it has become huge. It uses HipHop Compiler (HHVM) that converts PHP to C++. For its chat service, Facebook initially used Erlang (The language which is used in majority of messenger apps, such as WhatsApp). It has since switched over to C++. To cater and to store its enormous volume of photos and videos uses HayStack and Scribe for logging. Cassandra is a distributed storage system with no single point of failure used for its index search. And to analyse its data from its users, it uses technologies such as Hadoop and Hive.(non SQL) To make sure all these components, written in a diverse variety of languages and frameworks, work together seamlessly, it uses Thrift (developed internally) BigPipe is their custom technology to accelerate page rendering using a pipelining logic.(each web page in sections -called “pagelets” for optimal performance.) Varnish Cache (HTTP accelerator) is used for HTTP proxying. They've preferred it for its high performance and efficiency. For Facebook Messages they use own architecture which is notably based on infrastructure dynamic cluster management. Business logic and persistence is encapsulated in so-called 'Cell'. Each Cell handles a part of users ; new Cells can be added as popularity grows. Persistence is achieved using HBase.

Facebook is estimated to own more than 60,000 servers and recent datacenter in Prineville, Oregon is based on entirely self-designed hardware. Their Hadoop and Hive cluster is made of 3000 servers with 8 cores, 32 GB RAM, 12 TB disks that is a total of 24k cores, 96 TB RAM and 36 PB disks. 300 TB of data is stored in Memcached processes.( It’s a distributed memory caching system which use as a caching layer between the web servers and MySQL servers - since database access is relatively slow)

Additionally, here’s a list of other software products that Facebook is using internally:

  • Marketing: eMarketer, Factual, Mailgun, Owler
  • Sales and Support: BuiltWith, Congra, GetFeedback, Salesforce Sales Cloud
  • Product and Design: Blososm, Cage, Google Fonts, Sketch
  • Analytics: DialogTech, Google Analytics, MicroStrategy, StatCounter
  • HR: AngelList Jobs, Connectifier, CrowdFlower, Hired
  • Finance and Accounting: Bango, Fortumo, SpringCM
  • Productivity: Boardvantage, Do, Google Drive, Throttle

Matthew Nwachukwu

89 Blog posts

Comments
Matthew Nwachukwu 9 w

Wow.. Interesting Facts.