Archivi categoria: Tecnologie e Architetture

Benvenuti nell’era degli ‘Small data’

I Big data, considerano grandi moli di informazioni che vengono utilizzate per comprendere e anticipare i bisogni e le richieste delle persone.

I Fast data sono la capacità di analizzare i dati in tempo reale.

Gli Small data, sono informazioni che possono sembrare poco rilevanti ma che, analizzate e inserite nel contesto dei Big data, sono invece rivelatrici delle motivazioni degli utenti.

[continua a leggere su: businessinsider.com]

Containers Tips: il pattern Sidecar

containers-sidecar

Nell’ambito dello sviluppo software, talvolta, può essere necessario suddividere i componenti di un’applicazione (presenti sulla stessa macchina) su due differenti container.

Lo scopo dei container è quello di isolare i processi in modo da poterli eseguire in maniera indipendente stabilendo un confine tra gli stessi.

Tale suddivisione potrebbe essere necessaria a causa dell’utilizzo di differenti risorse (resource isolation), di differenti gruppi di sviluppo (team ownership) o di funzionalità diverse (separation of concerns).

In questo caso, si può utilizzare il pattern “sidecar”: questo modello si compone di un’applicazione principale ed una secondaria (sidecar) che offre funzionalità di supporto per l’applicazione padre. Il sidecar condivide anche lo stesso ciclo di vita dell’applicazione padre, poiché viene creato e ritirato insieme al padre.

Per approfondire l’argomento ti suggerisco il seguente libro in lingua inglese:

designing-distributed-sistems

Panoramica della scalabilità di Linkedin

Nel suo post “Infrastructure at Scale: Overview“,  Ning Zhang ingegnere capo di LinkedIn, illustra come sia stata resa scalabile l’architettura informatica del noto social network.
Come mostrato nella figura riportata di seguito, LinkedIn ha realizzato applicazioni native sia per Ios che per Android oltre alle versioni mobile e desktop del sito web.
InfrastructureatScale1
Le quattro interfacce utente accedono ai dati tramite delle apposite API, questo permette una forte consistenza dell’interfaccia grafica e delle sue funzionalità su tutti i dispositivi.
Il codice di ciascuna piattaforma viene gestito su quattro repository, così suddivisi: iOS, Android, Web (che prevede sia il codice della versione desktop che di quella mobile) e le API.
I repository gestiscono più di 5.000 files con più di mezzo milione di linee di codice.
Il modello utilizzato è il “Thrunk Based Development” che prevede un unico branch per ogni repository sul quale i programmatori eseguono le archiviazioni.
L’immagine di seguito illustra il processo di sviluppo:
InfrastructureatScale2.jpg
Il processo viene chiamato “3X3” in quanto il rilascio avviene 3 volte al giorno e non intercorrono più di 3 ore per la pubblicazione dopo il rilascio del codice.
Per ulteriori informazioni vi rimando all’articolo originale: Infrastructure at Scale: Overview
Se vuoi approfondire l’argomento  sul “Thrunk Based Development” ti suggerisco il seguente libro
continuos

 

Andrea Cervi si occupa di Service Management in Poste Italiane S.p.A.
E’ certificato ITIL Foundation ed ITIL Intermediate Service Operation.
Si è interessato al framework ITIL sin dall’inizio seguendone l’evoluzione e l’integrazione per le aziende che si occupano della gestione dei servizi IT.

segui suaxeloslinkedintwitterfacebook