SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Enabling Fast Pages and Furious
Development While Supporting a
Billion Users

Subbu Subramanian, Ph.D.
Software Engineer
Pottery Challenge
Pottery Challenge: Day 3




 Team 1: Make a PERFECT Pot   Team 2: Make 20 pots
950,000,000
500M                           700B                           30B           2.5M
    daily active users             minutes spent               pieces of content    sites using
                                  on the site every           shared each month    social plugins
                                       month


Latests stats @ http://newsroom.fb.com/content/default.aspx?NewsAreaId=22
Require tackling some

UNIQUE TECHNOLOGY CHALLENGES
Scaling traditional websites



                               Bob’s data



       Bob
Scaling Facebook: Interconnected data


                 Bob
Scaling Facebook: Interconnected data


                 Bob            Brian
Scaling Facebook: Interconnected data


 Felicia         Bob            Brian
News Feed




950 million unique home pages
Actor ID - Object ID - Story type   Multifeed




            Actor ID - Object ID - Story type   Multifeed




Stories for up to 5000 friends in milliseconds
Memcache




                                  TAO (Custom Ca



1 Billion operations per second
while supporting growth …                                                                                   ?
                                                                                                          Unified Mobile
                                                                                                              Sites
                                                                                                          Questions
                                                                                                            800M
                                                                                                      New2011
                                                                                                          Profile
                                                                                                     Messages
                                                                                                        2010
                                                                                                     Groups
                                                                                                       2010
                                                                                                       2010
                                                                                                  Mobile Event
                                                                                                     2010


                                                                                        </>
                                                                                                Places
                                                                                                 2010
                                                                                            Photos Update
                                                                                                 2010
                                                                                         Social Plugins
                                                                                        Open 2010
                                                                                             Graph
                                                                                           2010




                                                                           The Stream
                                                                             2009


                                                            Translations
                                                               2008
                                Sign Up
                                          Platform launch
   New Apps      New Apps    NewsFeed          2007
 February 2004                 2006
                 2004/2005




2004                                                                                                          2011
Pottery Challenge




 Team 1: Make a PERFECT Pot   Team 2: Make 20 pots
Scale
                    	


                                             Move Fast
Photo by Eole: at http://www.flickr.com/photos/eole/2193801804// and used
under Creative Commons license
Move Fast	

   Moving fast does not mean poor quality	

           We want a high ship rate	

Invest in removing friction that slows us down
Empower Engineers	

      	

           Starting on day ONE	

   Follow your passion – pick your team	

        Push any time you want to	

                     …
Commits per Month




1/1/2006   1/1/2007     1/1/2008   1/1/2009   1/1/2010   1/1/2011   1/1/2012
Move Fast            Scale Big          Be Bold




and build things   with min resources   and innovate



                       OMG!
Move Fast            Scale Big            Be Bold
How can Infrastructure support these goals?
q  Pre-empt issues before they hit production

q  Know immediately when things go wrong

q  Know what to do when things go wrong

       and build things   with min resources     and innovate

= LOTS OF INSTRUMENTATION, TOOLS and AUTOMATION
Perflab (aka Difflab)
• Performance test every commit
• Spot regressions before deploy
Perflab (aka Difflab)
• Also tracks slow drift regressions
• Helps us push thousands of revs per week
Gatekeeper
       Simple code
    but powerful check

 if!
 (gk_check(‘secret_project’,
 $user) {
     !
 render_cool_feature();}
 else {
     !
 render_normal_feature();}!




•  Many options for precise
   targeting
•  500M+ gatekeeper checks
   performed every second
Rigorous Test Coverage
Assigning ownership to failures
Canary Tier and Delta view
Move Fast            Scale Big          Be Bold

  q  Pre-empt issues before they hit production

  q  Know immediately when things go wrong

  q  Know what to do when things go wrong


and build things   with min resources   and innovate
*Lots* of Instrumentation = Fire Hose of Data
Claspin
• High-density heatmap viewer for large services
• Find needles in a haystack - drilldown quickly
tasks       sevmanager   logview   testconsole



differential    wirehog     domino      groups



   hipal          hsh        hud        kobold



    ods         opsfeed     scuba        serf
Move Fast            Scale Big          Be Bold

  q  Pre-empt issues before they hit production

  q  Know immediately when things go wrong

  q  Know what to do when things go wrong


and build things   with min resources   and innovate
Scuba: a tool for diving into an emerald sea of data
Motivation
Requirements for data exploration

Need                                            Don’t Need


ü  Speed                                       ⤫  Replication

ü  Real-time data                              ⤫  Transactions

ü  Ad-hoc filtering and grouping                ⤫  Long retention

ü  AVG, SUM, COUNT, histograms  percentiles   ⤫  Table joins

                                                ⤫  Unique keys

                                                ⤫  Full map-reduce
Hive (hadoop)
•  “Unlimited” storage/CPU

•  Full-featured Query
   Language

•  Numerous tools and
   Frameworks




But Slow!
MySQL

Works, but …
Scuba: Data Model



Few pre-defined types and operations

“Data Sets”

- No upfront schema declaration

- Stored In memory

- Sorted by Time stamp
Scuba Data Types: Integers

VLQ encoded array of 64bit integers (single
char*)

O(1) lookup

Usage

 Aggregate on these (SUM, AVG, etc...)

 Filter (==, =, =)

“Which pages on the site have an average
wall time in the last hour  2 seconds”
Scuba Data Types: Normals
Strings mapped to ints, Stored as array of ints

size: 4 bytes

String Normalization

 // char* = int32

 'home.php', ’dc1', 'a2', 'en_US' = 32, 14, 3, 289

Usage

 Group By value

 Filter (==, !=, in set, not in set)   “Top 10 countries that have the slowest pages today”
Scuba Data Types: Denorm

Array of plain ol' char*

To be used ONLY for unique identifiers that
would not benefit from normalization

size: 8 + strlen + 1 bytes

Usage

None other than displaying the value

Cannot filter or group by these. No native
regex support.
Scuba Data Types: Tagsets
A set of normals. Stored as bit vector

size: 8 + 2 + ceil(I / 8) bytes where I is the max
index represented

Usage

Filter (has all tags, has some tags, has none
of these tags)

Bit Set

'timeline', 'mercury', 'titan_drafts' = 0, 5, 14


 “Is there a difference in cpu usage across users in test group A vs test group B”
Storage

          1 aggregator / box

          8+ leaves / box

          Hundreds of boxes




          Data stored over Terabytes of RAM!
Leaves

         Multiple per machine ( #cores / N )

         Only queried by the aggregator on the local
         machine

         Persist all write traffic to disk (compressed).
         Replay all writes on startup

         Store all samples efficiently in memory

         Leaves are independent; No shared state
Aggregation

              Queries distributed, and aggregated as a
              binary tree

              (For now, there is no sorting of results. All
              aggregation operations must be
              commutative and associative.)
Operations

4 functions:

visit, summarize, combine, and finalize




Also a Hive-SQL like query language
interface
Querying Front-end
tasks       sevmanager   logview   testconsole



differential    wirehog     domino      groups



   hipal          hsh        hud        kobold



    ods         opsfeed     scuba        serf
Move Fast            Scale Big          Be Bold




and build things   with min resources   and innovate

Weitere ähnliche Inhalte

Andere mochten auch

Smart phone dev資料
Smart phone dev資料Smart phone dev資料
Smart phone dev資料青島 英和
 
Video marketing para tu canal web 2.0
Video marketing para tu canal web 2.0Video marketing para tu canal web 2.0
Video marketing para tu canal web 2.0econred
 
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...Daniel Flores
 
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon Online
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon OnlineJuly 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon Online
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon OnlineNYU Tandon Online
 
SXSW 2015 - VCCP Trend Report
SXSW 2015 - VCCP Trend ReportSXSW 2015 - VCCP Trend Report
SXSW 2015 - VCCP Trend ReportWill Harvey
 
The Learning House Way
The Learning House WayThe Learning House Way
The Learning House WayLearning House
 
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
[Austin WordPress Meetup] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Cid(crime) report amit shah accepted bribe of 2.5 crore
Cid(crime) report amit shah accepted bribe of 2.5 croreCid(crime) report amit shah accepted bribe of 2.5 crore
Cid(crime) report amit shah accepted bribe of 2.5 croreGaurav Pandhi
 
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących Katarzyna Joanna Mörchen
 
Generations of Alumni: Why Focus on Generational Dynamics?
Generations of Alumni: Why Focus on Generational Dynamics?Generations of Alumni: Why Focus on Generational Dynamics?
Generations of Alumni: Why Focus on Generational Dynamics?Ologie
 
Chapter 10 communication and change
Chapter 10 communication and changeChapter 10 communication and change
Chapter 10 communication and changeBHUOnlineDepartment
 

Andere mochten auch (16)

Ch.11 pics
Ch.11 picsCh.11 pics
Ch.11 pics
 
Smart phone dev資料
Smart phone dev資料Smart phone dev資料
Smart phone dev資料
 
Video marketing para tu canal web 2.0
Video marketing para tu canal web 2.0Video marketing para tu canal web 2.0
Video marketing para tu canal web 2.0
 
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...
Proposta de 5 disciplinas de DADs - Desafios contemporâneos dos currículos de...
 
March2016EEC
March2016EECMarch2016EEC
March2016EEC
 
Sixth Sense
Sixth SenseSixth Sense
Sixth Sense
 
A biografy (1)
A biografy (1)A biografy (1)
A biografy (1)
 
Quanto vale minha empresa?
Quanto vale minha empresa?Quanto vale minha empresa?
Quanto vale minha empresa?
 
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon Online
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon OnlineJuly 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon Online
July 28, 2016 Webcast for the Industrial Engineering MS at NYU Tandon Online
 
SXSW 2015 - VCCP Trend Report
SXSW 2015 - VCCP Trend ReportSXSW 2015 - VCCP Trend Report
SXSW 2015 - VCCP Trend Report
 
The Learning House Way
The Learning House WayThe Learning House Way
The Learning House Way
 
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
 
Cid(crime) report amit shah accepted bribe of 2.5 crore
Cid(crime) report amit shah accepted bribe of 2.5 croreCid(crime) report amit shah accepted bribe of 2.5 crore
Cid(crime) report amit shah accepted bribe of 2.5 crore
 
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących
Spotkajmy się online: czego nie wiemy o kandydatach Głuchych i Słabosłyszących
 
Generations of Alumni: Why Focus on Generational Dynamics?
Generations of Alumni: Why Focus on Generational Dynamics?Generations of Alumni: Why Focus on Generational Dynamics?
Generations of Alumni: Why Focus on Generational Dynamics?
 
Chapter 10 communication and change
Chapter 10 communication and changeChapter 10 communication and change
Chapter 10 communication and change
 

Ähnlich wie Enabling fast pages and furious development while supporting a billion users

一秒間にソーシャルとモバイルで何が起きているか
一秒間にソーシャルとモバイルで何が起きているか一秒間にソーシャルとモバイルで何が起きているか
一秒間にソーシャルとモバイルで何が起きているかJun Kaneko
 
Android apps promotion and ads optimization in Japan market
Android apps promotion and ads optimization in Japan marketAndroid apps promotion and ads optimization in Japan market
Android apps promotion and ads optimization in Japan market01Booster
 
SNS Based Project Management Communication
SNS Based Project Management CommunicationSNS Based Project Management Communication
SNS Based Project Management CommunicationPeter Kim
 
Game Engines and Middleware (2011)
Game Engines and Middleware (2011)Game Engines and Middleware (2011)
Game Engines and Middleware (2011)Mark DeLoura
 
Skf q42010 presentation
Skf q42010 presentationSkf q42010 presentation
Skf q42010 presentationSKF
 
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 Keynote
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 KeynoteMagento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 Keynote
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 KeynoteMagentoImagine
 
Internet presentation q1_2010
Internet presentation q1_2010Internet presentation q1_2010
Internet presentation q1_2010SKF
 
OpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarOpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarMatterport
 
Movable Type Smartphone Option
Movable Type Smartphone OptionMovable Type Smartphone Option
Movable Type Smartphone OptionSix Apart KK
 
Mtl osc okinawa2010
Mtl osc okinawa2010Mtl osc okinawa2010
Mtl osc okinawa2010Takao Funami
 
Ren Ren Company Ipo Analysis
Ren Ren Company Ipo AnalysisRen Ren Company Ipo Analysis
Ren Ren Company Ipo Analysiskennyhongcfa
 
01 edwin koot - solarplaza
01   edwin koot - solarplaza01   edwin koot - solarplaza
01 edwin koot - solarplazaLinea Trovata
 
ウェブサイトからモバイルアプリへ
ウェブサイトからモバイルアプリへウェブサイトからモバイルアプリへ
ウェブサイトからモバイルアプリへHiromitsu Miyanishi
 
Super feats of integration x pages with symphony sharepoint and office
Super feats of integration  x pages with symphony sharepoint and officeSuper feats of integration  x pages with symphony sharepoint and office
Super feats of integration x pages with symphony sharepoint and officeJohn Head
 
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jpTaisuke Fukuno
 
Mobile driving Internet to the masses - Mobile Internet World 2012
Mobile driving Internet to the masses - Mobile Internet World 2012Mobile driving Internet to the masses - Mobile Internet World 2012
Mobile driving Internet to the masses - Mobile Internet World 2012Rob Van Den Dam
 

Ähnlich wie Enabling fast pages and furious development while supporting a billion users (20)

MozCamp 2009
MozCamp 2009MozCamp 2009
MozCamp 2009
 
一秒間にソーシャルとモバイルで何が起きているか
一秒間にソーシャルとモバイルで何が起きているか一秒間にソーシャルとモバイルで何が起きているか
一秒間にソーシャルとモバイルで何が起きているか
 
Android apps promotion and ads optimization in Japan market
Android apps promotion and ads optimization in Japan marketAndroid apps promotion and ads optimization in Japan market
Android apps promotion and ads optimization in Japan market
 
SNS Based Project Management Communication
SNS Based Project Management CommunicationSNS Based Project Management Communication
SNS Based Project Management Communication
 
Game Engines and Middleware (2011)
Game Engines and Middleware (2011)Game Engines and Middleware (2011)
Game Engines and Middleware (2011)
 
Skf q42010 presentation
Skf q42010 presentationSkf q42010 presentation
Skf q42010 presentation
 
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 Keynote
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 KeynoteMagento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 Keynote
Magento's Imagine eCommerce Conference 2011 - Yoav Kutner Day 2 Keynote
 
Liberty2012
Liberty2012Liberty2012
Liberty2012
 
Internet presentation q1_2010
Internet presentation q1_2010Internet presentation q1_2010
Internet presentation q1_2010
 
OpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee WebinarOpenID Foundation Retail Advisory Committee Webinar
OpenID Foundation Retail Advisory Committee Webinar
 
Movable Type Smartphone Option
Movable Type Smartphone OptionMovable Type Smartphone Option
Movable Type Smartphone Option
 
Korean social game market trend report (2011Q2) Eng
Korean social game market trend report (2011Q2) EngKorean social game market trend report (2011Q2) Eng
Korean social game market trend report (2011Q2) Eng
 
Mtl osc okinawa2010
Mtl osc okinawa2010Mtl osc okinawa2010
Mtl osc okinawa2010
 
Ren Ren Company Ipo Analysis
Ren Ren Company Ipo AnalysisRen Ren Company Ipo Analysis
Ren Ren Company Ipo Analysis
 
01 edwin koot - solarplaza
01   edwin koot - solarplaza01   edwin koot - solarplaza
01 edwin koot - solarplaza
 
ウェブサイトからモバイルアプリへ
ウェブサイトからモバイルアプリへウェブサイトからモバイルアプリへ
ウェブサイトからモバイルアプリへ
 
Super feats of integration x pages with symphony sharepoint and office
Super feats of integration  x pages with symphony sharepoint and officeSuper feats of integration  x pages with symphony sharepoint and office
Super feats of integration x pages with symphony sharepoint and office
 
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp
10/17開催:ITS世界会議東京2013アトリウム企画 「ITSお役立ちアプリ大集合」 発表資料 by jig.jp
 
Mobile driving Internet to the masses - Mobile Internet World 2012
Mobile driving Internet to the masses - Mobile Internet World 2012Mobile driving Internet to the masses - Mobile Internet World 2012
Mobile driving Internet to the masses - Mobile Internet World 2012
 
Delivering Web to Mobile
Delivering Web to MobileDelivering Web to Mobile
Delivering Web to Mobile
 

Kürzlich hochgeladen

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Enabling fast pages and furious development while supporting a billion users

  • 1. Enabling Fast Pages and Furious Development While Supporting a Billion Users Subbu Subramanian, Ph.D. Software Engineer
  • 3. Pottery Challenge: Day 3 Team 1: Make a PERFECT Pot Team 2: Make 20 pots
  • 5. 500M 700B 30B 2.5M daily active users minutes spent pieces of content sites using on the site every shared each month social plugins month Latests stats @ http://newsroom.fb.com/content/default.aspx?NewsAreaId=22
  • 6. Require tackling some UNIQUE TECHNOLOGY CHALLENGES
  • 7. Scaling traditional websites Bob’s data Bob
  • 8.
  • 9.
  • 12. Scaling Facebook: Interconnected data Felicia Bob Brian
  • 13. News Feed 950 million unique home pages
  • 14. Actor ID - Object ID - Story type Multifeed Actor ID - Object ID - Story type Multifeed Stories for up to 5000 friends in milliseconds
  • 15. Memcache TAO (Custom Ca 1 Billion operations per second
  • 16. while supporting growth … ? Unified Mobile Sites Questions 800M New2011 Profile Messages 2010 Groups 2010 2010 Mobile Event 2010 </> Places 2010 Photos Update 2010 Social Plugins Open 2010 Graph 2010 The Stream 2009 Translations 2008 Sign Up Platform launch New Apps New Apps NewsFeed 2007 February 2004 2006 2004/2005 2004 2011
  • 17. Pottery Challenge Team 1: Make a PERFECT Pot Team 2: Make 20 pots
  • 18. Scale Move Fast Photo by Eole: at http://www.flickr.com/photos/eole/2193801804// and used under Creative Commons license
  • 19. Move Fast Moving fast does not mean poor quality We want a high ship rate Invest in removing friction that slows us down
  • 20. Empower Engineers Starting on day ONE Follow your passion – pick your team Push any time you want to …
  • 21. Commits per Month 1/1/2006 1/1/2007 1/1/2008 1/1/2009 1/1/2010 1/1/2011 1/1/2012
  • 22. Move Fast Scale Big Be Bold and build things with min resources and innovate OMG!
  • 23. Move Fast Scale Big Be Bold How can Infrastructure support these goals? q  Pre-empt issues before they hit production q  Know immediately when things go wrong q  Know what to do when things go wrong and build things with min resources and innovate = LOTS OF INSTRUMENTATION, TOOLS and AUTOMATION
  • 24. Perflab (aka Difflab) • Performance test every commit • Spot regressions before deploy
  • 25. Perflab (aka Difflab) • Also tracks slow drift regressions • Helps us push thousands of revs per week
  • 26. Gatekeeper Simple code but powerful check if! (gk_check(‘secret_project’, $user) { ! render_cool_feature();} else { ! render_normal_feature();}! •  Many options for precise targeting •  500M+ gatekeeper checks performed every second
  • 29. Canary Tier and Delta view
  • 30. Move Fast Scale Big Be Bold q  Pre-empt issues before they hit production q  Know immediately when things go wrong q  Know what to do when things go wrong and build things with min resources and innovate
  • 31. *Lots* of Instrumentation = Fire Hose of Data
  • 32. Claspin • High-density heatmap viewer for large services • Find needles in a haystack - drilldown quickly
  • 33.
  • 34. tasks sevmanager logview testconsole differential wirehog domino groups hipal hsh hud kobold ods opsfeed scuba serf
  • 35. Move Fast Scale Big Be Bold q  Pre-empt issues before they hit production q  Know immediately when things go wrong q  Know what to do when things go wrong and build things with min resources and innovate
  • 36. Scuba: a tool for diving into an emerald sea of data
  • 38. Requirements for data exploration Need Don’t Need ü  Speed ⤫  Replication ü  Real-time data ⤫  Transactions ü  Ad-hoc filtering and grouping ⤫  Long retention ü  AVG, SUM, COUNT, histograms percentiles ⤫  Table joins ⤫  Unique keys ⤫  Full map-reduce
  • 39. Hive (hadoop) •  “Unlimited” storage/CPU •  Full-featured Query Language •  Numerous tools and Frameworks But Slow!
  • 41. Scuba: Data Model Few pre-defined types and operations “Data Sets” - No upfront schema declaration - Stored In memory - Sorted by Time stamp
  • 42. Scuba Data Types: Integers VLQ encoded array of 64bit integers (single char*) O(1) lookup Usage Aggregate on these (SUM, AVG, etc...) Filter (==, =, =) “Which pages on the site have an average wall time in the last hour 2 seconds”
  • 43. Scuba Data Types: Normals Strings mapped to ints, Stored as array of ints size: 4 bytes String Normalization // char* = int32 'home.php', ’dc1', 'a2', 'en_US' = 32, 14, 3, 289 Usage Group By value Filter (==, !=, in set, not in set) “Top 10 countries that have the slowest pages today”
  • 44. Scuba Data Types: Denorm Array of plain ol' char* To be used ONLY for unique identifiers that would not benefit from normalization size: 8 + strlen + 1 bytes Usage None other than displaying the value Cannot filter or group by these. No native regex support.
  • 45. Scuba Data Types: Tagsets A set of normals. Stored as bit vector size: 8 + 2 + ceil(I / 8) bytes where I is the max index represented Usage Filter (has all tags, has some tags, has none of these tags) Bit Set 'timeline', 'mercury', 'titan_drafts' = 0, 5, 14 “Is there a difference in cpu usage across users in test group A vs test group B”
  • 46. Storage 1 aggregator / box 8+ leaves / box Hundreds of boxes Data stored over Terabytes of RAM!
  • 47. Leaves Multiple per machine ( #cores / N ) Only queried by the aggregator on the local machine Persist all write traffic to disk (compressed). Replay all writes on startup Store all samples efficiently in memory Leaves are independent; No shared state
  • 48. Aggregation Queries distributed, and aggregated as a binary tree (For now, there is no sorting of results. All aggregation operations must be commutative and associative.)
  • 49. Operations 4 functions: visit, summarize, combine, and finalize Also a Hive-SQL like query language interface
  • 51. tasks sevmanager logview testconsole differential wirehog domino groups hipal hsh hud kobold ods opsfeed scuba serf
  • 52. Move Fast Scale Big Be Bold and build things with min resources and innovate