4 ans de possibilités infinies grâce à la plateforme Facebook

La plateforme de développement de Facebook célèbre ses 4 ans. Elle a permis à des développeurs tiers ou externes d’utiliser les fonctionnalités du plus grand réseau social au monde dans leurs applications ou sites externes.

Malgré que ça fait 4 ans, je suis toujours un peu déçu de voir comment on s’en sert mal au Québec. Le développement informatique basé sur des API publiques comme celui de Facebook est souvent peu coûteux et peu risqué. Le programmeur s’appuie sur du solide qui est déjà déployé sur le web. La seule limite est votre imagination!

J’ai déjà fait quelques applications client pour Facebook, mais je rêve tout de même de faire de quoi très novateur et intégré avec cette plateforme. Quelqu’un d’intéressé dans la salle? :-)

Je vous invite à lire aussi : API des réseaux sociaux, ne laissez pas des opportunités sur la table

Une gaffe peu rassurante chez Facebook

Plusieurs de mes contacts sur Twitter ont dit hier qu’ils avaient de nouvelles fonctionnalités dans leurs pages corporatives Facebook. Quand j’ai tenté d’aller voir ce dont ils parlaient, le site ne répondait plus.

Facebook a été indisponible pendant quelques minutes en début de soirée, en raison d’un dévoilement public et accidentel de fonctionnalités qui apparaîtront prochainement sur le réseau social.

Afin de réparer son erreur, Facebook a mis son site hors ligne. Le réseau s’en excuse auprès des internautes. L’interruption de service n’aura duré que quelques minutes. Lorsque Facebook est redevenu accessible, les nouveautés avaient disparu.

via Branchez-Vous Techno.

Je vous fais part de cette bourde ici pour vous démontrer ceci: même si Facebook dessert plus de 500 millions d’utilisateurs dans le monde et brasse des millions de dollars, le sérieux de sa gestion de ses systèmes d’information est plutôt douteux. On voit rarement ce genre de gaffes sur des sites comme Paypal ou eBay.

Je me souviens aussi d’un ingénieur de Facebook à Confoo qui expliquait l’architecture des serveurs memcached qui servent à ménager les ressources informatiques du réseau. Ils avouaient qu’une petite portion des requêtes étaient perdues et cela était acceptable pour eux.

Pourtant, Facebook souhaite lancer soi-même un tas de nouveaux services comme sa propre plateforme de paiement en ligne « Facebook Credits » similaire à Paypal. Son manque de sérieux dans le déploiement et le versionnage ne me rassurera pas vraiment quand il s’agira de données financières.

Certes Paypal et eBay n’ont jamais connu une croissance aussi rapide, mais quand même, la confiance est à la base de ces solutions en ligne. Avez-vous confiance de confier vos paiements en ligne à Facebook?

L'infrastructure de Facebook en 2010

Modelisation du futur centre de données de Facebook à Prineville

Facebook est maintenant le site web le plus achalandé au monde surpassant Google.  Le site Datacenter Knowledge vient de créer une FAQ qui regroupe toutes les données et informations sur les installations physiques pour supporter un tel achalandage.

On apprend d’ailleurs ces faits saillants :

  • Facebook loue actuellement du pied carré dans 5 centres de données partagés.
  • En juin 2010, Facebook utilisait 60 000 serveurs, alors qu’on parlait de 10 000 serveurs en avril 2008.
  • Un centre majeur de 147 000 pieds carrés est en construction à Prineville en Oregon. Il sera prêt en 2011. Un agrandissement de 160 000 pieds carrés a déjà été annoncé pour 2012.
  • Les dépenses d’hébergement (location de pieds carrés, électricité, etc.) totalisent environ 50 $ M par an.
  • Les serveurs sont fabriqués par Rackable (SGI) et Dell
  • Facebook a le plus grand cluster MySQL au monde et est le plus grand utilisateur de memcached.
  • Chaque centre de données emploie 20 à 50 personnes.

5 logiciels libres qui permettent à Facebook de servir 500M d'utilisateurs

Bureaux de Facebook à Palo Alto

Le blogue ReadWriteCloud a produit un billet très intéressant qui présente 5 logiciels libres que Facebook utilise. Certains d’entre-eux ont été créés par Facebook et ensuite mis à la dispositions de tous.

Cassandra

Un système de stockage distribué qui permet de sauvegarder d’énormes quantités de données. Une solution NoSQL avec laquelle on récupère nos données avec une clé unique. Il n’y a pas de point de défaillance unique (single point of failure). Ce fut développée initialement par Facebook et ça l’a été transféré plus tard au Apache Software Foundation. Ce logiciel s’apparente à BigTable développé par Google et disponible via API à travers le Google App Engine.

Hive

Le système de fichiers Hadoop permet de sauvegarder des fichiers à travers une grappe de serveurs distribués sur un réseau (un nuage). Hive est une couche d’accès de données qui rend possible des fonctionnalités d’entrepôt de données au dessus de Hadoop. Il permet aux développeurs de faire des recherches dans le language QL qui ressemble beaucoup au SQL.

HipHop

Cet outil permet de pré-compiler le code PHP en C++. Facebook prétend avoir doublé la capacité de ses serveurs de traitement depuis qu’elle a mis en place cet outil. Toutefois, lors du dernier Confoo, un conférencier nous a précisé découragé d’utiliser HipHop sur des petits projets car le gain ne sera pas perceptible. Pour un site web comme Facebook, cela a toutefois représenté des économies substantiels dans l’ordre des millions de dollars.

Scribe

Un système de journalisation à très haut volume. Facebook doit sauvegarder 25 téraoctets de données à tous les jours sur son site web (25 000 gigaoctets!). Les solutions traditionnelles étaient incapable de prendre en charge autant de données.

Thrift

Une librairie qui facilite la communication entre différents langages de programmation. Thift permet de gérer du code dans une multitude de languages populaire pour être en mesure de lire des structure de données produites dans un autre langage. Il évite de faire de la sérialisation et de la désérialisation en XML qui très coûteux en temps CPU.