facebook

Fil des billets

La houille blanche selon Marc Zuckerberg patron de Facebook

Voici un article du monde sur Marc Zuck'

http://www.lemonde.fr/international...

Et cette magnifique citation :

"Zuck" a poursuivi par une analogie très XXe siècle. "L'électricité, c'était peut-être cool quand elle a fait son apparition. Mais rapidement, les gens ont cessé d'en parler parce que ce n'était plus le nouveau truc. La vraie question, à ce stade, c'est : est-ce qu'il y a moins de gens qui allument la lumière parce que c'est moins cool ?"

Est-ce que Zuck se fout de notre gueule ? avec son cool et le 20 ème siècle ?

L'électricité est le problème N°1 de son infrastructure serveur.

  • C'est pourquoi Zuck, installe ses serveurs a proximité du cercle polaire pour faire mouliner des serveurs et ne pas payer d'électricité pour climatiser l'ensemble.
  • C'est cool de consommer de l'électricité, mais c'est cool de faire des économies sur la facture d'électricité..
  • Zuck se fout de notre gueule avec allumer la lumière, ses datacenter sont dans le noir pour ne pas payer l'éclairage

Finalement, il faudrait que les états taxent beaucoup plus l'électricité aux datacenters étrangers.. pour faire payer l'impôt que ces sociétés fuient.

Mais au final.. tout finira comme Google.. avec leur propre production d'énergie avec une autonomie énergétique.. (On se rapproche de Matrix ? :))

Facebook est-il en train d'asphyxier Internet ? Ou vos esprits ?

Je me suis permis de reprendre le titre de ce billet Facebook est-il en train d'asphyxier Internet ?, sachant que j'ai animé une conférence titrée : "Facebook de Maurienne ou la perte Volontaire de vie privée" ce mardi à Saint Jean de Maurienne à l'invitation de la FCPE.

Revue de presse dans le Dauphiné du jour :

Conférence très intéressante, avec beaucoup d'échanges, des parents d'élèves très inquiets de ce phénomène exponentiel..


Avant de parler de l'article de blog, voici une petite vidéo que je vous laisse regarder :

The World Is Obsessed With Facebook from Alex Trimpe on Vimeo.

Facebook Asphyxie t'il le web ?

Oui très clairement, après la lecture de cet article : Long Live the Web: A Call for Continued Open Standards and Neutrality, je pense que le site Facebook a une technique d'asphyxie du web

  • Facebook isole les données des utilisateurs
  • Ces données ne sont pas accessibles via le web, il faut être authentifié sur le système
  • Facebook limite l'accès universel a l'information

Le web est composé de pages web, décrites par des standards qui sont là pour rendre universel l'accès à l'information

Cet accès universel doit comporter une notion fondamentale : La liberté

Et pour préciser le propos, nous parlons de liberté d'expression

Facebook est en train de segmenter le web et de créer une zone qui est en dehors du web et comme tout chose que l'on isole.. Au bout d'un certain temps cela pose des problèmes d'innovation.

Nous sommes dans la même problématique qu'avec Firefox et Internet Explorer, je me souviens d'une phrase de Tristan Nitot à Lyon (JDLL), "Firefox est là pour rétablir l'innovation sur le web."

Et bien je crois que c'est réussi ! le web n'a jamais été aussi intéressant que depuis que Firefox existe, si nous aurions continué à n'avoir que Internet Explorer comme navigateur internet et le web serait resté quelquechose de basique sans aucune innovation.

Un web géré par une entreprise américaine, qui n'a que faire de la variété de et la multitude de cultures à travers le monde.

Heureusement la fondation Mozilla a apporté une révolution d'innovation

Facebook est donc un Internet Explorer en puissance ?

Oui,

Facebook asphyxie la curiosité de l'utilisateur du web :

L'information n'est pas dans la "vie des autres", mais elle est contenue dans les pages qui composent le web, celui qui a des URLS, des protocoles de communication (TCP, IP) ouverts, des standards (HTML5) et une interopérabilité universelle

Ma crainte face à l'utilisation du web, c'est que les internautes ne s'intéressent plus qu'a une seule information.. Une information qui en réalité n'a que peu d'intérêt..

C'est la vie des autres

Pourquoi ?

Parce que la vie des autres a un besoin d'innovation, de créativité, de nouveauté, d'inspiration

Facebook ne peut pas apporter cela a l'utilisateur, c'est un web parfaitement formaté

Vous êtes dans un silo, parmi un tas d'autres entitées, similaires, remplies d'informations, formatées, contrôlées par une seule entitée

Vous ne pouvez pas changé la couleur de votre texte, rajouter une image, ajouter un style css

Avec Facebook vous perdez toute liberté de diffuser l'information, d'autant plus qu'elle est privée.

C'est un peu comme une scène dans un film que j’apprécie.. je vous laisse découvrir l'image et rechercher le contexte historique de cette image :

Facebook ne va pas vous créer des relations sociales, Facebook va vous aspyxier l'esprit sous une montagne d'informations que l'ont vous sert sur un plateau..

C'est un premier essai, je vais essayer de commencer à écrire sur ce sujet et vous faire un retour sur les échanges que nous avons pendant les conférences.

N'hésitez pas à me contacter, nous pouvons échanger sur le sujet : Formulaire de contact

Les datacenter Facebook avancent très rapidement


[1]

Comme le titre datacenterknowledge.com : "Facebook’s Expansion: How Big, How Fast?"

Les investissements de facebook sont pharaoniques, on parle de 450 Millions de dollars pour le datacenter de Rutherford en Caroline du Nord.

Je vous laisse regarder à quelle vitesse les travaux avancent :

  • Novembre 2010

  • Décembre 2010

  • 23 Janvier 2011

Pourquoi deux datacenter ?

Deux datacenter sont actuellement en construction : Prineville Data Center et Rutherford Data Center, à quoi vont-il servir ?

  • Pour bénéficier d'une "proximité avec les utilisateurs" cote EST, cote OUEST (Amélioration de la latence)
  • Pour garantir une redondance, le réseau sera sans doute proche du Terabit /s entre les deux
  • Pour se passer de location de salles, cela doit être très coûteux pour eux.. d'avoir à rajouter 300 à 5000 serveurs / jours dans des salles louées.

Le problème de l'électricité

Je pense que Facebook va devenir fournisseur d'électricité, pour faire de l'achat d'élécitricté en gros et pour réduire ses frais de fonctionnement.

Finalité

Pour calculer votre profil marketing, il faut de la puissance de calcul, des serveurs, de la place..

La seule chose que Facebook veut faire, c'est de monétiser vos informations personnelles et vous donner l'impression que vous êtes libres de choisir ce que je vous achetez..

https://www.facebook.com/advertisin...

Notes

[1] Source

Facebook et le stockage des photos


[1]


Facebook et le stockage des photos...

Je suis tombé sur ces slides :

Quelques chiffres :

  • 65 Milliards de photos
  • 260 Milliards images (icones, vignettes & co)
  • 20 Petaoctets de stockage : 20 000 disques dur de 1To
  • 1 Milliard de photos envoyées par semaine soit 60 Tera octets
  • 'Serveurs web qui distribuent' : 1 Million d'images par seconde... (Merci Varnish)

Soit environ : 3.1536 × 10^13 photos distribuées par an... (sans compter le facteur d'augmentation..)

Utilisation d'un CDN :

Facebook utilise Akamai en tant que CDN, le pourcentage de HIT (fichiers en cache dans le CDN est uniquement de 80%) c'est à dire que Facebook prends : 200 000 requêtes par seconde pour distribuer des images.

Vous allez me dire que c'est énorme.. mais à vrai dire tout ça pourrait tenir sur uniquement un seul serveur Varnish !

Quand on voit le dernier record sur un seul serveur :

La distribution des images Facebook.. pourraient potentiellement tenir sur une seule machine.. :) Mais ce n'est pas le cas, parce qu'il faut distribuer ce contenu à travers des millions de connexion TCP et garantir une haute dispo, palier aux probs matériel etc... c'est sans doute une grosse population de serveurs varnish qui distribuent le contenu ! :)

On apprends aussi qu'il y'a beaucoup d'accès à du contenu ancien (anciennes photos etc..) les gens qui utilisent facebook crawlent toutes les photos..

Mise à la poubelle de NFS

Pour distribuer ces photos, facebook utilise des serveurs web qui eux même vont chercher le contenu à travers le réseau sur des serveurs de stockage. Avant Facebook utilisait NFS, mais clairement ce système de fichier réseau n'est pas fait pour faire beaucoup d'entrées/sorties par seconde.

Surtout quand on voit la configuration des machines ..

  • 12 disques 1 To en raid-6 (on peut tolérer deux pannes de disque)

Il s'agit des configuration des nouvelles, mais les anciennes devaient ressembler à ça..

Les limitations de NFS sont :

  • Trop peu d'I/O par seconde
  • Les metadata du système de fichier XFS trop sollicitées pour arriver à tenir la charge

Mise en place de Haystack :

  • Serveurs avec des blocs de 10 To dans un système de fichiers XFS (Matériel : 12 disques 1 To Raid-6)
  • Système de fichiers organisé comme un log, dans lequel on ne fait qu'ajouter des objets
  • 100 conteneurs haystack par par machine, chacun faisant 100 Go
  • Ce système de fichier "log" a aussi un système de metadonnées rapide (pour s'y retrouver)

Serveur web haute vitesse : Haystack Store : photo server

Pour distribuer les photos aux internautes il faut un serveur web, il s'agit de :

Haystack photo server

  • Récupère les requêtes HTTP et les transforment en opérations haystack, le fichier qu'on veut doit être codé dans la requête
  • Toutes les photos stockées sur le serveur sont stockées dans un index (sans doute en mémoire) 32 octets par photo contre 600 pour un inode classique)
  • 5 Go d'index pour 10 To d'images

Quelles sont les opérations qu'on peut faire avec ce système de fichiers ?

  • Lire
  • Modifier
  • Effacer
  • Compacter

Comprendre les urls d'images facebook :

Les slides nous disent :

URL generation

– http://<CDN>/<Cache>/<Node>/<Logical volume id, Image id

https://s-hphotos-ash1.fbcdn.net/hs786.ash1/167687_183899201643803_100000711748307_485916_2381629_n.jpg

Décomposons l'url :

CDN :

s-hphotos-ash1.fbcdn.net

Il s'agit d'une ip aux USA DC cote EST sans doute :)

hs786.ash1

de la machine de cache N° 786 ? sur le node ash1 ?

KISS (Keep It Simple)

Garder les choses simples, c'est la logique.. qui permets d'aller vite !

  • Les lectures aléatoires sont optimisées pour faire 1 entrée sortie par objet
  • On utilise du matos pas cher (Disques 1To/rack 2U) : moins de 2000 € (achetés par 10 000)
  • 8500 lignes de code c++
  • Boulot de deux ingénieurs pendant 4 mois (single point of failure)

Evolutions futures :

  • se passer de cartes 3ware-like (raid 6 logiciel)
  • se séparer de Akamai (CDN) la facture doit faire mal..(et on dirait qu'en 2011 c'est fait)
  • Avoir l'index sur des SSD (Flash)

Questions ouvertes :

On dirait bien que OVH est très largement en avance avec l'utilisation de ZFS sur ses stockages hydrides SSD / disques dur

Conclusion :

C'est tout simplement monstrueux !

Là où certaines entreprises utiliseraient des baies de disques avec Fiber Channel et autres matos coûteux, lourds etc...

Facebook utilise du logiciel libre (linux) ses propres systèmes (non ouverts) pour faire du stockage et la conclusion est simple : Cela fonctionne, c'est terriblement efficace.

Mais la vraie efficacité des images Facebook est liée à l'utilisation de Varnish, qui élimine le frein aux I/O que sont les disques dur en utilisant un bloc de mémoire virtuelle pour stocker les objets.

Bonus : Evolution du code source de Varnish :

Voici une petite vidéo qui montre l'évolution du code source de Varnish :

Notes

[1] source

Facebook 2010, quelques chiffres sur le monstre de statistiques...

[1] [2]

Regardons l'article publié sur Facebook : A Snapshot of Facebook in 2010

Les chiffres sont basés sur une durée de 20 minutes

Combien de fois 20 minutes en une année ?

26280 fois en une année

Nous allons donc multiplier tous les chiffres par 26280, pour nous rendre compte de ce que le monstre a dans le ventre...

Photos marquées :

Tagged photos: 1,323,000

34 768 440 000

34 milliards de visages marqués...

de quoi très largement faire apprendre n'importe quel filtre bayesien !

Photos envoyées

Photos uploaded: 2,716,000

71 376 480 000

En une année... 71 Milliards de photos envoyées dans Facebook..

Quelques extrapolations sur le stockage des fichiers :

  • Si chaque fichier fait 100 Ko

le stockage nécessaire sera de :

  • 6,4 Peta octets soit 6647 To

6647 disques dur d'un To

Et si on se fie à ce que j'avais lu, les serveurs de fichiers facebook ont 24 disques, on arrive à 276 Serveurs de fichiers, ce qui n'est pas grand chose.

Si chaque chassis 24 disques fait 4U on arrive à 26 baies

  • Si chaque photo fait 500 Ko

Nous avons 32 peta octets soit 33237 To ou 33237 disques dur

ou 1384 serveurs soit 131 baies remplies de disque dur..

Et vu que Facebook doit être un peu parano, cela doit être distribué à travers plusieurs datacenter, on peut donc tout multiplier facilement par deux :

  • Estimation basse : 552 serveurs de fichier 24 disques chassis 4U
  • Estimation haute : 2769 serveurs de fichier 24 disques chassis 4U

Mince ! Je viens de retrouver la source : http://www.facebook.com/note.php?no...

En réalité les serveurs sont des :

 2 x quad-core CPUs
 16GB – 32GB memory
 hardware raid controller with 256MB – 512MB of NVRAM cache
 12+ 1TB SATA drives

On peut encore multiplier par 2 le nombre de serveurs, sans doute 3U

Autres informations :

En 2009 : 60 billion images and 1.5PB of storage. The current growth rate is 220 million new photos per week, which translates to 25TB of additional storage consumed weekly

  • A 25 Tb/semaine, on arrive à 1300 Tb / an, mais vu l'évolution de facebook c'est certainement bien plus

Je pense que mon estimation basse de 6 Peta octets me semble la plus sérieuse

Commentaires

Comments: 10,208,000_

268 266 240 000

288 Milliards de commentaires...

Relations en 2010 :

36,774,801 changes their status to married

36 Millions d'enfants en 2011 ? :)

Notes

[1] source

[2] Original Caption: "This Is a Card Puncher, an Integral Part of the Tabulation System Used by the United States Census Bureau to Compile the Thousands of Facts Gathered by the Bureau. Holes Are Punched in the Card According to a Prearranged Code Transferring the Facts From the Census Questionaire Into Statistics."Woman Operating the Card Puncher

Carte des relations facebook à travers le monde

Voici un article intéressant sur le travail d'un stagiaire chez Facebook :

Visualizing Friendships


[grand format

Cette image est intéressante, car elle laisse entrevoir ce qu'il est techniquement possible de faire via un système de calcul distribué tel que "Apache hive"

Apache Hive est une surcouche à hadoop, il permets d'effectuer des requêtes proches du Sql sur d'énormes quantités de données.

Dans notre cas il s'agit simplement de l'ensemble des liens entre 500 Millions de personnes..

Les limitations de la technique ?

Aucune limitation à leurs requêtes, ils peuvent calculer n'importe quoi.. les dernières annonces de facebook en sont la preuve, car ils vont suggérer directement des visages sur les photographies que vous allez envoyer..

Limitations financières liées à la technique ?

C'est bien beau de vouloir calculer tout un tas de choses, mais il y'a des limites techniques ?

A mon avis aucune, ils sont actuellement en train de construire deux datacenter qui vont leur permettre d'héberger sans doute plus de 300 000 Serveurs.

Conséquences sur votre vie ?

Un marketing ciblée et des informations sur votre "profil commercial" d'une finesse aboslue, déjà qu'ils en savaient beaucoup sur vous.. maintenant ils vont en savoir encore plus !

Est-ce que les boutons "J'aime" sur les sites, ne pourraient pas servir à effectuer des stats.. un peu à la façon de Xiti/Google analitycs ?

Facebook est une sorte de carte de fidélité de supermarché, sans même que vous vous en rendiez compte.. Il y'a deux mondes :

  • Une interface utilisateur qui bride vous bride aux gens que vous connaissez et pour qui vous avez déjà eu un lien
  • Une interface qui génère de l'argent pour les publicitaires. C'est là la vraie valeur de Facebook, la capacité à analyser vos données personnelles.. Et de les revendre à qui en aura besoin. (Exemple : La femme enceinte.. qui commencer à recevoir des informations publicitaires ciblées..)

Christine Lagarde

Contrairement à ce que Christine Lagarde raconte sur Canal Plus.. Je ne pense pas que Marc Zuckerberg soit une personne qui défends la liberté d'expression, à mon avis ce garçon cherche à mettre 500 Millions de personnes + 500 millions de chinois dans une boite déstinée à faire du fric...

Sources :

Conclusion :

Comme dirait Google "Don't be evil"[1]... Pardon, aucun slogan chez Facebook..

Notes

[1] Ne faites pas le mal