CrismerLaPignola

ESPLORANDO IL SOFTWARE CHE STA’ ALLA BASE DI FACEBOOK (I PARTE)

June 24th, 2010 1 comment

…traduzione dell’articolo “Exploring the software behind Facebook, the world’s largest site”..

La maggior parte degli approcci tradizionali di web server risultano impraticabili per Facebook che ormai per le sue dimensioni e caratteristiche necessità di ‘attenzione particoloare‘.
Gli ingegneri lavorano constantemente affinchè Facebook continui ad erogare ai suoi utenti un servizio veloce, fruibile e sicuro; e non è un’impresa facile dati i numeri che girano intorno a questo ormai famosissimo Social Network.

Prima di addentrarci in alcuni significativi dettagli vediamo quali sono questi numeri a dir poco incredibili:

  1. Facebook server 570 milioni di pagine viste ogni mese
  2. Ci sono un quantitativo di foto su Facebook il cui totale supera tutti i siti di raccolta foto come Filckr..
  3. Più di 3 milioni di foto vengono caricate mensilmente.
  4. Il sistema di Facbook serve più di 1.2 milioni di foto al secondo. Questi dati non includono le immagini servite dal CDN di Facebook.
  5. Più di 25 milioni di contenuti (aggiornamenti, commenti ecc.) vengono condivisi ogni giorno.
  6. Facebook ha più di 30.000 server, e questo è un dato dell’anno scorso!


IL SOFTWARE CHE SOSTIENE FACEBOOK NEL SUO LAVORO

Nel corso del tempo Facebook è dovuto cambiare ed estendere le sue operazione e incorporare nel suo ‘motore’ sempre più elementi e servizi.
Facciamo alcuni esempi:

  • Facebook utilizza come linguaggio di programmazione il PHP, ma è stato necessario costruire un compilatore capace di introdurre codice nativo nel suo web
    server, così da migliorare le performance;
  • Facebook utilizza Linux come sistema operativo, ma è opportunamente ottimizzato per raggiungere i suoi target (sopratutto in termini di networking)
  • Facebook utilizza Mysql come data base server ma si avvale di ulteriori software per supportare le performance di accesso alle informazioni (in altre parole l’uso di Memcasched risulta fondamentale per rendere veloci gli accessi agli storage a milioni di utenti).

Ma passiamo ai dettagli e andiamo a presentare alcuni dei più importanti software di cui si avvale Facebook per fornire servizi sempre più veloci,
con prestazioni avanzate e tecnologici.

In questa prima parte parleremo di Memcached.

MEMCACHED

Memcashed (http://memcached.org/) è al momento uno dei più famosi software che supportano applicazioni web.
E’ in sostanza un sistema di memory cashing distribuito del quale Facebook, ma non solo lui, utilizza come cashing layer tra i web server e i Db server MySql
(questo per ovviare all’accesso al db che solitamente non è mai velocissimo).
Nel corso degli anni, Facebook ha fatto un sacco di ottimizzazioni per il software Memcasched come ad esempio ottimizzare il network stack solo per menzionarne uno.

Nella prossima puntata parleremo di HipHop per PHP e Haystack, BigPipe e Cassandra.

Categories: Internet Tags: , ,

Google Image-swirl

December 17th, 2009 No comments

Google Image-swirl è un modo nuovo per ricercare immagini; questo è il nuovo progetto a cui un team di google stà  lavorando. Ecco come appare una ricerca tipica: supponiamo di ricercare software development life cycle … Ecco come appare:

software development life cycle

software development life cycle

Si tratta di una nuova modalità di raggruppare,  ma soprattutto di visualizzare cluster di immagini simili, rendendo molto più facile ed intuitiva la navigazione.

Ricordo che Goolgle ha già promosso e inserito nel suo Google Labs http://www.motoricerca.net/2009/10/29/google-similar-images-attivo/ proprio con l’obiettivo di migliorare la ricerca di immagini da parte degli utenti.

Ecco il link  http://image-swirl.googlelabs.com/.

Alla prossima novità di Google.

WUBI – L’installer di Ubuntu per windows

December 16th, 2009 No comments
Wubi - L'installer di Ubuntu per Windows

Wubi - L'installer di Ubuntu per Windows

Wubi è l’installer ufficiale di Ubunto per gli utenti windows i quali grazie a questo tool hanno la possibilità di installare questa distribuzione in modo semplice e guidata.
Grazie a questo software open è infatti possibile installare la distribuzione GNU/Linux Ubuntu da Windows come se fosse una qualsiasi applicazione.

Il problema che incontrano i neofiti

Per un utente che si avvicina a Linux la prima volta le modalità con cui installare un sistema possono essere poco chiare.
Un dubbio abbastanza comune riguarda la scelta di installare in multiboot, ovvero con la possibilità di scegliere il sistema operativo da avviare al momento del boot di sistema, oppure l’opportunità di dedicare un pc esclusivamente a Linux.
Il più delle volte gli utenti poco esperti preferiscono sacrificare un pc, magari il vecchio desktop, ed effettuare i propri esperimenti su tale macchina.
La preoccupazione comune nel realizzare un sistema multiboot è condivisibile, infatti, qualora qualche operazione di configurazione non dovesse andare a buon fine si potrebbe correre qualche rischio.
Nel migliore dei casi si perderebbe qualche ora, magari di sonno, cercando informazioni online sulle modalità di ripristino del bootloader; in condizioni peggiori, a fronte di errori gravi dell’utente stesso, si potrebbero anche perdere dei dati per un’erronea configurazione delle partizioni.

Il Tool
Wubi non modifica il sistema e non crea partizioni per ospitare il nuovo sistema operativo. Difatti tutto si basa su un disco virtuale creato all’interno dello stesso file system di Windows. Il resto dell’hardware non è emulato come in una virtual machine e questo permette ad esempio di poter usufruire di accelerazione 3D.

L’unica modifica apportata al sistema è un aggiornamento del bootloader in modo che all’avvio del PC l’utente possa scegliere se avviare Windows oppure Ubuntu; in pratica al bootloader originale fornito da Windows viene ad affiancarsi Grub come bootloader secondario.
L’installazione che si ottiene è un set-up di dual boot identico a quello di una installazione di Ubuntu da CD, con possibilità di salvare i cambiamenti, accedere ad i files di Windows, installare nuovo software ed aggiornare il sistema operativo.
La rimozione del sistema operativo è anch’essa facilitata, infatti avviene tramite il pannello di Installazione Applicazioni di Microsoft Windows come se fosse una normale applicazione.
Il programma è nato come un progetto indipendente guidato da Agostino Russo.  La prima versione è stata la 7.04; successivamente Wubi è stato incorporato in Ubuntu 8.04 diventando un installer ufficiale di Ubuntu.
I programmatori stanno lavorando ad un programma che permetta agli utenti di spostare una installazione di Wubi da disco virtuale ad una partizione dedicata.

Di seguito vediamo i principali vantaggi e (che non mancano mai) limitazioni o svantaggi nell’utilizzare questo software.

Vantaggi

  • Non richiede di masterizzare un CD. Wubi scarica automaticamente l’ISO file necessario. Tuttavia se un CD è disponibile, verrà rilevato automaticamente in fase di installazione.
  • Non modifica le partizioni del computer, non sostituisce il bootloader e non sovrascrive il MBR.
  • Può essere disinstallato come un normale applicativo dal pannello di controllo di Windows.
  • A differenza del live CD, il file system è accessibile in lettura e scrittura, quindi è possibile salvare i cambiamenti. Inoltre, utilizzando il disco rigido invece del CD, le operazioni di lettura risultano velocizzate.

Vantaggi rispetto ad una macchina virtuale…

Ci sono dei vantaggi anche rispetto all’utilizzo di una virtual machine, in quanto vi è pieno accesso a tutto l’hardware, quindi le prestazioni sono migliori ed è anche possibile usufruire del desktop 3D di Ubuntu, Compiz.

Limitazioni

  • L’attuale implementazione, benché estremamente comoda per un novizio, riduce leggermente le prestazioni di I/O e non permette di ibernare il PC. In particolare, poiché il disco virtuale risiede all’interno del file system di Windows, qualora quest’ultimo fosse eccessivamente frammentato le performance di Ubuntu ne risentirebbero.
  • Inoltre non è al momento disponibile in Linux un programma per effettuare la riparazione di NTFS. Qualora NTFS dovesse diventare corrotto (cosa che può capitare in seguito ad una perdita improvvisa dell’alimentazione), diventa necessario riavviare Windows ed utilizzare chkdsk prima di poter avviare nuovamente Ubuntu.
  • I programmi che permettono di allargare il disco virtuale o di migrare Wubi su partizione dedicata sono ancora in fase sperimentale.

Svantaggi rispetto ad una macchina virtuale…

  • Un VM può essere avviato all’interno di Windows mentre con Wubi si ottiene un menu di avvio in modalità dual boot (simile a quello di una installazione da CD), per cui è necessario riavviare il computer per poter selezionare il sistema operativo.
  • Un VM utilizza un hardware emulato che non presenta problemi di drivers, mentre Wubi utilizza l’hardware fisico, che è un metodo molto più efficiente ma che, per funzionare, ha bisogno che l’hardware stesso sia ben supportato da Ubuntu/Linux (il problema non è specifico di Wubi).

Avviando Ubuntu si dovrà effettuare il login con le credenziali scelte in Wubi e,  successivamente,  si potrà utilizzare il sistema o procedere a una configurazione personalizzata. L’installazione di default provvede già a montare le partizioni Microsoft Windows e tali risorse saranno accessibili direttamente dal desktop….

Per scaricare l’ultima versione aggiornata andate al sito ufficiale http://wubi-installer.org/

Categories: Software Tags: , , ,

GOOGLE WAVE

December 5th, 2009 2 comments

Google stupisce ancora e in questo breve articolo voglio presentarvi un ulteriore passo avanti che google compie con questo nuovo strumento.

Che cos’è Google Wave?

E’ un nuovo strumento di comunicazione on line e di collaborazione tra utenti. Con Wave è possibile conversare come si fa normalmente con altri strumenti come gtalk ma anche condividere in tempo reale documenti, foto, video ecc..
Con wave è possibile quindi conversare condividendo informazioni come itinerari, budget insomma ogni forma di documentazione tutto on line coinvolgendo chi si vuole.

Ecco alcune caratteristiche:

  • Gorup project
  • Photo Sharing
  • Meeting Notes
  • Brainstorming
  • Interactive Games

Di seguito un video di Anteprima:

Google Wave

 

In esclusiva un ottimo video su Google Wave installato su Android:

Se avete ulteriori anteprime da condividere non esitate.
Alla prossma puntata. 8-)

Categories: Internet Tags: , ,

GOOGLE INTRODUCE NUOVA INTERFACCIA

November 27th, 2009 1 comment

Sembra che da alcuni giorni il gigante di internet GOOGLE stia sperimentando un restyling completo della pagina principale e pochi sono i ‘fortunati’ a doverla testare.

Di seguito riporto alcune caratteristiche aggiornate:

  • L’opzione di ricerca accorpata in una serie di schede (tabbed).
  • Opzioni di ricerca che cambiano in base al tipo di ricerca ad esempio nei video si possono selezionare i risultati in base alla durata o alla qualità.
  • Nuova sezione che suggerisce termini di ricerca correlati

… e molto altro tutto mirato a fornire servizi sempre più utili e veloci.

Ma ora veniamo al bello dell’articolo; se avete voglia e siete curiosi potete anche voi provare la nuova interfacccia.

  1. Prima di iniziare assicuratevi di conoscere la procedura per ripulire i cookies del vostro browser
  2. Andate sul sito http://www.google.com/ncr che vi porta sul sito americano di Google.
  3. Copiate e incollate (su una singola riga) quanto segue nella casella dell’indirizzo del browser, senza anteporre http:// o altro:
  4. Premete invio
  5. Ritornate nuovamente al saeguente indirizzo web: http://www.google.com/ncr

copia e incolla
javascript:void(document.cookie=”PREF=ID=20b6e4c2f44943bb:
U=4bf292d46faad806:TM=1249677602:LM=1257919388:
S=odm0Ys-53ZueXfZG;path=/;domain=.google.com”);

Alcune screen:

L’interfaccia standard di Google in inglese USA:

startpage_current

E questo è quello che dovreste avere sullo schermo dopo aver eseguito le istruzioni:

start page - testAltre screen interessanti relative ai risultti di una possibile ricerca avviata…

searchresult

searchresult_due

Fate un pò di prove e cercate di utilizzare tutte le funzionalità nuove offerte dall’interfaccia.
Se volete tornare indietro cioè alla situazione di partenza ripristinando l’attuale layout occrre seguire questi piccoli passi:

  • cancellare i coockies direttametne dal vostro browser relativi a google e precisamente
    PREF ID=20b6e4c2f44943bb (a secondo del browser utilizzato seguite i menù adatti)
  • ricaricate la pagina così da fare un bel refresh.

Alla prossima.

Un particolare ringraziamento a Paolo Attivissimo dal cui ho tratto queste informazioni.
Fonte:
http://attivissimo.blogspot.com/

Related Posts with Thumbnails
Categories: Internet Tags: ,
Creative Commons License
Questo/a opera è pubblicato sotto una Licenza Creative Commons