SlideShare a Scribd company logo
1 of 52
Download to read offline
Social Network
Technologies
An overview Luigi De Russis
Prerequisite
11/03/2015Social Networks Technologies
2
Did you know…
 what is a data center?
 the difference between a logical server and
a physical server?
 the difference between cache and
database access?
Let’s think!
11/03/2015
3
Social Networks Technologies
Social network
A “typical” web site?
11/03/2015
4
Social Networks Technologies
Traditional web
site
Social network
A “typical” web site?
11/03/2015
5
Social Networks Technologies
Traditional web
site
In the beginning, probably…
Social network
A “typical” web site?
11/03/2015
6
Social Networks Technologies
Traditional web
site
… but soon or later…
Why?
11/03/2015Social 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)
11/03/2015
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
11/03/2015
10
Social Networks Technologies
Java/JSP PHP
Typically, a vertical stack
(with one programming language)
Now let’s try with these sites…
11/03/2015Social Networks Technologies
11
Now let’s try with these sites…
11/03/2015Social Networks Technologies
12
PHP
MySQL
Apache
Rails
MySQL
Unicorn
Django
MySQL
Tornado
Django
PostgreSQL
Gunicorn
Now let’s try with these sites…
11/03/2015Social Networks Technologies
13
PHP
MySQL
Apache
Rails
MySQL
Unicorn
Django
MySQL
Tornado
Django
PostgreSQL
Gunicorn
Are you really, really sure?
Not so sure?!
11/03/2015
14
Social Networks Technologies
https://github.com/twitter https://github.com/facebook
Let’s have a look at some pages and projects…
https://engineering.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.
11/03/2015
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
11/03/2015
16
Social Networks Technologies
A lot of different languages
Now, have a look again at this…
11/03/2015
17
Social Networks Technologies
Impressive?!
This is ONLY the tip of the iceberg…
Social Network Characteristics
11/03/2015Social 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…
11/03/2015
20
Social Networks Technologies
On December 2014…
11/03/2015Social 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
4.75 billion content
items shared per day
4.5 billion
‘Likes’ per day
350 million
photos uploaded
per day
Over 500 TB new
data ingested per day
890 million active
users per day
Growth Rate
11/03/2015Social Networks Technologies
22
0
200
400
600
800
1000
1200
1400
1600
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
April2014
July2014
October2014
January2015
Millions of Users
11/03/2015
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
11/03/2015
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
11/03/2015Social 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 (2014)
Reality Check
11/03/2015Social Networks Technologies
26
The main problem
11/03/2015Social 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
11/03/2015Social 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?
11/03/2015
29
Social Networks Technologies
Solution
11/03/2015Social 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 Pinterest cases
Facebook architecture at 100 feet
How to handle such situations?
11/03/2015
31
Social Networks Technologies
Servers and Data Centers
11/03/2015Social Networks Technologies
32
 Facebook has 4 data centers
 Prineville, Oregon
 Forest City, North Carolina
 Luleå, Sweden
 Altoona, Iowa
 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
11/03/2015Social 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
11/03/2015Social Networks Technologies
34
Web Tier
11/03/2015Social 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
11/03/2015Social 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
11/03/2015Social 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
11/03/2015Social 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
11/03/2015Social Networks Technologies
39
 Memcache
 speak only with the Web Tier
 do one thing very well
 improved performance by 10x
 key-value store
Cache Tier
11/03/2015Social 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
11/03/2015Social Networks Technologies
41
Service Tier
11/03/2015Social 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
11/03/2015Social Networks Technologies
43
- write one location
News Feed Service
11/03/2015Social 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
11/03/2015Social Networks Technologies
45
Pinterest architecture at 100 feet
How to handle such situations?
11/03/2015
46
Social Networks Technologies
Infrastructure
11/03/2015Social Networks Technologies
47
 Pinterest follows some core principles 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 on Amazon EC2
Software Architecture
11/03/2015Social Networks Technologies
48
 Web Tier
 Heavily-modified Django (Python)
 Tornado is the chosen Web Server
 Storage Tier
 MySQL
 Amazon S3 for photos
 Cache Tier
 Redis (key-value storage)
 memcache
Conclusions
11/03/2015
49
Social Networks Technologies
Conclusions
11/03/2015Social Networks Technologies
50
 Most Social Networks starts like “traditional”
website
 They change and/or evolve their hardware and
software infrastructure when:
 users grow
 some functionalities are added/revised
 Scalability is a relevant problem…
 They are complex entities and, sometimes, required
complex or innovative solutions
References
11/03/2015Social Networks Technologies
51
 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
 Scaling Pinterest,
http://highscalability.com/blog/2013/4/15/scalin
g-pinterest-from-0-to-10s-of-billions-of-page-
views-a.html
License
11/03/2015Tips 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/

More Related Content

What's hot

Ambient intelligence
Ambient intelligenceAmbient intelligence
Ambient intelligencechandrika95
 
Ambient Intelligence: Theme of the Year 2016
Ambient Intelligence: Theme of the Year 2016Ambient Intelligence: Theme of the Year 2016
Ambient Intelligence: Theme of the Year 2016Fulvio Corno
 
Humans vs the Internet of Things
Humans vs the Internet of ThingsHumans vs the Internet of Things
Humans vs the Internet of ThingsFulvio Corno
 
AmI 2015 - Definition of Ambient Intelligence
AmI 2015 - Definition of Ambient IntelligenceAmI 2015 - Definition of Ambient Intelligence
AmI 2015 - Definition of Ambient IntelligenceFulvio Corno
 
seminar report on ambient intelligent
seminar report on ambient intelligentseminar report on ambient intelligent
seminar report on ambient intelligentAnkita Srivastava
 
Internet of things
Internet of thingsInternet of things
Internet of thingsAnnie Thomas
 
UBIQUITOUS COMPUTING - Mary M
UBIQUITOUS COMPUTING - Mary MUBIQUITOUS COMPUTING - Mary M
UBIQUITOUS COMPUTING - Mary MMary Margarat
 
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...George Vanecek
 
Adaptive Ambient Intelligence and Smart Environments
Adaptive Ambient Intelligence and Smart EnvironmentsAdaptive Ambient Intelligence and Smart Environments
Adaptive Ambient Intelligence and Smart EnvironmentsAhmad Lotfi
 
Ambient intelligence (AmI)
 Ambient intelligence (AmI)  Ambient intelligence (AmI)
Ambient intelligence (AmI) Maneesh B.S
 
AMBIENT INTELLIGENCE by Bhagyasri Matta
AMBIENT INTELLIGENCE by Bhagyasri MattaAMBIENT INTELLIGENCE by Bhagyasri Matta
AMBIENT INTELLIGENCE by Bhagyasri Mattabagisrim
 
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
 
Ambient Intelligence perspective from IoT insight
Ambient Intelligence perspective from IoT insightAmbient Intelligence perspective from IoT insight
Ambient Intelligence perspective from IoT insightPrasan Dutt
 
IRJET- A Review of Voice Control Home Automation
IRJET- A Review of Voice Control Home AutomationIRJET- A Review of Voice Control Home Automation
IRJET- A Review of Voice Control Home AutomationIRJET Journal
 
Ambient intelligence
Ambient intelligenceAmbient intelligence
Ambient intelligenceMihir Thuse
 
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...From Non-Intelligent to Intelligent Environments: a Computational and Ambient...
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...Ahmad Lotfi
 

What's hot (20)

Ambient intelligence
Ambient intelligenceAmbient intelligence
Ambient intelligence
 
Ambient Intelligence: Theme of the Year 2016
Ambient Intelligence: Theme of the Year 2016Ambient Intelligence: Theme of the Year 2016
Ambient Intelligence: Theme of the Year 2016
 
Humans vs the Internet of Things
Humans vs the Internet of ThingsHumans vs the Internet of Things
Humans vs the Internet of Things
 
AmI 2015 - Definition of Ambient Intelligence
AmI 2015 - Definition of Ambient IntelligenceAmI 2015 - Definition of Ambient Intelligence
AmI 2015 - Definition of Ambient Intelligence
 
seminar report on ambient intelligent
seminar report on ambient intelligentseminar report on ambient intelligent
seminar report on ambient intelligent
 
Ambient intelligence
Ambient intelligence Ambient intelligence
Ambient intelligence
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
Self io t-intro
Self io t-introSelf io t-intro
Self io t-intro
 
UBIQUITOUS COMPUTING - Mary M
UBIQUITOUS COMPUTING - Mary MUBIQUITOUS COMPUTING - Mary M
UBIQUITOUS COMPUTING - Mary M
 
Ambient intelligence
Ambient intelligenceAmbient intelligence
Ambient intelligence
 
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...
The Internet of Things, Ambient Intelligence, and the Move Towards Intelligen...
 
Adaptive Ambient Intelligence and Smart Environments
Adaptive Ambient Intelligence and Smart EnvironmentsAdaptive Ambient Intelligence and Smart Environments
Adaptive Ambient Intelligence and Smart Environments
 
Ambient intelligence (AmI)
 Ambient intelligence (AmI)  Ambient intelligence (AmI)
Ambient intelligence (AmI)
 
Ambient Intelligence
Ambient IntelligenceAmbient Intelligence
Ambient Intelligence
 
AMBIENT INTELLIGENCE by Bhagyasri Matta
AMBIENT INTELLIGENCE by Bhagyasri MattaAMBIENT INTELLIGENCE by Bhagyasri Matta
AMBIENT INTELLIGENCE by Bhagyasri Matta
 
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
 
Ambient Intelligence perspective from IoT insight
Ambient Intelligence perspective from IoT insightAmbient Intelligence perspective from IoT insight
Ambient Intelligence perspective from IoT insight
 
IRJET- A Review of Voice Control Home Automation
IRJET- A Review of Voice Control Home AutomationIRJET- A Review of Voice Control Home Automation
IRJET- A Review of Voice Control Home Automation
 
Ambient intelligence
Ambient intelligenceAmbient intelligence
Ambient intelligence
 
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...From Non-Intelligent to Intelligent Environments: a Computational and Ambient...
From Non-Intelligent to Intelligent Environments: a Computational and Ambient...
 

Viewers also liked

Why workplace-culture-matters-basic
Why workplace-culture-matters-basicWhy workplace-culture-matters-basic
Why workplace-culture-matters-basichallwaze_1
 
Reactive Web-Applications @ LambdaDays
Reactive Web-Applications @ LambdaDaysReactive Web-Applications @ LambdaDays
Reactive Web-Applications @ LambdaDaysManuel Bernhardt
 
Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack CA API Management
 
Capital One's Next Generation Decision in less than 2 ms
Capital One's Next Generation Decision in less than 2 msCapital One's Next Generation Decision in less than 2 ms
Capital One's Next Generation Decision in less than 2 msApache Apex
 
Developing Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJSDeveloping Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJSShekhar Gulati
 
8 Things Uber Can Teach You
8 Things Uber Can Teach You8 Things Uber Can Teach You
8 Things Uber Can Teach YouThe App Business
 
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011Kapil Mohan
 

Viewers also liked (9)

Why workplace-culture-matters-basic
Why workplace-culture-matters-basicWhy workplace-culture-matters-basic
Why workplace-culture-matters-basic
 
Reactive Web-Applications @ LambdaDays
Reactive Web-Applications @ LambdaDaysReactive Web-Applications @ LambdaDays
Reactive Web-Applications @ LambdaDays
 
Why halwaze
Why halwaze Why halwaze
Why halwaze
 
Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack
 
Capital One's Next Generation Decision in less than 2 ms
Capital One's Next Generation Decision in less than 2 msCapital One's Next Generation Decision in less than 2 ms
Capital One's Next Generation Decision in less than 2 ms
 
Developing Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJSDeveloping Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJS
 
8 Things Uber Can Teach You
8 Things Uber Can Teach You8 Things Uber Can Teach You
8 Things Uber Can Teach You
 
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
 
IoT architecture
IoT architectureIoT architecture
IoT architecture
 

Similar to LAM 2015 - Social Networks Technologies

Social Network Technologies
Social Network TechnologiesSocial Network Technologies
Social Network 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
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...confluent
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolithDee Wilcox
 
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
 
(Some of) Wikipedia's Open Data
(Some of) Wikipedia's Open Data(Some of) Wikipedia's Open Data
(Some of) Wikipedia's Open Datanuria_ruiz
 
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
 
Integration data models, Learning Layers project meeting in Bremen
Integration data models, Learning Layers project meeting in BremenIntegration data models, Learning Layers project meeting in Bremen
Integration data models, Learning Layers project meeting in BremenVladimir Tomberg
 
Spohrer ubi learn 20151103 v2
Spohrer ubi learn 20151103 v2Spohrer ubi learn 20151103 v2
Spohrer ubi learn 20151103 v2ISSIP
 
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...Ambassador Labs
 
Portals demystified @ jax.de - May 4th 2011
Portals demystified @ jax.de - May 4th 2011Portals demystified @ jax.de - May 4th 2011
Portals demystified @ jax.de - May 4th 2011theute
 
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
 
Analysis and Design of an Application based on Open Data
Analysis and Design of an Application based on Open DataAnalysis and Design of an Application based on Open Data
Analysis and Design of an Application based on Open DataDehbi Sahbi
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soaTechnology Transfer
 
Meetup7 integration microservices_machine_learning
Meetup7 integration microservices_machine_learningMeetup7 integration microservices_machine_learning
Meetup7 integration microservices_machine_learningMegatris Comp
 
Web Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxWeb Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxImranAli984725
 
Powering Postbank Group’s Data-driven Strategy
Powering Postbank Group’s Data-driven Strategy Powering Postbank Group’s Data-driven Strategy
Powering Postbank Group’s Data-driven Strategy Elasticsearch
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]webhostingguy
 

Similar to LAM 2015 - Social Networks Technologies (20)

Social Network Technologies
Social Network TechnologiesSocial Network Technologies
Social Network 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
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
 
Beware the monolith
Beware the monolithBeware the monolith
Beware the monolith
 
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...
 
(Some of) Wikipedia's Open Data
(Some of) Wikipedia's Open Data(Some of) Wikipedia's Open Data
(Some of) Wikipedia's Open Data
 
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
 
Integration data models, Learning Layers project meeting in Bremen
Integration data models, Learning Layers project meeting in BremenIntegration data models, Learning Layers project meeting in Bremen
Integration data models, Learning Layers project meeting in Bremen
 
Spohrer ubi learn 20151103 v2
Spohrer ubi learn 20151103 v2Spohrer ubi learn 20151103 v2
Spohrer ubi learn 20151103 v2
 
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...
2017 Microservices Practitioner Virtual Summit - Opening Keynote: Trends in M...
 
NoSQL Basics - a quick tour
NoSQL Basics - a quick tourNoSQL Basics - a quick tour
NoSQL Basics - a quick tour
 
Portals demystified @ jax.de - May 4th 2011
Portals demystified @ jax.de - May 4th 2011Portals demystified @ jax.de - May 4th 2011
Portals demystified @ jax.de - May 4th 2011
 
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"
 
Analysis and Design of an Application based on Open Data
Analysis and Design of an Application based on Open DataAnalysis and Design of an Application based on Open Data
Analysis and Design of an Application based on Open Data
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soa
 
Meetup7 integration microservices_machine_learning
Meetup7 integration microservices_machine_learningMeetup7 integration microservices_machine_learning
Meetup7 integration microservices_machine_learning
 
Web Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptxWeb Technologies Week 01 CS (INTRO).pptx
Web Technologies Week 01 CS (INTRO).pptx
 
Powering Postbank Group’s Data-driven Strategy
Powering Postbank Group’s Data-driven Strategy Powering Postbank Group’s Data-driven Strategy
Powering Postbank Group’s Data-driven Strategy
 
[MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format][MS PowerPoint 97/2000 format]
[MS PowerPoint 97/2000 format]
 

More from 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
 
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
 
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
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introductionLuigi 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
 
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
 
Installing OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with QtInstalling OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with QtLuigi De Russis
 
dWatch: a Personal Wrist Watch for Smart Environments
dWatch: a Personal Wrist Watch for Smart EnvironmentsdWatch: a Personal Wrist Watch for Smart Environments
dWatch: a Personal Wrist Watch for Smart EnvironmentsLuigi De Russis
 

More from 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)
 
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
 
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
 
Semantic Web: an introduction
Semantic Web: an introductionSemantic Web: an introduction
Semantic Web: an introduction
 
Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)Introduction to OpenCV (with Java)
Introduction to OpenCV (with Java)
 
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
 
Installing OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with QtInstalling OpenCV 2.4.x with Qt
Installing OpenCV 2.4.x with Qt
 
dWatch: a Personal Wrist Watch for Smart Environments
dWatch: a Personal Wrist Watch for Smart EnvironmentsdWatch: a Personal Wrist Watch for Smart Environments
dWatch: a Personal Wrist Watch for Smart Environments
 

Recently uploaded

ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 

Recently uploaded (20)

ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 

LAM 2015 - Social Networks Technologies

  • 2. Prerequisite 11/03/2015Social Networks Technologies 2 Did you know…  what is a data center?  the difference between a logical server and a physical server?  the difference between cache and database access?
  • 4. Social network A “typical” web site? 11/03/2015 4 Social Networks Technologies Traditional web site
  • 5. Social network A “typical” web site? 11/03/2015 5 Social Networks Technologies Traditional web site In the beginning, probably…
  • 6. Social network A “typical” web site? 11/03/2015 6 Social Networks Technologies Traditional web site … but soon or later…
  • 8. 11/03/2015Social 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) 11/03/2015 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 11/03/2015 10 Social Networks Technologies Java/JSP PHP Typically, a vertical stack (with one programming language)
  • 11. Now let’s try with these sites… 11/03/2015Social Networks Technologies 11
  • 12. Now let’s try with these sites… 11/03/2015Social Networks Technologies 12 PHP MySQL Apache Rails MySQL Unicorn Django MySQL Tornado Django PostgreSQL Gunicorn
  • 13. Now let’s try with these sites… 11/03/2015Social Networks Technologies 13 PHP MySQL Apache Rails MySQL Unicorn Django MySQL Tornado Django PostgreSQL Gunicorn Are you really, really sure?
  • 14. Not so sure?! 11/03/2015 14 Social Networks Technologies https://github.com/twitter https://github.com/facebook Let’s have a look at some pages and projects… https://engineering.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. 11/03/2015 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 11/03/2015 16 Social Networks Technologies A lot of different languages
  • 17. Now, have a look again at this… 11/03/2015 17 Social Networks Technologies Impressive?!
  • 18. This is ONLY the tip of the iceberg…
  • 19. Social Network Characteristics 11/03/2015Social 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… 11/03/2015 20 Social Networks Technologies
  • 21. On December 2014… 11/03/2015Social 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 4.75 billion content items shared per day 4.5 billion ‘Likes’ per day 350 million photos uploaded per day Over 500 TB new data ingested per day 890 million active users per day
  • 22. Growth Rate 11/03/2015Social Networks Technologies 22 0 200 400 600 800 1000 1200 1400 1600 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 April2014 July2014 October2014 January2015 Millions of Users
  • 23. 11/03/2015 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. 11/03/2015 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 11/03/2015Social 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 (2014)
  • 27. The main problem 11/03/2015Social 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 11/03/2015Social 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? 11/03/2015 29 Social Networks Technologies
  • 30. Solution 11/03/2015Social 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 Pinterest cases
  • 31. Facebook architecture at 100 feet How to handle such situations? 11/03/2015 31 Social Networks Technologies
  • 32. Servers and Data Centers 11/03/2015Social Networks Technologies 32  Facebook has 4 data centers  Prineville, Oregon  Forest City, North Carolina  Luleå, Sweden  Altoona, Iowa  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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social 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 11/03/2015Social Networks Technologies 43 - write one location
  • 44. News Feed Service 11/03/2015Social 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. Pinterest architecture at 100 feet How to handle such situations? 11/03/2015 46 Social Networks Technologies
  • 47. Infrastructure 11/03/2015Social Networks Technologies 47  Pinterest follows some core principles 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 on Amazon EC2
  • 48. Software Architecture 11/03/2015Social Networks Technologies 48  Web Tier  Heavily-modified Django (Python)  Tornado is the chosen Web Server  Storage Tier  MySQL  Amazon S3 for photos  Cache Tier  Redis (key-value storage)  memcache
  • 50. Conclusions 11/03/2015Social Networks Technologies 50  Most Social Networks starts like “traditional” website  They change and/or evolve their hardware and software infrastructure when:  users grow  some functionalities are added/revised  Scalability is a relevant problem…  They are complex entities and, sometimes, required complex or innovative solutions
  • 51. References 11/03/2015Social Networks Technologies 51  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  Scaling Pinterest, http://highscalability.com/blog/2013/4/15/scalin g-pinterest-from-0-to-10s-of-billions-of-page- views-a.html
  • 52. License 11/03/2015Tips 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/