Stage Esterno: Gestione di configurazioni Docker

Descrizione

All’interno dell’Istituto Nazionale di Genetica Molecolare (INGM), il laboratorio di Ricerca e Sviluppo di Bioinformatica, facente capo al programma “Integrative Biology”, ha l’obiettivo di sperimentare e sviluppare nuovi approcci alle analisi bioinformatiche, in particolare quelle relative al trattamento dei dati di Next Generation Sequencing (NGS). Una volta che i metodi e le procedure di analisi escono dalla fase sperimetale, queste devono essere consolidate e trasferite agli altri bioinformatici e/o analisisti presenti nel centro. Tali procedure potranno subire un utleriore raffinamento entrando poi a pieno titolo tra gli strumenti

utlizzabili da i ricercatori di INGM. Per far ciò è fondamentale che le installazioni dei software siano tracciate, gli ambineti di sviluppo e di analisi siano portabili e che le analisi bioinformatiche siano riproducibili. L’utilizzo dei sistemi di virtualizzaione (Proxmox/KVM) e di software deployment (Chef/Puppet) sono stati ampiamente esplorati e sono attualmente utilizzati con successo dal dipartimento Information Technology (IT) di INGM . Tali sistemi risultano però non sufficientemente flessibili e dinamici per le necessità di di frontiera per la ricerca. Di recente è stato introdotto nel mondo della virtualizzazione Docker, che riesce a combinare i vantaggi di un sistema di deployment portabile e riproducibile con la versatilità della virtualizzazione. Docker introduce il concetto di “contenitore” volto allo svolgimento di una unica funzione, nel nostro caso una analisi bioinformatica. Il contenitore è eseguito in un ambinete virtualizzato estremanente efficiente e leggero dove l’unica dipendenza richiesta con il sistema ospite è il kernel (GNU/Linux). La riproducibilità e tracciabilità della installazione è garantita da una immagine che viene creata a partire da un file (Dockerfile) che descrive nel dettaglio i componenti software, le modalità di

installazione e di esecuzione. In questo approccio ogni procedura di analisi può essere richiamata velocemente ed in maniera semplice. In questa ottica il laboratorio di R&D ha già iniziare la prototipizzazione di alcune procedure, un obiettivo parziale è la creazione di una libreria di Dockerfile per ognuna delle analisi da realizzare.

E’ in corso di realizzazione una nuova tipologia di cloud privato, su infrastruttura di proprietà di UniCredit che quest’ultima mette a disposizione di INGM, in orari di basso carico, per finalità di ricerca e nell’ambito delle proprie attività filantropiche. Diventa quindi importante sviluppare una strategia di deployment, basata su Docker, che tenga in considerazione i vincoli impliciti nell’utilizzo di un’infrastruttura che è sia sensibile che progettata per fini diversi dalla ricerca. Al tempo stesso, INGM e UniCredit stanno collaborando per esplorare come sia possibile ottimizzare l’utilizzo delle risorse dei due istituti.

La proposta di tesi prevede di sviluppare e implementare la strategia di deployment basata su Docker in modo da soddisfare le esigenze di INGM (principalmente facilità di adattamento a modifiche minori delle analisi da realizzare) e di semplificare la gestione, considerando la diversità delle risorse hw/sw da utilizzare.

Luogo

Istituto Nazionale di Genetica Molecolare  — Milano — http://www.ingm.org

Requisiti

Conoscenza di sistemi Linux

Competenze acquisibili

Utilizzo di Docker come sistema di deployment

Esperienza di utilizzo di infrastrutture private

Risultati attesi

Un sistema di gestione di tali configurazioni.

Per informazioni contattare

Gianluca Della Vedova <gianluca.dellavedova@unimib.it> oppure Raoul Bonnal <bonnal@ingm.org>

Tempo di realizzazione

3 mesi