SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Social Network
Technologies
An overview Luigi De Russis
Prerequisite
07/03/2014Social Networks Technologies
2
Did you know…
 the data center definition?
 the difference between a logical server and
a physical server?
 the difference between cache and
database access?
Let’s think!
07/03/2014
3
Social Networks Technologies
Social network
A “typical” web site?
07/03/2014
4
Social Networks Technologies
Traditional web
site
Social network
A “typical” web site?
07/03/2014
5
Social Networks Technologies
Traditional web
site
In the beginning, probably…
Social network
A “typical” web site?
07/03/2014
6
Social Networks Technologies
Traditional web
site
… but soon or later…
Why?
07/03/2014Social Networks Technologies
8
What tools and technologies are we
using for building a website?
Web site: tools and technologies
Web site: tools and technologies
 JVM + JDK + J2EE
 Tomcat (or similar)
 MySQL (or similar)
 PHP
 Apache
 MySQL (or similar)
07/03/2014
9
Social Networks Technologies
Java/JSP PHP
For example…
Web site: tools and technologies
 JVM + JDK + J2EE
 MySQL (or similar)
 Tomcat (or similar)
 PHP
 MySQL (or similar)
 Apache server
07/03/2014
10
Social Networks Technologies
Java/JSP PHP
Typically, a vertical stack
(with one programming language)
Now let’s try with these sites…
07/03/2014Social Networks Technologies
11
Now let’s try with these sites…
07/03/2014Social Networks Technologies
12
PHP
MySQL
Apache
Rails
MySQL
Unicorn
Django
MySQL
Gunicorn
Django
PostgreSQL
Gunicorn
Now let’s try with these sites…
07/03/2014Social Networks Technologies
13
PHP
MySQL
Apache
Rails
MySQL
Unicorn
Django
MySQL
Gunicorn
Django
PostgreSQL
Gunicorn
Are you really, really sure?
Not so sure?!
07/03/2014
14
Social Networks Technologies
https://github.com/twitter https://github.com/facebook
Let’s have a look at some pages and projects…
https://enginnering.twitter.com/opensource/projects
What did you notice?
https://code.facebook.com/projects/
What did you notice?
 Twitter
 tracing system, package manager, various servers,
NoSQL database, caching system, etc.
 Facebook
 code-related tools, code transformer, various servers,
distributed file system, caching system, NoSQL
database, etc.
07/03/2014
15
Social Networks Technologies
A lot of different components
What did you notice?
 Twitter
 Java, Scala, Ruby, C++, C, Objective-C, Shell scripting,
Python, JavaScript
 Facebook
 PHP, OCAml, C++, JavaScript, Python, Java,
Objective-C, Processing, C, Ruby, Shell scripting,
Haskell, Emacs Lisp, ActionScript
07/03/2014
16
Social Networks Technologies
A lot of different languages
Now, have a look again at this…
07/03/2014
17
Social Networks Technologies
Impressive?!
This is ONLY the tip of the iceberg…
Social Network Characteristics
07/03/2014Social Networks Technologies
19
 Wildly popular over last few years
 Facebook has more than 1 billion (monthly active) users
 Twitter has more than 600M users
 Distributed across the planet
 Changed how content is created and consumed
 Explosion of smartphones
 photos and video are now easy to shoot and share
 e.g., Facebook has more than 350M photos uploaded
each day
Facebook as an example…
07/03/2014
20
Social Networks Technologies
On December 2013…
07/03/2014Social Networks Technologies
21
More than 3.9 trillion
feed actions processed
per day
More than 1 billion
monthly active users
100 million search
queries per day
More than 200 billion
monthly page views
2,5 billion content
items shared per day
2.7 billion
‘Likes’ per day
350 million
photos uploaded
per day
Over 500 TB new
data ingested per day
757 million active
users per day
Growth Rate
07/03/2014Social Networks Technologies
22
0
200
400
600
800
1000
1200
1400
December2004
December2005
December2006
April2007
October2007
August2008
January2009
February2009
April2009
July2009
September2009
December2009
February2010
July2010
September2010
January2011
February2011
June2011
September2011
February2012
April2012
July2012
October2012
January2013
April2013
July2013
October2013
January2014
Millions of Users
07/03/2014
23
Social Networks Technologies
Each active user wants to write and upload something NOW
No perceptible delay is allowed, in any case
No matter how “big” the content is
Reality Check
Data and services have to be available 24/7, everywhere
07/03/2014
24
Social Networks Technologies
Moreover, new features and applications are added
continuously to Facebook
Reality Check
No perceptible delay is allowed, in any case
Each active user wants to see and share something NOW
(she sees the recent status of her friends and pages, anyway)
No matter where the information is (geographically speaking)
Reality Check
07/03/2014Social Networks Technologies
25
“Rendering a single page of Facebook
involves hundreds of machines examining
tens of thousands of pieces of data from
dozen of services - all in real time.”
- from the Infrastructure page of the Facebook Newsroom
Reality Check
07/03/2014Social Networks Technologies
26
The main problem
07/03/2014Social Networks Technologies
27
Scalability
The ability of a system, network or process to handle a growing
amount of work in a capable manner or its ability to be enlarged
to accommodate that growth.
The main problem
07/03/2014Social Networks Technologies
28
Scalability
The ability of a system, network or process to handle a growing
amount of work in a capable manner or its ability to be enlarged
to accommodate that growth.
Affected by
several factors
How to handle such situations?
07/03/2014
29
Social Networks Technologies
Solution
07/03/2014Social Networks Technologies
30
 No standard solutions…
 … each social network made different choices
 strongly dependent from the original core
 We are in the Cloud Computing realm
 We are going to analyze briefly the Facebook
and the Instagram cases
Facebook architecture at 100 feet
How to handle such situations?
07/03/2014
31
Social Networks Technologies
Servers and Data Centers
07/03/2014Social Networks Technologies
32
 Facebook has 4 data centers
 Prineville, Oregon
 Forest City, North Carolina
 Luleå, Sweden
 Altoona, Iowa (in construction)
 They build their servers and
data centers from the ground up (efficiently)
 Servers and data center design is open source
 see The Open Compute Project (http://opencompute.org)
Complex Infrastructure
07/03/2014Social Networks Technologies
33
 Large number of software components
 Multiple storage systems
 Multiple caching systems
 Hundreds of specialized services
 Failure is routine!
Keep things as simple as possible!
Software Architecture
07/03/2014Social Networks Technologies
34
Web Tier
07/03/2014Social Networks Technologies
35
 Gather Data from the other Tiers
 Runs PHP code
 Widely used for web development
 One single source tree for all the entire code
 Same “binary” on every web tier box
Web Tier
07/03/2014Social Networks Technologies
36
 At the beginning: Zend Interpreter for PHP
 reasonably fast (for an interpreter)
 rapid development
 no recompiling
 but, at scale, performance matters!
 Then: HipHop compiler for PHP
 400% faster
 but slow down development
 they add an HipHop interpreter
 but compiler and interpreter sometime disagree
Web Tier
07/03/2014Social Networks Technologies
37
 Now: HipHop Virtual Machine
 The best of both worlds
 9x increase in web request throughput
 5x reduction in memory consumption
 All this is open source
 e.g., you can find HipHop Virtual Machine at
http://hhvm.com
Storage Tier
07/03/2014Social Networks Technologies
38
 Multiple storage systems
 MySQL
 Hbase (NoSQL) - Messaging and Insight
 Haystack (BLOBS)
 BLOB: Binary Large Objects (Photos, Videos, Email
attachments, etc.)
 large files, no updates/appends, sequential reads
Cache Tier
07/03/2014Social Networks Technologies
39
 Memcache
 speak only with the Web Tier
 do one thing very well
 improved performance by 10x
 key-value store
Cache Tier
07/03/2014Social Networks Technologies
40
 Tao
 abstract the Storage Tier
 in production for more than a 3-4 years
 higher CPU load than memcache
 used for the social graph
Service Tier
07/03/2014Social Networks Technologies
41
Service Tier
07/03/2014Social Networks Technologies
42
 Example: News Feed
 one of the hundreds of services at Facebook
 Characteristics
 real-time distribution
 writers can potentially broadcast to very large
audience
 readers wants (and have) different and dynamic ways
to filter data
 The service should maintain an index and rank the
data (in multiple ways)
News Feed Service
07/03/2014Social Networks Technologies
43
- write one location
News Feed Service
07/03/2014Social Networks Technologies
44
 1000s of machines
 leafs are in multiple sets, and each set has the entire index
 Dealing with (daily) failures
 hardware/software, server/network,
intermittent/permanent, etc.
 if a leaf is inaccessible, failover request to a different set
 if an aggregator is inaccessible, “just” pick another
 More leafs than aggregators
 Reads are more expensive than writes
 High network load between aggregator and leafs
 fundamental to keep a full leaf set within a single rack on
machines
Software architecture
07/03/2014Social Networks Technologies
45
Instagram architecture at 100 feet
How to handle such situations?
07/03/2014
46
Social Networks Technologies
Infrastructure
07/03/2014Social Networks Technologies
47
 Instagram follows some core principle when
choosing a system:
 keep it very simple
 don’t re-invent the wheel
 go with proven and solid technologies when you can
 It runs Ubuntu on Amazon EC2
Software Architecture
07/03/2014Social Networks Technologies
48
 Web Tier
 Django (Python) on more than 25 Amazon High-CPU
Extra-Large machines
 Gunicorn is the chosen Web Server
 Storage Tier
 PostgreSQL
 Redis (key-value storage)
 Amazon S3 for photos
 Cache Tier
 memcache
Conclusions
07/03/2014
49
Social Networks Technologies
Conclusions
07/03/2014Social Networks Technologies
50
 Most Social Networks starts like “traditional”
website
 They change and/or evolve their hardware and
software infrastructure when:
 users growth
 some functionalities are added/revised
 Scalability is a relevant problem…
 They are complex entities and, sometimes, required
complex or innovative solutions
References
07/03/2014Social Networks Technologies
51
 Instagram Engineering Blog, http://instagram-
engineering.tumblr.com
 Facebook Newsroom, http://newsroom.fb.com
 Facebook Investor Relations, http://investor.fb.com
 HPCA 2012 Facebook Keynote,
http://www.ece.lsu.edu/hpca-
18/files/HPCA2012_Facebook_Keynote.pdf
License
07/03/2014Tips for Working Successfully in a Group
52
 This work is licensed under the Creative Commons “Attribution-
NonCommercial-ShareAlike Unported (CC BY-NC-SA 3,0)” License.
 You are free:
 to Share - to copy, distribute and transmit the work
 to Remix - to adapt the work
 Under the following conditions:
 Attribution - You must attribute the work in the manner specified by the
author or licensor (but not in any way that suggests that they endorse
you or your use of the work).
 Noncommercial - You may not use this work for commercial purposes.
 Share Alike - If you alter, transform, or build upon this work, you may
distribute the resulting work only under the same or similar license to this
one.
 To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/

Contenu connexe

Tendances

What Is Web 3.0 - Characteristics of Web 3.0
What Is Web 3.0 - Characteristics of Web 3.0What Is Web 3.0 - Characteristics of Web 3.0
What Is Web 3.0 - Characteristics of Web 3.0Augustine Fou
 
Getting Ready for the Friendster Generation
Getting Ready for the Friendster GenerationGetting Ready for the Friendster Generation
Getting Ready for the Friendster GenerationeKindling.org
 
Intro to Web 3.0 and the Internet of Things
Intro to Web 3.0 and the Internet of ThingsIntro to Web 3.0 and the Internet of Things
Intro to Web 3.0 and the Internet of ThingsPhilip Sheldrake
 
Implementing the Social Web
Implementing the Social WebImplementing the Social Web
Implementing the Social WebChris Messina
 
Strategic scenarios in digital content and digital business
Strategic scenarios in digital content and digital businessStrategic scenarios in digital content and digital business
Strategic scenarios in digital content and digital businessMarco Brambilla
 
Around the Web 2 in 80 Minutes
Around the Web 2 in 80 MinutesAround the Web 2 in 80 Minutes
Around the Web 2 in 80 Minutesgladsteins
 
20090906 On Future Internet, Cloud Computing, and Semantics – You name it
20090906 On Future Internet, Cloud Computing, and Semantics – You name it20090906 On Future Internet, Cloud Computing, and Semantics – You name it
20090906 On Future Internet, Cloud Computing, and Semantics – You name itArian Zwegers
 
Working In The Cloud General Edition
Working In The Cloud General EditionWorking In The Cloud General Edition
Working In The Cloud General EditionMichael Rees
 
Social Semantics2 En
Social Semantics2 EnSocial Semantics2 En
Social Semantics2 EnHIDE HIDE
 
Web 4.0 and beyond?
Web 4.0 and beyond?Web 4.0 and beyond?
Web 4.0 and beyond?Johan Koren
 
Web 3.0 - Media Theory
Web 3.0 - Media TheoryWeb 3.0 - Media Theory
Web 3.0 - Media TheoryAkshay Iyer
 
Content Used to be King: The Semantic Web in Education
Content Used to be King: The Semantic Web in EducationContent Used to be King: The Semantic Web in Education
Content Used to be King: The Semantic Web in EducationJudy O'Connell
 
Top 5 Web Trends Of 2009 Structured Data
Top 5 Web Trends Of 2009  Structured DataTop 5 Web Trends Of 2009  Structured Data
Top 5 Web Trends Of 2009 Structured Datachmingl
 
Digital innovation v8
Digital innovation v8Digital innovation v8
Digital innovation v8Verinote
 

Tendances (19)

What Is Web 3.0 - Characteristics of Web 3.0
What Is Web 3.0 - Characteristics of Web 3.0What Is Web 3.0 - Characteristics of Web 3.0
What Is Web 3.0 - Characteristics of Web 3.0
 
Wassup with Web 2.0
Wassup with Web 2.0Wassup with Web 2.0
Wassup with Web 2.0
 
Getting Ready for the Friendster Generation
Getting Ready for the Friendster GenerationGetting Ready for the Friendster Generation
Getting Ready for the Friendster Generation
 
BIM: Data Everywhere
BIM: Data EverywhereBIM: Data Everywhere
BIM: Data Everywhere
 
Intro to Web 3.0 and the Internet of Things
Intro to Web 3.0 and the Internet of ThingsIntro to Web 3.0 and the Internet of Things
Intro to Web 3.0 and the Internet of Things
 
Cet
CetCet
Cet
 
Implementing the Social Web
Implementing the Social WebImplementing the Social Web
Implementing the Social Web
 
Strategic scenarios in digital content and digital business
Strategic scenarios in digital content and digital businessStrategic scenarios in digital content and digital business
Strategic scenarios in digital content and digital business
 
Around the Web 2 in 80 Minutes
Around the Web 2 in 80 MinutesAround the Web 2 in 80 Minutes
Around the Web 2 in 80 Minutes
 
Pragmatic Web 4.0
Pragmatic Web 4.0Pragmatic Web 4.0
Pragmatic Web 4.0
 
20090906 On Future Internet, Cloud Computing, and Semantics – You name it
20090906 On Future Internet, Cloud Computing, and Semantics – You name it20090906 On Future Internet, Cloud Computing, and Semantics – You name it
20090906 On Future Internet, Cloud Computing, and Semantics – You name it
 
Working In The Cloud General Edition
Working In The Cloud General EditionWorking In The Cloud General Edition
Working In The Cloud General Edition
 
Social Semantics2 En
Social Semantics2 EnSocial Semantics2 En
Social Semantics2 En
 
Web 4.0 and beyond?
Web 4.0 and beyond?Web 4.0 and beyond?
Web 4.0 and beyond?
 
Web 3.0 - Media Theory
Web 3.0 - Media TheoryWeb 3.0 - Media Theory
Web 3.0 - Media Theory
 
Content Used to be King: The Semantic Web in Education
Content Used to be King: The Semantic Web in EducationContent Used to be King: The Semantic Web in Education
Content Used to be King: The Semantic Web in Education
 
Top 5 Web Trends Of 2009 Structured Data
Top 5 Web Trends Of 2009  Structured DataTop 5 Web Trends Of 2009  Structured Data
Top 5 Web Trends Of 2009 Structured Data
 
INTERNET
INTERNETINTERNET
INTERNET
 
Digital innovation v8
Digital innovation v8Digital innovation v8
Digital innovation v8
 

Similaire à Social Network Technologies

LAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks TechnologiesLAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks TechnologiesLuigi De Russis
 
Future platform for internet of things
Future platform for internet of thingsFuture platform for internet of things
Future platform for internet of thingsColdbeans Software
 
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaProject Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaLeon Stigter
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolithDee Wilcox
 
Dba to data scientist -Satyendra
Dba to data scientist -SatyendraDba to data scientist -Satyendra
Dba to data scientist -Satyendrapasalapudi123
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleJAXLondon_Conference
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
 
Wordpress for government websites slideshare.key
Wordpress for government websites slideshare.keyWordpress for government websites slideshare.key
Wordpress for government websites slideshare.keyJase Wilson
 
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...toddfast
 
Semantic Web 2.0
Semantic Web 2.0Semantic Web 2.0
Semantic Web 2.0hchen1
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software AnalyticsMargaret-Anne Storey
 
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Persistent Systems Ltd.
 
Massively maintained accessibility: WordPress
Massively maintained accessibility: WordPressMassively maintained accessibility: WordPress
Massively maintained accessibility: WordPressJoseph Dolson
 
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...IRJET Journal
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]webhostingguy
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]webhostingguy
 
How Cloud is Affecting Data Scientists
How Cloud is Affecting Data Scientists How Cloud is Affecting Data Scientists
How Cloud is Affecting Data Scientists CCG
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Adis Jugo
 

Similaire à Social Network Technologies (20)

LAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks TechnologiesLAM 2015 - Social Networks Technologies
LAM 2015 - Social Networks Technologies
 
Future platform for internet of things
Future platform for internet of thingsFuture platform for internet of things
Future platform for internet of things
 
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and LambdaProject Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolith
 
Dba to data scientist -Satyendra
Dba to data scientist -SatyendraDba to data scientist -Satyendra
Dba to data scientist -Satyendra
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
 
Wordpress for government websites slideshare.key
Wordpress for government websites slideshare.keyWordpress for government websites slideshare.key
Wordpress for government websites slideshare.key
 
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...
Applications for the Masses by the Masses: Why Engineers Are An Endangered Sp...
 
Semantic Web 2.0
Semantic Web 2.0Semantic Web 2.0
Semantic Web 2.0
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
 
Digital Economy, Digital Tourism based on Open Data and Open Access Approach
Digital Economy, Digital Tourism based on Open Data and Open Access ApproachDigital Economy, Digital Tourism based on Open Data and Open Access Approach
Digital Economy, Digital Tourism based on Open Data and Open Access Approach
 
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
 
Massively maintained accessibility: WordPress
Massively maintained accessibility: WordPressMassively maintained accessibility: WordPress
Massively maintained accessibility: WordPress
 
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...
 
Web Information Systems Introduction and Origin of World Wide Web
Web Information Systems Introduction and Origin of World Wide WebWeb Information Systems Introduction and Origin of World Wide Web
Web Information Systems Introduction and Origin of World Wide Web
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]
 
How Cloud is Affecting Data Scientists
How Cloud is Affecting Data Scientists How Cloud is Affecting Data Scientists
How Cloud is Affecting Data Scientists
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
 

Plus de Luigi De Russis

Assessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric SpeechAssessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric SpeechLuigi De Russis
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an IntroductionLuigi De Russis
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic WebLuigi De Russis
 
Semantic Web - Ontology 101
Semantic Web - Ontology 101Semantic Web - Ontology 101
Semantic Web - Ontology 101Luigi De Russis
 
AmI 2017 - Python intermediate
AmI 2017 - Python intermediateAmI 2017 - Python intermediate
AmI 2017 - Python intermediateLuigi De Russis
 
AmI 2017 - Python basics
AmI 2017 - Python basicsAmI 2017 - Python basics
AmI 2017 - Python basicsLuigi De Russis
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introductionLuigi De Russis
 
AmI 2016 - Python basics
AmI 2016 - Python basicsAmI 2016 - Python basics
AmI 2016 - Python basicsLuigi De Russis
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Luigi De Russis
 
Ambient Intelligence: An Overview
Ambient Intelligence: An OverviewAmbient Intelligence: An Overview
Ambient Intelligence: An OverviewLuigi De Russis
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with GitLuigi De Russis
 
AmI 2015 - Python basics
AmI 2015 - Python basicsAmI 2015 - Python basics
AmI 2015 - Python basicsLuigi De Russis
 
PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...Luigi De Russis
 
Interacting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis PresentationInteracting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis PresentationLuigi De Russis
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Luigi De Russis
 
Living in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD ReportLiving in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD ReportLuigi De Russis
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introductionLuigi De Russis
 
Living in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD ReportLiving in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD ReportLuigi De Russis
 

Plus de Luigi De Russis (20)

Assessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric SpeechAssessing Virtual Assistant Capabilities with Italian Dysarthric Speech
Assessing Virtual Assistant Capabilities with Italian Dysarthric Speech
 
Semantic Web: an Introduction
Semantic Web: an IntroductionSemantic Web: an Introduction
Semantic Web: an Introduction
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic Web
 
Semantic Web - Ontology 101
Semantic Web - Ontology 101Semantic Web - Ontology 101
Semantic Web - Ontology 101
 
AmI 2017 - Python intermediate
AmI 2017 - Python intermediateAmI 2017 - Python intermediate
AmI 2017 - Python intermediate
 
AmI 2017 - Python basics
AmI 2017 - Python basicsAmI 2017 - Python basics
AmI 2017 - Python basics
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
 
AmI 2016 - Python basics
AmI 2016 - Python basicsAmI 2016 - Python basics
AmI 2016 - Python basics
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)
 
Ambient Intelligence: An Overview
Ambient Intelligence: An OverviewAmbient Intelligence: An Overview
Ambient Intelligence: An Overview
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
AmI 2015 - Python basics
AmI 2015 - Python basicsAmI 2015 - Python basics
AmI 2015 - Python basics
 
PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...PowerOnt: an ontology-based approach for power consumption estimation in Smar...
PowerOnt: an ontology-based approach for power consumption estimation in Smar...
 
Interacting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis PresentationInteracting with Smart Environments - Ph.D. Thesis Presentation
Interacting with Smart Environments - Ph.D. Thesis Presentation
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)
 
Living in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD ReportLiving in Smart Environments - 3rd year PhD Report
Living in Smart Environments - 3rd year PhD Report
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introduction
 
Clean Code
Clean CodeClean Code
Clean Code
 
Living in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD ReportLiving in Smart Environments - 2nd year PhD Report
Living in Smart Environments - 2nd year PhD Report
 
Introduction to OpenCV
Introduction to OpenCVIntroduction to OpenCV
Introduction to OpenCV
 

Dernier

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Social Network Technologies

  • 2. Prerequisite 07/03/2014Social Networks Technologies 2 Did you know…  the data center definition?  the difference between a logical server and a physical server?  the difference between cache and database access?
  • 4. Social network A “typical” web site? 07/03/2014 4 Social Networks Technologies Traditional web site
  • 5. Social network A “typical” web site? 07/03/2014 5 Social Networks Technologies Traditional web site In the beginning, probably…
  • 6. Social network A “typical” web site? 07/03/2014 6 Social Networks Technologies Traditional web site … but soon or later…
  • 8. 07/03/2014Social Networks Technologies 8 What tools and technologies are we using for building a website? Web site: tools and technologies
  • 9. Web site: tools and technologies  JVM + JDK + J2EE  Tomcat (or similar)  MySQL (or similar)  PHP  Apache  MySQL (or similar) 07/03/2014 9 Social Networks Technologies Java/JSP PHP For example…
  • 10. Web site: tools and technologies  JVM + JDK + J2EE  MySQL (or similar)  Tomcat (or similar)  PHP  MySQL (or similar)  Apache server 07/03/2014 10 Social Networks Technologies Java/JSP PHP Typically, a vertical stack (with one programming language)
  • 11. Now let’s try with these sites… 07/03/2014Social Networks Technologies 11
  • 12. Now let’s try with these sites… 07/03/2014Social Networks Technologies 12 PHP MySQL Apache Rails MySQL Unicorn Django MySQL Gunicorn Django PostgreSQL Gunicorn
  • 13. Now let’s try with these sites… 07/03/2014Social Networks Technologies 13 PHP MySQL Apache Rails MySQL Unicorn Django MySQL Gunicorn Django PostgreSQL Gunicorn Are you really, really sure?
  • 14. Not so sure?! 07/03/2014 14 Social Networks Technologies https://github.com/twitter https://github.com/facebook Let’s have a look at some pages and projects… https://enginnering.twitter.com/opensource/projects What did you notice? https://code.facebook.com/projects/
  • 15. What did you notice?  Twitter  tracing system, package manager, various servers, NoSQL database, caching system, etc.  Facebook  code-related tools, code transformer, various servers, distributed file system, caching system, NoSQL database, etc. 07/03/2014 15 Social Networks Technologies A lot of different components
  • 16. What did you notice?  Twitter  Java, Scala, Ruby, C++, C, Objective-C, Shell scripting, Python, JavaScript  Facebook  PHP, OCAml, C++, JavaScript, Python, Java, Objective-C, Processing, C, Ruby, Shell scripting, Haskell, Emacs Lisp, ActionScript 07/03/2014 16 Social Networks Technologies A lot of different languages
  • 17. Now, have a look again at this… 07/03/2014 17 Social Networks Technologies Impressive?!
  • 18. This is ONLY the tip of the iceberg…
  • 19. Social Network Characteristics 07/03/2014Social Networks Technologies 19  Wildly popular over last few years  Facebook has more than 1 billion (monthly active) users  Twitter has more than 600M users  Distributed across the planet  Changed how content is created and consumed  Explosion of smartphones  photos and video are now easy to shoot and share  e.g., Facebook has more than 350M photos uploaded each day
  • 20. Facebook as an example… 07/03/2014 20 Social Networks Technologies
  • 21. On December 2013… 07/03/2014Social Networks Technologies 21 More than 3.9 trillion feed actions processed per day More than 1 billion monthly active users 100 million search queries per day More than 200 billion monthly page views 2,5 billion content items shared per day 2.7 billion ‘Likes’ per day 350 million photos uploaded per day Over 500 TB new data ingested per day 757 million active users per day
  • 22. Growth Rate 07/03/2014Social Networks Technologies 22 0 200 400 600 800 1000 1200 1400 December2004 December2005 December2006 April2007 October2007 August2008 January2009 February2009 April2009 July2009 September2009 December2009 February2010 July2010 September2010 January2011 February2011 June2011 September2011 February2012 April2012 July2012 October2012 January2013 April2013 July2013 October2013 January2014 Millions of Users
  • 23. 07/03/2014 23 Social Networks Technologies Each active user wants to write and upload something NOW No perceptible delay is allowed, in any case No matter how “big” the content is Reality Check Data and services have to be available 24/7, everywhere
  • 24. 07/03/2014 24 Social Networks Technologies Moreover, new features and applications are added continuously to Facebook Reality Check No perceptible delay is allowed, in any case Each active user wants to see and share something NOW (she sees the recent status of her friends and pages, anyway) No matter where the information is (geographically speaking)
  • 25. Reality Check 07/03/2014Social Networks Technologies 25 “Rendering a single page of Facebook involves hundreds of machines examining tens of thousands of pieces of data from dozen of services - all in real time.” - from the Infrastructure page of the Facebook Newsroom
  • 27. The main problem 07/03/2014Social Networks Technologies 27 Scalability The ability of a system, network or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.
  • 28. The main problem 07/03/2014Social Networks Technologies 28 Scalability The ability of a system, network or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth. Affected by several factors
  • 29. How to handle such situations? 07/03/2014 29 Social Networks Technologies
  • 30. Solution 07/03/2014Social Networks Technologies 30  No standard solutions…  … each social network made different choices  strongly dependent from the original core  We are in the Cloud Computing realm  We are going to analyze briefly the Facebook and the Instagram cases
  • 31. Facebook architecture at 100 feet How to handle such situations? 07/03/2014 31 Social Networks Technologies
  • 32. Servers and Data Centers 07/03/2014Social Networks Technologies 32  Facebook has 4 data centers  Prineville, Oregon  Forest City, North Carolina  Luleå, Sweden  Altoona, Iowa (in construction)  They build their servers and data centers from the ground up (efficiently)  Servers and data center design is open source  see The Open Compute Project (http://opencompute.org)
  • 33. Complex Infrastructure 07/03/2014Social Networks Technologies 33  Large number of software components  Multiple storage systems  Multiple caching systems  Hundreds of specialized services  Failure is routine! Keep things as simple as possible!
  • 35. Web Tier 07/03/2014Social Networks Technologies 35  Gather Data from the other Tiers  Runs PHP code  Widely used for web development  One single source tree for all the entire code  Same “binary” on every web tier box
  • 36. Web Tier 07/03/2014Social Networks Technologies 36  At the beginning: Zend Interpreter for PHP  reasonably fast (for an interpreter)  rapid development  no recompiling  but, at scale, performance matters!  Then: HipHop compiler for PHP  400% faster  but slow down development  they add an HipHop interpreter  but compiler and interpreter sometime disagree
  • 37. Web Tier 07/03/2014Social Networks Technologies 37  Now: HipHop Virtual Machine  The best of both worlds  9x increase in web request throughput  5x reduction in memory consumption  All this is open source  e.g., you can find HipHop Virtual Machine at http://hhvm.com
  • 38. Storage Tier 07/03/2014Social Networks Technologies 38  Multiple storage systems  MySQL  Hbase (NoSQL) - Messaging and Insight  Haystack (BLOBS)  BLOB: Binary Large Objects (Photos, Videos, Email attachments, etc.)  large files, no updates/appends, sequential reads
  • 39. Cache Tier 07/03/2014Social Networks Technologies 39  Memcache  speak only with the Web Tier  do one thing very well  improved performance by 10x  key-value store
  • 40. Cache Tier 07/03/2014Social Networks Technologies 40  Tao  abstract the Storage Tier  in production for more than a 3-4 years  higher CPU load than memcache  used for the social graph
  • 42. Service Tier 07/03/2014Social Networks Technologies 42  Example: News Feed  one of the hundreds of services at Facebook  Characteristics  real-time distribution  writers can potentially broadcast to very large audience  readers wants (and have) different and dynamic ways to filter data  The service should maintain an index and rank the data (in multiple ways)
  • 43. News Feed Service 07/03/2014Social Networks Technologies 43 - write one location
  • 44. News Feed Service 07/03/2014Social Networks Technologies 44  1000s of machines  leafs are in multiple sets, and each set has the entire index  Dealing with (daily) failures  hardware/software, server/network, intermittent/permanent, etc.  if a leaf is inaccessible, failover request to a different set  if an aggregator is inaccessible, “just” pick another  More leafs than aggregators  Reads are more expensive than writes  High network load between aggregator and leafs  fundamental to keep a full leaf set within a single rack on machines
  • 46. Instagram architecture at 100 feet How to handle such situations? 07/03/2014 46 Social Networks Technologies
  • 47. Infrastructure 07/03/2014Social Networks Technologies 47  Instagram follows some core principle when choosing a system:  keep it very simple  don’t re-invent the wheel  go with proven and solid technologies when you can  It runs Ubuntu on Amazon EC2
  • 48. Software Architecture 07/03/2014Social Networks Technologies 48  Web Tier  Django (Python) on more than 25 Amazon High-CPU Extra-Large machines  Gunicorn is the chosen Web Server  Storage Tier  PostgreSQL  Redis (key-value storage)  Amazon S3 for photos  Cache Tier  memcache
  • 50. Conclusions 07/03/2014Social Networks Technologies 50  Most Social Networks starts like “traditional” website  They change and/or evolve their hardware and software infrastructure when:  users growth  some functionalities are added/revised  Scalability is a relevant problem…  They are complex entities and, sometimes, required complex or innovative solutions
  • 51. References 07/03/2014Social Networks Technologies 51  Instagram Engineering Blog, http://instagram- engineering.tumblr.com  Facebook Newsroom, http://newsroom.fb.com  Facebook Investor Relations, http://investor.fb.com  HPCA 2012 Facebook Keynote, http://www.ece.lsu.edu/hpca- 18/files/HPCA2012_Facebook_Keynote.pdf
  • 52. License 07/03/2014Tips for Working Successfully in a Group 52  This work is licensed under the Creative Commons “Attribution- NonCommercial-ShareAlike Unported (CC BY-NC-SA 3,0)” License.  You are free:  to Share - to copy, distribute and transmit the work  to Remix - to adapt the work  Under the following conditions:  Attribution - You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).  Noncommercial - You may not use this work for commercial purposes.  Share Alike - If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.  To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/