La sfida delle tecnologia: complessità e scelte
Se c'è una cosa difficile, in questo momento, è orientarsi all'interno delle mille tecnologie disponibili. Anche scegliendo Java e l'Open Source come assi portanti, come abbiamo fatto in Mate, rimangono aperte centinaia di opzioni, all'interno delle quali un'azienda può rimanere disorientata.
Un laboratorio a disposizione dei clienti
In questo contesto Mate ha costituito un laboratorio di analisi e sperimentazione a disposizione per i propri clienti dove, di fronte ad un problema, è possibile investigare sulle strade percorribili, valutarne l'efficienza e formulare un piano. Senza bisogno, per l'azienda nostra cliente, di effettuare investimenti in hardware e in middleware, perchè quegli investimenti li abbiamo già fatti noi.
Tecnologie disponibili nel laboratorio
Su un cluster multi processore abbiamo installato, in un contesto Gnu/Linux, una completa piattaforma Hadoop di sviluppo, completa di HDFS, Hadoop, Hive, HBase, Pig, R, Pentaho e Impala. Tramite questi strumenti è possibile sperimentare soluzioni avanzate nell'ambito dei Big Data. Il tutto con la disponibilità di un crawler web che permette l'acquisizione di centinaia di milioni di pagine da sottoporre ad indicizzazione e analisi.
Abbiamo poi a disposizione un sistema di analisi semantica, che ci permette di effettuare analisi basata su ontologie complesse su testi ed altre fonti destrutturate, siano esse provenienti dal web come dalla produzione interna di un'azienda. L'analisi dei dati è supportata da R e da Pentaho.
Il laboratorio è infine attrezzato con uno stack completo di produzione di software per applicazioni mobili, che va dalla disponibilità di ambienti di sviluppo Javascript altamente portabili ad un contesto di sviluppo Android o DotNet.
Infine siamo attrezzati con un sistema Nagios di monitoraggio reti e di un framework SymmetricDS per la sincronizzazione dati su database relazionali tra nodi remoti.
Come operiamo
Il laboratorio è a disposizione di clienti o di potenziali clienti che, prima di effettuare un investimento progettuale oneroso, vogliono sperimentare su piccola scala, ma in un contesto architetturalmente vicino a quello definitivo, la soluzione ipotizzata. Normalmente si procede con volumi di dati inferiori a quelli reali, talvolta simulati, e realizzando l'essenziale dell'applicazione. L'obiettivo è ottenere un "proof of concept" a basso costo e di rapida produzione che permetta di prendere la decisione di investimento con il conforto di una sperimentazione reale.