• Oct. 28, 2003: Mark Zuckerberg hacked into
restricted areas of Harvard University's
computer network to create Facemash.
• January 2004: Zuckerberg began to write the
basic software to create a universal Harvard
social directory, TheFacebook.
• Jan. 11, 2004: Zuckerberg registered
• Feb. 4,2004: TheFacebook launched at
• March 2004: Initially restricted to Harvard
students, The Facebook expanded to other
colleges, including Stanford University,
Dartmouth College, Columbia University and
The First Investor
• June 2004: The Facebook moved it's
headquarters to Palo Alto, Calif., and received
an investment of $500,000 from Peter Thiel.
• June 2004: The facebook incorporated into a
new company, and Sean Parker, a co-founder
of Napster, took the job of president for the
• September 2004: Facebook replaced its "User
is..." prompt with a "What's on your mind?"
question in the newly designed space for
posting and sharing status updates called "The
• Aug. 23, 2005: The Facebook dropped its
"The" and became Facebook. Purchase price it
paid for the Facebook.com domain name:
• September 2005: Facebook added networks
for high school students. In December 2005,
Facebook reached 6 million users.
• October 2005: Artist David Choe began painting
murals at the headquarters of Facebook in
exchange for company stock. Today, the shares he
received are worth an estimated $200 million.
Finally opened for all
• Sept. 26, 2006: Facebook removed its
restrictions and allowed anyone 13 and older
with a valid email address to join. A news
feed and a mini-feed were introduced,
providing easier ways to see what your friends
are up to.
• May 2007: Facebook Platform launched with
65 developers and more than 85
applications. Third-party developers quickly
followed, building applications to integrate
with Facebook. Games such as Farmville and
Mafia Wars spread rapidly.
The Front End
How does Facebook work?
• Facebook uses a variety of services,
tools, and programming languages to
make up its core infr. At the front end,
their servers run a LAMP (Linux,
Apache, MySQL, and PHP) stack with
Memcache. A structure
• For the database, Facebook utilizes MySQL
because of its speed and reliability. MySQL is
used primarily as a key-value store as data is
randomly distributed amongst a large set of
logical instances. These logical instances are
spread out across physical nodes and load
balancing is done at the physical node level.
• Facebook uses PHP because it is a good web
programming language with extensive support
and an active developer community and it is
good for rapid iteration. PHP is a dynamically
typed/interpreted scripting language
The Back End
• How Does Facebook Work?
• Facebook’s backend services are written in a variety of
different programming languages including C++, Java,
Python, and Erlang. Their philosophy for the creation
of services is as follows:
• 1. Create a service if needed
• 2. Create a framework/toolset for easier creation of
• 3. Use the right programming language for the task