Altro

SharePoint, Yammer, Java e Google Compute Engine

sharepoint yammer java google cloud

Ecco alcuni link interessati letti durante il weekend:

Altro

Le tecnologie dietro ad un sito che serve milioni di utenti

Interessante l’elenco delle tecnologie che Foursquare utilizza per servire i sui 15 milioni e passa di utenti, si trova nella pagina about: “I’m really into technology. What’s Foursquare built on?“.

Si tratta prevalentemente di soluzioni open-source, ci sono un po’ tutte le tecnologie più in voga del momento, dai database NoSQL, alle analisi sui dati con Hadoop, a Backbone.js e tutto sta su Amazon Web Services.

Per maggiori informazioni c’è il loro blog tecnico.

foursquare

Copio e incollo da Foursquare:

I’m really into technology. What’s Foursquare built on?

A causa della nostra crescita piuttosto folle, abbiamo progettato il nostro software su vari livelli in uno stack, in modo che risultasse il più possibile flessibile e scalabile. Questo ci ha permesso di crescere da poche migliaia di utenti ad oltre 15 milioni, ed anche di permettere a nuovi e fantastici tecnici di entrare a farne parte e collaborare da subito.

Foursquare è attualmente ospitato all’interno del servizio di Amazon EC2 , utilizzando centinaia di server che eseguono una versione base di CentOS Linux . Usiamo NGINX per indirizzare le richieste e servire contenuti statici e HAProxy per bilanciare le richieste web e API da molte macchine.

Ora arriviamo alla parte divertente. Salendo di livello nello stack, i dati in tempo reale del sito vengono memorizzati in MongoDB (anche se usiamo Memcache per memorizzare in cache un piccolo insieme di calcoli dispendiosi). Per l’analisi off-line dei dati effettuiamo regolarmente un’istantanea dei nostri dati in tempo reale e la importiamo in un cluster Hadoop. Abbiamo alcune operazioni personalizzate MapReduce, ma ci affidiamo soprattutto alla semplice sintassi di Hive e di uno scheduler delle attività realizzato appositamente per i calcoli abituali. Usiamo Solr e Elasticsearch per far funzionare la ricerca di luoghi, consigli, utenti. La nostra indicizzazione geografica usa la libreria s2 di Google per memorizzare gli identificativi di cella all’interno del nostro indice di ricerca. Usiamo PostGIS e il meraviglioso insieme dati digeonames.org per convertire a ritroso gli indirizzi codificati geograficamente in coordinate, il che ci consente di collocare i luoghi su una mappa e renderli disponibili per una ricerca basata sulla posizione. Kestrel costituisce la nostra coda per attività asincrone che intendiamo eseguire su gruppi di richieste degli utenti. Le foto realizzate dagli utenti vengono memorizzate su Amazon S3 con invio dei contenuti tramite Akamai. L’intero meccanismo è un po’ più complesso di così se si scava più a fondo, ma in sostanza tutto questo è il suo cuore.

Quasi tutto il codice per il sito web, le API e l’elaborazione in batch è scritto in Scala. Il web e le API si basano su Lift web framework. Inoltre, utilizziamo un bel po’ di Python e Bash script per l’automazione delle build, la distribuzione ed altre attività operative. Infine, il contenuto dinamico sul sito è scritto in javascript con un mix di jQuery, Backbone.js per i modelli di oggetti e Soy per i template.

We use beautiful maps by MapBox created using data provided by the wonderful © OpenStreetMap and contributors, and licensed Open Data Commons Open Database License. The interactive maps are generated using the open-source library Leaflet.

Altro

La vicenda incredibile dei disservizi di TreNord

Da tre giorni TreNord ha cambiato orari dei treni e deciso in contemporanea di mettere in esercizio il nuovo sistema informatico per la gestione e la programmazione dei turni del proprio personale. Un autentico disastro di cui non si intravede una soluzione, treni sospesi, in ritardo, personale mancante, turnazioni sballate.
Sembra che il nuovo software in realtà funzioni correttamente e che il problema sia dovuto ad un non corretto caricamento dei dati, situazione surreale, immagino e sono convinto che il sistema sia complesso, ma come minimo nella messa in esercizio di un nuovo sistema, critico per il business di una azienda, si dovrebbe:
1. effettuare una fase di test con dati reali
2. mantenere vecchio e nuovo sistema operativi in parallelo per verificare il corretto funzionamento
3. avere un piano di rollback che permetta di ritornare in tempi brevi al vecchio sistema in caso di disservizi dopo lo switch dei sistemi

Visto che TreNord ha disservizi da tre giorni, mi sa che nessuno dei tre punti è stato svolto correttamente, chissà per quanto si andrà avanti in questa situazione…

image

Altro

California 2012 e 500px

Sono ormai un soddisfatto utilizzatore di 500px a discapito di Flickr. Cambiato anche il processo di pubblicazione e selezione delle foto, ogni giorno analizzo le foto scattate in una intera giornata e pubblico quella che mi piace di più. Quindi una foto al giorno di un giornata di vacanza in ordine rigorosamente cronologico, sono arrivato alla ottava giornata e ne mancano altre 7.

Ecco qui il set “California 2012“.

Altro

Out of Office

San Francisco, San Diego, Palm Spring, Solvang, Monterey, Silicon Valley, Napa Valley, Sacramento, San Francisco.