Internet - CrismerLaPignola.it

Archive

Archive for the ‘Internet’ Category

Lo sviluppo open source come nuova opportunità a costruire il tuo profilo professionale: dove guardare, cosa imparare.

November 28th, 2011 1 comment

Programatori Free Open Source

Fino a pochi anni fa il termine Open Source era legato al mondo linux e alle piccole community di sviluppatori che con grandi sforzi e in completa autogestione cercavano di diffondere non solo il loro software ma anche i vantaggi di un nuovo modo di fornire servizi.
Oggi a distanza di pochi anni la diffusione di software open source ha avuto una crescita esponenziale al punto da renderlo a tutti gli effetti competitivo e non solo, ponendolo al centro dell’attenzione delle grandi multinazionali che molto spesso sostengono le community o addirittura hanno acquisito l’intero know how.

Pensiamo ad azende con nomi di un certo calibro come Novell, Oracle, Google e la stessa Microsoft che da qualche temmpo ha iniziato a mettere a disposizione degli sviluppatori un’ambiente di sviluppo ricco di strumenti con licenza open.
Read more…

Che cosa si intende con il termine Crowdsourcing?

Questo articolo si pone l’obiettivo di dare un’ampia e dettagliata spiegazione sul termine Crowdsourcing e delle risorse disponibili sul web  e in particolare:

  1. Cosa significa Crowdsourcing
  2. In che modo si applica
  3. Chi vi è coinvolto
  4. Risorse correlate

1) Cosa significa Crowdsourcing

Se andiamo su Wikipedia troviamo la seguente spiegazione di cui riporto il link in fondo…

“Il termine crowdsourcing (da crowd, gente comune, e outsourcing, esternalizzare una parte delle proprie attività [1])
è un neologismo che definisce un modello di business nel quale un’azienda o un’istituzione richiede lo sviluppo di un progetto,
di un servizio o di un prodotto ad un insieme distribuito di persone non già organizzate in una comunità virtuale.
Questo processo avviene attraverso degli strumenti web o comunque dei portali su internet.

Inizialmente il crowdsourcing si basava sul lavoro di volontari ed appassionati che dedicavano il loro tempo libero a creare contenuti
e risolvere problemi. La community open source è stata la prima a trovarne beneficio.
L’enciclopedia Wikipedia viene considerata da molti un esempio di crowdsourcing volontario.

Oggi il crowdsourcing rappresenta per le aziende un nuovo modello di open enterprise, per i freelance la possibilità di offrire
i propri servizi su un mercato globale.”

 

Wikipedia
[1]http://it.wikipedia.org/wiki/Crowdsourcing

Articolo su IL SOLE24Ore
http://www.ilsole24ore.com/art/SoleOnLine4/Economia%20e%20Lavoro/2009/02/crowdsourcing-rete-soluzione.shtml?uuid=169c9a06-f22b-11dd-ba33-8852ec7bfa32&DocRulesView=Libero

2) In che modo si applica

Sempre di più si parla di questo termine e sempre di più c’è la necessità di sapere e di conoscere riguardo a questo termine coniato da
Jeff Howe nel 2006; ecco un video che illustra l’evoluzione fino ad oggi (fonte: http://www.franzrusso.it/condividere-comunicare/levoluzione-del-crowdsourcing-jeff-howe/).

Read more…

Categories: Generico, Internet Tags:

Esplorando il software che sta alla base di facebook (Ultima parte)

February 3rd, 2011 No comments

 

Esplorando il Software di Facebook

Altri aspetti che aiutano Facebook a lavorare  meglio

In questa serie di articoli abbiamo parlato di alcuni dei software che compongono il sistema di Facebook  e lo aiutano nell’erogare un servizio sempre più performante. Ma un tale sistema che prevede una movimentazione di grandi dimensioni di dati è pur sempre un compito complesso, per cui abbiamo pensato di elencare un paio di cose in più che Facebook fa per mantenere il suo servizio integro e privo di intoppi.

1) Rilasci graduali

Facebook ha un sistema definito Gatekeeper che consente di eseguire codice diverso per diversi gruppi di utenti (si introducono fondamentalmente diverse condizioni nella base di codice). Ciò consente al team di sviluppo di Facebook di effettuare rilasci graduali di nuove funzionalità, come test A / B, attivare alcune funzionalità solo per i dipendenti Facebook, ecc.

Gatekeeper permette anche di fare qualcosa che si chiama Facebook “lancia oscura”, che è quello di attivare gli elementi di una certa caratteristica dietro le quinte prima che vengano messe on line (in praica senza che gli utenti se nè accorgano in quanto non ci saranno comunque elementi corrispondenti UI).
Questo agisce come un test di stress del mondo reale e consente di esporre i colli di bottiglia e altri settori problematici prima che una funzione è ufficialmente lanciata. Dark è fato solitamente ogni due settimane prima del lancio effettivo.

2) Profilink del Sistema Live

Facebook segue con attenzione i suoi sistemi; è abbastanza interessante che monitora anche le prestazioni di ogni singola funzione PHP in ambiente di produzione live. Questa profilazione del contesto live PHP viene fatto utilizzando uno strumento open source chiamato XHProf.

3) Disattivazione graduale di performance aggiunte

Se Facebook si imbatte in problemi di prestazioni, ci sono un numero elevato di livelli che lo lascia a poco a poco disabilitare funzioni meno importanti per migliorare le prestazioni delle funzionalità del Core di Facebook.

4) Le cose che non ho citato

Non ho approfondito molto la parte hardware in questi articoli, ma, naturalmente,  è anche questo un aspetto importante quando si tratta discalabilità.

Ad esempio, come molti altri siti che gestiscono enormi quantità di dati, Facebook utilizza un CDN per aiutare a servire i contenuti statici.
Poi naturalmente c’è un enorme centro dati che Facebook sta costruendo in Oregon per migliorarel a scalabilità con i server.
E a parte i software che ho già accennato, vi è naturalmente una quantità elevata di altri software coinvolti in tutto il sistema di Facbook.
Tuttavia, spero di essere stato in grado di evidenziare i software più importanti e le scelte fatte da Facebook, sopratutto spero che questi aspetti possano essere di aiuto a tutti coloro che ogni gkiorni devono confrontarsi con grossi sistemi e che a loro volta si trovano a prendere delle decisioni tecnologiche spesso non facili.

…Infine…Facebook e l’open souce

Non posso completare questo articolo senza menzionare quanto Facebook sia amico e ha ‘sposato’ l’open source. O forse si dovrebbe dire, “ama”.

Non solo Facebook ha utilizzato (e contribuendo al suo sviluppo) il software open source come Linux, Memcached, MySQL, Hadoop, e molti altri, ma ha anche reso molto del suo software sviluppato internamente disponibile come open source.

Esempi di progetti open source che provenivano da Facebook includono HipHop, Cassandra, Thrift e Scribe.
Facebook ha anche open-source Tornado, una rete ad alte prestazioni quadro server sviluppato dal team di FriendFeed (che Facebook ha acquistato nel mese di agosto 2009).

(Un elenco di software open source che è coinvolto con Facebook si possono trovare nella pagina di Facebook Open Source).

Un cordiale saluto.

Java4ever – il video

October 24th, 2010 No comments

In questa domenica di autunno voglio rilassarmi pubblicando questo video che mi ha fatto ridere a lungo, e forse anche un pò sorridere. Credo ceh al di là delle risate questo video faccia riflettere su quello che si nasconde dietro ai due mondi open e Microsoft…

Buona visione e buon divertimento.

Seguitemi su Twitter:  http://twitter.com/crismerlapi

Categories: Internet Tags:

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

October 16th, 2010 2 comments

Haystack

http://www.facebook.com/note.php?note_id=76191543919

E’ un photo storage ad alte prestazioni, (sostanzialmente, Haystack è uno strmento per lo storing, non solo per grossi quantitativi di foto ma di diverse tipologie
di files).
Questo strumento svolge un’enorme lavoro; ci sono più di 20 milioni di foto caricate su Facebook, e ciascuna di esse è salvata in quattro differenti risoluzini, quindi

arriaviamo ad avere più di 80 milioni di foto. E non si tratta solo di essere in grado di gestire miliardi di foto, le prestazioni sono critiche.
Come menzionato in precedenza, Facebook serve circa 1.2 milioni di foto per secondo, un numero che non include immagini servite da Facebook’s CDN.
Un numero davvero impressionante.

BigPipe

http://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919

BigPipe è una pagina Web dinamica al servizio del sistema che Facebook si è sviluppato in casa. Facebook lo usa per servire ciascuna pagina web in sezzioni chiamate “pagelets” per ottimizzare le performance.

Cassandra

http://cassandra.apache.org/

Cassandra è un sistema di storage distribuito senza single point of failure.  Si tratta di uno dei ‘bambini manifesto’ per il movimento NoSQL
ed è stato reso open source (è anche diventato un progetto Apache). Facebook lo usa per la sua Posta in arrivo.
Oltre a Facebook, altri servizi utilizzano questo oggetto, per esempio Digg.  stiamo anche considerando il suo utilizzo con Pingdom.

Scribe

http://github.com/facebook/scribe

Scribe è un sistema flessibile di logging che Facebook utilizza internamente. E’ stato concepito per gestire i logging e automaticamente gestire nuove
categorie di logging dato che Facebook nè gestisce a centinaia.

Hadoop and Hive

http://hadoop.apache.org/

Hadoop e’ un open source map-reduce che fa il possibile per migliorare le performance di calcolo su masse di dati. Facebook loutilizza per ‘data analisys’ (e come sappiamo, Facebook gestisce quantitativi esagerati di dati).
Hive è un oggetto che rende possibile l’utilizzo di query SQL per Hadoop, rendendo altresì più user friendly l’utilizzo per i non programmatori.

Thrift

http://incubator.apache.org/thrift/

Facebook utilizza diversi linguaggi per implemetare i vari servizi presenti nel sistema.
PHP è utilizzato per il front-end,  Erlang è usato per chat, Java e C + + sono utilizzati anche in diversi punti (e forse anche altri linguaggi).
Thrift è un framework sviluppato internamente ‘cross-language’ che lega tutte questi linguaggi insieme, rendendo possibile lo scambio di informazioni tra di loro.
Ciò ha reso molto più facile per Facebook mantenere il suo sviluppo multi-linguaggio.

Varnish

http://varnish-cache.org/

E’ un acceleratore HTTP che può agire come un sistema di bilanciamento del carico e anche il contenuto della cache che possono poi essere servita alla velocità della luce. Facebook utilizza Varnish per servire foto, immagini del profilo, la gestione di miliardi di richieste ogni giorno ecc.
Come quasi tutto ciò che Facebook usa Varnish è open source…. [continua]

La prossima puntata prenderemo in cosiderazione ‘altri aspetti che aiutano Facebook a funzionare agevolmente.

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