Arda Solutions s.r.l. | The Informal Blog

facebook-like-open-source

Non è certo un mistero che facebook sia nata scrivendo codice che utilizza esclusivamente tecnologia open source. Strumenti come php o mySQL sono stati (e per alcune parti lo sono ancora) il nocciolo portante su cui poggia la fortuna di facebook.

Evolvendo però, la stessa facebook ha trovato nel modello open source e nella tecnologia un alleato per crescere senza limite utilizzando quello che già c’era e, molto più importante, rinnovandolo e innovandolo. E’ di pochi giorni fa l’articolo della stessa facebook in cui fa il punto sul 2013 e sui rilasci e le attività open source. L’articolo è molto interessante ed è per questo che ho deciso di parlarne in questo inizio 2014

Partiamo subito dalla sintesi di che cosa è opensource perché mi rendo conto che parlando di facebook e opensource, molti sicuramente avranno storpiato il naso. La definizione di opensource è:


git clone https://github.com/facebook/facebook.git

Detto questo, navigando il repository github di facebook ci si accorge che è parecchio aggiornato e pieno di un sacco di codice e progetti interessanti. Si va dal mobile, passando al big data fino ad arrivare alla ottimizzazione dei frontend web. Nell’articolo vengono riportati alcuni macro argomenti propenderanti rispetto ad altri:

  • Mobile
  • Web
  • Data
  • Infrastructure

Fra tutti i progetti, sicuramente è bene soffermarsi sul gioellino riguardante i Big Data, il Distributed Query Engine Presto un prodotto opensource scritto in java (ancora leader nel software -realmente- enterprise) capitanato da facebook che (in soldoni) permette di lanciare query SQL su basi di dati distribuite. Utilizzato interamente sul DWH Facebook e sempre più orientato alle prestazioni, già attualmente vanta l’utilizzo in uno dei DWH più esteso del pianeta, quello di facebook, con più di 300PB di dati, interrogato da più di 1000 postazioni con una media di 30.000 query interattive e distribuito su un cluster di più di 1000 nodi (non male!).

Facebook claims Presto is 10 times better in terms of CPU efficiency and latency than the Hive and MapReduce combo

Un altro progetto per noi molto interessante (fra gli innumerevoli presenti) riguarda il compilatore JIT per php, supportato dalla stessa facebook e usato su larga scala nelle pagine del social media in tutto il mondo. HHVM (questo il nome del progetto) per esteso, ” HipHop Virtual Machine” è una VM creata appositamente per eseguire “programmi” scritti in PHP. L’introduzione di una VM che, al suo interno, permette l’utilizzo di un JIT in un linguaggio nato e cresciuto come linguaggio interpretato, ha come fine ultimo la possibilità di aumentare le prestazioni di elaborazione del codice, l’ottimizzazione dei processi di caching e l’introduzione di un ulteriore strato aggiuntivo che possa essere a sua volta ottimizzato a seconda delle necessità.  Come riportato direttamente nel README.md del progetto:

HHVM (aka the HipHop Virtual Machine) is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. To date, HHVM (and its predecessor HPHPc before it) has realized over a 9x increase in web request throughput and over a 5x reduction in memory consumption for Facebook compared with the Zend PHP 5.2 engine + APC.

Meglio di cosi?

E’ evidente che facebook, grazie anche questo tipo di progetti, si pone alla guida per traghettare questo tipo di tecnologie ad uno stadio successivo. Vedremo cosa ci riserva il futuro, ma sicuramente il 2014 sarà ancora un ottimo anno per i nuovi progetti marcati Facebook!

Annunci
%d blogger hanno fatto clic su Mi Piace per questo: