SlideShare a Scribd company logo
Learning and Development                 Be part of the learning experience at Aditi.

              presents
                                               Join the talks. Its free.
                                               Free as in freedom at work, not free-beer.


                                               Its not training. Its mind-opener.

                                               Speak at these events. Or bring an
                                               expert/friend to talk.
    Open Talk Series
                                               Mail OpenTalk@aditi.com with topic and
      A series of illuminating talks and
  interactions that open our minds to new      availability.
ideas and concepts; that makes us look for
   newer or better ways of doing what we
 did; or point us to exciting things we have
  never done before. A range of topics on
     Technology, Business, Fun and Life.
HOW TO ENJOY AN                    TALK



Bring coffee & friends      Switch OFF mobile      Switch ON mind




Sign attendance sheet      SHARE your wisdom      QUESTION notions




              THANK the Talker       SPREAD the good word
architecture
                                        Sundararajan Subramanian
Image Copyright : facebook
facebook in 20 Minutes
                        • 2.7 M Photos
                        • 10.2M Comments
                        • 4.6 Messages

Statistics

What is Facebook
                        •   Shared links: 1,000,000
Technical challenges    •   Tagged photos: 1,323,000
Front End
                        •   Event invites sent out: 1,484,000
Data arch

Services architecture   •   Wall Posts: 1,587,000
                        •   Status updates: 1,851,000
                        •   Friend requests accepted: 1,972,000
                        •   Photos uploaded: 2,716,000
                        •   Comments: 10,208,000
                        •   Message: 4,632,000
facebook in 20 Minutes


                        Direct Friendship




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture




                                            Friends of Friends
What is facebook

                        • A social graph
                        • Friends , Friends of friends, somewhere in the
                          network.
                        • Friends can comment, like, read your posts
                        • Friends of friends can just read
Statistics

What is Facebook

Technical challenges    • Facebook messages – chat/ email/ SMS
Front End
                        • Near real-time updates
Data arch

Services architecture
Technical Challenges


                          Challenges     Ok to Live with
Statistics

What is Facebook
                        • High           • Not Mission
Technical challenges

Front End
                          Concurrency      Critical
Data arch
                        • High Data      • Cached data is
Services architecture
                          Volumes          fine
                        • Multilevel     • Write Failures
                          Hierarchical     are tolerable
                          data
The Data – (Illustrational)
                                          Everything is a hash lookup
                        User        Friend User             Age    Bio          Intere
                        ID          s with Name                                 sts
Statistics              1           2,3,4       XYZ         ..     ..           ..
What is Facebook        2           1           ..          ..     ..           ..
Technical challenges



                            Challenges                              Solutions
Front End

Data arch

Services architecture



                               The Relational Nature of the data         No Constraints, No Joins in MySQL


                               Data Volumes                              Write Through cache implementation


                               Concurrency                               Hash Ring based architecture
facebook – Data Partition initial thoughts
        • Horizontal partitioning based on
          Networks.
                        – Harvard
Statistics              – Stanford
What is Facebook

Technical challenges
                        – Carnegie
Front End

Data arch

Services architecture
facebook –Photos - HayStack
        • Each File read required a minimum
          of 3 i/o in a typical file system
        • CDNs- Not a Solution
        • Haystack is a customized storage
Statistics



          system, which minimizes the
What is Facebook

Technical challenges

Front End
          amount of File metadata and
          involves only 1 i/o for each file
Data arch

Services architecture


          read.
        • Haystack caches extensive data in
          in its main memory
facebook – HayStack



Statistics              HayStack Interface
                                                     HayStack             HayStack
What is Facebook
                                                     Cache                Directory
Technical challenges

Front End

Data arch                      Logical Drives                        Logical Drives
Services architecture


                          PD        PD          PD              PD        PD          PD




                           http://CDN/Cache/Machine id/(Logical volume, Photo)
Facebook – Serving the Photo - Haystack




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
Facebook – Scribe - Logging

                        Nodes              Nodes               Nodes
                            Scribe             Scribe                 Scribe


Statistics

What is Facebook

Technical challenges

Front End                                                    $messages = array();
                                                             $entry = new LogEntry;
Data arch
                                     Central Scribe Server   $entry->category = "buckettest";
Services architecture                                        $entry->message = "something very”;
                                                             $messages []= $entry;
                                                             $result = $conn->Log($messages);


                        Dashboards
                                            HBase
facebook – Services– Thrift
                        • Lightweight Software framework for cross-
                          language development
                        • Dev need not worry about serialization ,
                          connection handling and threading
                        • Supported bindings:
Statistics

What is Facebook

Technical challenges       – C++, PHP, Python, java, ruby, erlang, perl,
Front End                    haskell
                        • Transports : Simple interface to i/o
Data arch

Services architecture


                        • Protocols : Serialization format
                           – TBinaryProtocol, TJsonProtocol
                        • Severs
                           – Non Blocking, Async, Single threaded, multi-
                             threaded
facebook – Memcache
                        • In-memory distributed hash table
                        • “hot” data from MySQL stored in cache

Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end - PHP
                        • Op – Code Optimization
                        • APC improvements(alternate PHP cache)
                           – Lazy Loading
                           – Cache priming
Statistics
                        • Custom Extensions
What is Facebook

Technical challenges
                           – Memcache Client Extension
Front End                  – Serialization format
Data arch
                           – Logging, Stats Collection, Monitoring
Services architecture

                           – Asynchronous event-handling mechanism
facebook – front end – Hip Hop
                        • Source Code Transformer
                        • Static Analysis, type inference, Code
                          Generation
Statistics
                        • Easier to write extensions
What is Facebook

Technical challenges    • Significantly cuts down on CPU and
                          Memory usage
Front End

Data arch

Services architecture
facebook – front end – Hip Hop



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end – BigPipe
                        BigPipe first breaks web pages into multiple chunks called pagelets




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end – BigPipe
                        BigPipe first breaks web pages into multiple chunks called pagelets
                                                              Request Parsing

                                            Web Server parses and sanity checks the request


                                                               Data Fetching

                                               Web Server fetches data from storage tier
Statistics

What is Facebook                                            Markup Generation

                                                 Web server generates HTML Markup
Technical challenges

Front End                                                    Network Transport

                                                        Response is transferred
Data arch

Services architecture
                                                             CSS downloading




                                                           Dom Tree Construction




                                                           JavaScript downloading




                                                                JS Execution
facebook – Technology Stack

       Front End                          Big Pipe          Hip Hop

                             PHP - Custom compiler / Cache implementations

                                         Linux – Custom Kernel Extensions



                                                     Service Aggregators
       Scribe

                Thrift




                             Service 1          Service 2         Service 3     Service 4



       Data Store
                            MemCache – Write Through Cache implementation

                         Cassandra            MySQL             HBase         HayStack
facebook – Messages Infrastructure




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook - Messages



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook - Messages



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook – Cells

                        Cell

                                          Node
                                           1
Statistics

What is Facebook
                          Node
Technical challenges                                    Node2
                           n            Zookeper
Front End                               Controller
Data arch                               Machines
Services architecture

Messages                         Node                Node
                                  4                   3


                               Application Server Cluster


                                        Metadata Store
facebook – Cells
                        • They help scale incrementally while
                          limiting failure scenarios
                        • Easy upgrades
Statistics

What is Facebook
                        • Metadata store failures affect only a few
Technical challenges
                          users
Front End

Data arch

Services architecture
                        • Easy rollout
Messages
                        • Flexibility to host cells in different data
                          centers with multi-homing for disaster
                          recovery
Take away – for our applications
          • Really parallel Asynchronous AJAX Pages
              – ASP.Net Update panels is a HOAX
          • Appropriate usage of client side technology
          • Cache – Cache – Cache
              – Write Through Caches are way better
              – App Fabric cache/ Memcache
          • High – Normalization is not needed
              – Store denormalized views – materialized views
          •   Parallel Services and Service aggregators
          •   Fault tolerant applications
          •   Asynchronous Processing
          •   1 Sec response time is too SLOW
References
             •   http://facebook.com/engineering
             •   www.infoq.com
             •   www.highscalability.com
             •   www.stackoverflow.com
             •   www.thrift.org
Facebook Architecture - Breaking it Open
Keep Learning


For suggestions on topics/ feedbacks etc.,


      Contact OpenTalk@aditi.com
Ad

More Related Content

What's hot (20)

Presentation web based application|Web designing training center in coimbator...
Presentation web based application|Web designing training center in coimbator...Presentation web based application|Web designing training center in coimbator...
Presentation web based application|Web designing training center in coimbator...
Vignesh026
 
Case study of amazon EC2 by Akash Badone
Case study of amazon EC2 by Akash BadoneCase study of amazon EC2 by Akash Badone
Case study of amazon EC2 by Akash Badone
Akash Badone
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Reversing Google Protobuf protocol
Reversing Google Protobuf protocolReversing Google Protobuf protocol
Reversing Google Protobuf protocol
n|u - The Open Security Community
 
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
confluent
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
Halil Burak Cetinkaya
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs World
Kellyn Pot'Vin-Gorman
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentation
Hyphen Call
 
AFS introduction
AFS introductionAFS introduction
AFS introduction
Manfred Furuholmen
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
sravya raju
 
Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS
Dr Neelesh Jain
 
Virtualization- Cloud Computing
Virtualization- Cloud ComputingVirtualization- Cloud Computing
Virtualization- Cloud Computing
NIKHILKUMAR SHARDOOR
 
Google File System
Google File SystemGoogle File System
Google File System
Junyoung Jung
 
Introduction to Filecoin
Introduction to Filecoin   Introduction to Filecoin
Introduction to Filecoin
Vanessa Lošić
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
confluent
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPA
Neo4j
 
Balkan - data eng meetup - data fusion
Balkan - data eng meetup - data fusionBalkan - data eng meetup - data fusion
Balkan - data eng meetup - data fusion
Balkan Misirli
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
MongoDB
 
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 20190-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
confluent
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
jexp
 
Presentation web based application|Web designing training center in coimbator...
Presentation web based application|Web designing training center in coimbator...Presentation web based application|Web designing training center in coimbator...
Presentation web based application|Web designing training center in coimbator...
Vignesh026
 
Case study of amazon EC2 by Akash Badone
Case study of amazon EC2 by Akash BadoneCase study of amazon EC2 by Akash Badone
Case study of amazon EC2 by Akash Badone
Akash Badone
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
confluent
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs World
Kellyn Pot'Vin-Gorman
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentation
Hyphen Call
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
sravya raju
 
Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS
Dr Neelesh Jain
 
Introduction to Filecoin
Introduction to Filecoin   Introduction to Filecoin
Introduction to Filecoin
Vanessa Lošić
 
Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?Kafka Streams: What it is, and how to use it?
Kafka Streams: What it is, and how to use it?
confluent
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPA
Neo4j
 
Balkan - data eng meetup - data fusion
Balkan - data eng meetup - data fusionBalkan - data eng meetup - data fusion
Balkan - data eng meetup - data fusion
Balkan Misirli
 
Part One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN StackPart One: Building Web Apps with the MERN Stack
Part One: Building Web Apps with the MERN Stack
MongoDB
 
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 20190-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
confluent
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
jexp
 

Similar to Facebook Architecture - Breaking it Open (20)

Big data berlin
Big data berlinBig data berlin
Big data berlin
kammeyer
 
Engineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platformsEngineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platforms
Hisham Arafat
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
Durga Gadiraju
 
E meyer lamp2012
E meyer lamp2012E meyer lamp2012
E meyer lamp2012
Elaine Meyer
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
sebedatalabs
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
Nuxeo
 
Bertenthal
BertenthalBertenthal
Bertenthal
Jesse Lingeman
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
Sri Ambati
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data Lessons
George Stathis
 
Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18
Mike King
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big Data
Denny Lee
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Memoori
 
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
Big Data Spain
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Big Data Introduction - Solix empower
Big Data Introduction - Solix empowerBig Data Introduction - Solix empower
Big Data Introduction - Solix empower
Durga Gadiraju
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"
Discover Pinterest
 
Agile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational IntelligenceAgile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational Intelligence
Inside Analysis
 
DA_01_Intro.pptx
DA_01_Intro.pptxDA_01_Intro.pptx
DA_01_Intro.pptx
Alok Mohapatra
 
Insights through the use smart data
Insights through the use smart dataInsights through the use smart data
Insights through the use smart data
James Milne
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
Sergey Karayev
 
Big data berlin
Big data berlinBig data berlin
Big data berlin
kammeyer
 
Engineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platformsEngineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platforms
Hisham Arafat
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
Durga Gadiraju
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
sebedatalabs
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
Nuxeo
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
Sri Ambati
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data Lessons
George Stathis
 
Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18
Mike King
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big Data
Denny Lee
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Memoori
 
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
Big Data Spain
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Big Data Introduction - Solix empower
Big Data Introduction - Solix empowerBig Data Introduction - Solix empower
Big Data Introduction - Solix empower
Durga Gadiraju
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"
Discover Pinterest
 
Agile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational IntelligenceAgile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational Intelligence
Inside Analysis
 
Insights through the use smart data
Insights through the use smart dataInsights through the use smart data
Insights through the use smart data
James Milne
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
Sergey Karayev
 
Ad

More from HARMAN Services (20)

3 Dimensions Of Transformation
3 Dimensions Of Transformation3 Dimensions Of Transformation
3 Dimensions Of Transformation
HARMAN Services
 
Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance
HARMAN Services
 
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and GovernanceHow to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
HARMAN Services
 
Digital Transformation: Connected API Ecosystems
Digital Transformation: Connected API EcosystemsDigital Transformation: Connected API Ecosystems
Digital Transformation: Connected API Ecosystems
HARMAN Services
 
Webinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoTWebinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoT
HARMAN Services
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
HARMAN Services
 
15 Big Data Billionaires
15 Big Data Billionaires15 Big Data Billionaires
15 Big Data Billionaires
HARMAN Services
 
Digital Transformation in Travel
Digital Transformation in TravelDigital Transformation in Travel
Digital Transformation in Travel
HARMAN Services
 
Digital Transformation in Retail
Digital Transformation in RetailDigital Transformation in Retail
Digital Transformation in Retail
HARMAN Services
 
Digital Transformation in Media
Digital Transformation in MediaDigital Transformation in Media
Digital Transformation in Media
HARMAN Services
 
Digital Transformation in Hospitality
Digital Transformation in HospitalityDigital Transformation in Hospitality
Digital Transformation in Hospitality
HARMAN Services
 
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
HARMAN Services
 
Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow
HARMAN Services
 
Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study
HARMAN Services
 
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - InfographicHow Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
HARMAN Services
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
HARMAN Services
 
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
HARMAN Services
 
24 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 2424 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 24
HARMAN Services
 
Webinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected CustomerWebinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected Customer
HARMAN Services
 
5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference
HARMAN Services
 
3 Dimensions Of Transformation
3 Dimensions Of Transformation3 Dimensions Of Transformation
3 Dimensions Of Transformation
HARMAN Services
 
Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance
HARMAN Services
 
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and GovernanceHow to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
HARMAN Services
 
Digital Transformation: Connected API Ecosystems
Digital Transformation: Connected API EcosystemsDigital Transformation: Connected API Ecosystems
Digital Transformation: Connected API Ecosystems
HARMAN Services
 
Webinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoTWebinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoT
HARMAN Services
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
HARMAN Services
 
15 Big Data Billionaires
15 Big Data Billionaires15 Big Data Billionaires
15 Big Data Billionaires
HARMAN Services
 
Digital Transformation in Travel
Digital Transformation in TravelDigital Transformation in Travel
Digital Transformation in Travel
HARMAN Services
 
Digital Transformation in Retail
Digital Transformation in RetailDigital Transformation in Retail
Digital Transformation in Retail
HARMAN Services
 
Digital Transformation in Media
Digital Transformation in MediaDigital Transformation in Media
Digital Transformation in Media
HARMAN Services
 
Digital Transformation in Hospitality
Digital Transformation in HospitalityDigital Transformation in Hospitality
Digital Transformation in Hospitality
HARMAN Services
 
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
HARMAN Services
 
Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow
HARMAN Services
 
Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study
HARMAN Services
 
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - InfographicHow Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
HARMAN Services
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
HARMAN Services
 
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
HARMAN Services
 
24 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 2424 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 24
HARMAN Services
 
Webinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected CustomerWebinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected Customer
HARMAN Services
 
5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference
HARMAN Services
 
Ad

Recently uploaded (20)

Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 

Facebook Architecture - Breaking it Open

  • 1. Learning and Development Be part of the learning experience at Aditi. presents Join the talks. Its free. Free as in freedom at work, not free-beer. Its not training. Its mind-opener. Speak at these events. Or bring an expert/friend to talk. Open Talk Series Mail [email protected] with topic and A series of illuminating talks and interactions that open our minds to new availability. ideas and concepts; that makes us look for newer or better ways of doing what we did; or point us to exciting things we have never done before. A range of topics on Technology, Business, Fun and Life.
  • 2. HOW TO ENJOY AN TALK Bring coffee & friends Switch OFF mobile Switch ON mind Sign attendance sheet SHARE your wisdom QUESTION notions THANK the Talker SPREAD the good word
  • 3. architecture Sundararajan Subramanian Image Copyright : facebook
  • 4. facebook in 20 Minutes • 2.7 M Photos • 10.2M Comments • 4.6 Messages Statistics What is Facebook • Shared links: 1,000,000 Technical challenges • Tagged photos: 1,323,000 Front End • Event invites sent out: 1,484,000 Data arch Services architecture • Wall Posts: 1,587,000 • Status updates: 1,851,000 • Friend requests accepted: 1,972,000 • Photos uploaded: 2,716,000 • Comments: 10,208,000 • Message: 4,632,000
  • 5. facebook in 20 Minutes Direct Friendship Statistics What is Facebook Technical challenges Front End Data arch Services architecture Friends of Friends
  • 6. What is facebook • A social graph • Friends , Friends of friends, somewhere in the network. • Friends can comment, like, read your posts • Friends of friends can just read Statistics What is Facebook Technical challenges • Facebook messages – chat/ email/ SMS Front End • Near real-time updates Data arch Services architecture
  • 7. Technical Challenges Challenges Ok to Live with Statistics What is Facebook • High • Not Mission Technical challenges Front End Concurrency Critical Data arch • High Data • Cached data is Services architecture Volumes fine • Multilevel • Write Failures Hierarchical are tolerable data
  • 8. The Data – (Illustrational) Everything is a hash lookup User Friend User Age Bio Intere ID s with Name sts Statistics 1 2,3,4 XYZ .. .. .. What is Facebook 2 1 .. .. .. .. Technical challenges Challenges Solutions Front End Data arch Services architecture The Relational Nature of the data No Constraints, No Joins in MySQL Data Volumes Write Through cache implementation Concurrency Hash Ring based architecture
  • 9. facebook – Data Partition initial thoughts • Horizontal partitioning based on Networks. – Harvard Statistics – Stanford What is Facebook Technical challenges – Carnegie Front End Data arch Services architecture
  • 10. facebook –Photos - HayStack • Each File read required a minimum of 3 i/o in a typical file system • CDNs- Not a Solution • Haystack is a customized storage Statistics system, which minimizes the What is Facebook Technical challenges Front End amount of File metadata and involves only 1 i/o for each file Data arch Services architecture read. • Haystack caches extensive data in in its main memory
  • 11. facebook – HayStack Statistics HayStack Interface HayStack HayStack What is Facebook Cache Directory Technical challenges Front End Data arch Logical Drives Logical Drives Services architecture PD PD PD PD PD PD http://CDN/Cache/Machine id/(Logical volume, Photo)
  • 12. Facebook – Serving the Photo - Haystack Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 13. Facebook – Scribe - Logging Nodes Nodes Nodes Scribe Scribe Scribe Statistics What is Facebook Technical challenges Front End $messages = array(); $entry = new LogEntry; Data arch Central Scribe Server $entry->category = "buckettest"; Services architecture $entry->message = "something very”; $messages []= $entry; $result = $conn->Log($messages); Dashboards HBase
  • 14. facebook – Services– Thrift • Lightweight Software framework for cross- language development • Dev need not worry about serialization , connection handling and threading • Supported bindings: Statistics What is Facebook Technical challenges – C++, PHP, Python, java, ruby, erlang, perl, Front End haskell • Transports : Simple interface to i/o Data arch Services architecture • Protocols : Serialization format – TBinaryProtocol, TJsonProtocol • Severs – Non Blocking, Async, Single threaded, multi- threaded
  • 15. facebook – Memcache • In-memory distributed hash table • “hot” data from MySQL stored in cache Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 16. facebook – front end - PHP • Op – Code Optimization • APC improvements(alternate PHP cache) – Lazy Loading – Cache priming Statistics • Custom Extensions What is Facebook Technical challenges – Memcache Client Extension Front End – Serialization format Data arch – Logging, Stats Collection, Monitoring Services architecture – Asynchronous event-handling mechanism
  • 17. facebook – front end – Hip Hop • Source Code Transformer • Static Analysis, type inference, Code Generation Statistics • Easier to write extensions What is Facebook Technical challenges • Significantly cuts down on CPU and Memory usage Front End Data arch Services architecture
  • 18. facebook – front end – Hip Hop Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 19. facebook – front end – BigPipe BigPipe first breaks web pages into multiple chunks called pagelets Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 20. facebook – front end – BigPipe BigPipe first breaks web pages into multiple chunks called pagelets Request Parsing Web Server parses and sanity checks the request Data Fetching Web Server fetches data from storage tier Statistics What is Facebook Markup Generation Web server generates HTML Markup Technical challenges Front End Network Transport Response is transferred Data arch Services architecture CSS downloading Dom Tree Construction JavaScript downloading JS Execution
  • 21. facebook – Technology Stack Front End Big Pipe Hip Hop PHP - Custom compiler / Cache implementations Linux – Custom Kernel Extensions Service Aggregators Scribe Thrift Service 1 Service 2 Service 3 Service 4 Data Store MemCache – Write Through Cache implementation Cassandra MySQL HBase HayStack
  • 22. facebook – Messages Infrastructure Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 23. facebook - Messages Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 24. facebook - Messages Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 25. facebook – Cells Cell Node 1 Statistics What is Facebook Node Technical challenges Node2 n Zookeper Front End Controller Data arch Machines Services architecture Messages Node Node 4 3 Application Server Cluster Metadata Store
  • 26. facebook – Cells • They help scale incrementally while limiting failure scenarios • Easy upgrades Statistics What is Facebook • Metadata store failures affect only a few Technical challenges users Front End Data arch Services architecture • Easy rollout Messages • Flexibility to host cells in different data centers with multi-homing for disaster recovery
  • 27. Take away – for our applications • Really parallel Asynchronous AJAX Pages – ASP.Net Update panels is a HOAX • Appropriate usage of client side technology • Cache – Cache – Cache – Write Through Caches are way better – App Fabric cache/ Memcache • High – Normalization is not needed – Store denormalized views – materialized views • Parallel Services and Service aggregators • Fault tolerant applications • Asynchronous Processing • 1 Sec response time is too SLOW
  • 28. References • http://facebook.com/engineering • www.infoq.com • www.highscalability.com • www.stackoverflow.com • www.thrift.org
  • 30. Keep Learning For suggestions on topics/ feedbacks etc., Contact [email protected]