Da molti anni ormai assistiamo alla crescita di comunità di ricerca sempre più geograficamente distribuite, con necessità di collaborare in modo efficace su dataset, strumentazione e applicazioni comuni. L’infrastruttura di calcolo della Cloud GARR nasce con la doppia motivazione di servire le esigenze interne di risorse di calcolo flessibili, a supporto della fornitura di servizi e l’opportunità di supportare direttamente ricercatori singoli e gruppi di ricerca in discipline diverse e con requisiti eterogenei.
Interamente basata su soluzioni open source e un insieme di configurazioni personalizzate, la Cloud Federata GARR vanta un’offerta di servizi cloud-based che va dal semplice IaaS (Infrastructure as a Service) a differenti varietà di PaaS (Platform as a Service) e SaaS (Software as a Service), anche disponibili nella forma di Deployment as a Service (DaaS). L’obiettivo principale di questa infrastruttura non è però posizionarsi come un fornitore di risorse cloud su larga scala che copra i bisogni cloud dell’intera comunità della ricerca in Italia, quanto piuttosto proporre un modello scalabile di infrastruttura federata operata da più enti, basato sulla filosofia dei Commons.
Non tutto il cloud è uguale: quali soluzioni per le reti della ricerca in Italia e Ue
La “Community Cloud” della ricerca italiana
Avere una infrastruttura di calcolo e storage sotto il proprio diretto controllo permette senza dubbio una maggior personalizzazione delle architetture e dei servizi: si può dare più spazio ai requisiti degli utenti, svincolando dall’offerta commerciale l’evoluzione degli strumenti software dedicati al data sharing e alla collaborazione. Questo permette di evitare i rischi di vendor lock-in, molto significativi soprattutto se scegliamo una formula come il Software as a Service; da non sottovalutare anche la possibilità di ottenere risparmi significativi rispetto all’outsourcing che, particolarmente quando ci si allontana da soluzioni off-the-shelf può diventare estremamente costoso.
Una infrastruttura di questo tipo offre inoltre un maggior controllo sui dati, garantendo di non perdere il controllo sulle misure atte a garantirne l’integrità, la sicurezza e la riservatezza, diversamente da quanto avviene utilizzando piattaforme di terze parti. Ma vi sono anche una serie di motivazioni di natura organizzativa e culturale. Uno dei più importanti effetti della realizzazione di una community cloud come la nostra è il favorire l’acquisizione e la ritenzione delle competenze all’interno della comunità grazie all’esperienza sul campo, e allo sviluppo di personale, andando a prevenire il cosiddetto “knowledge drain”.
Il modello federato: quando l’unione facilita la vita
Crediamo che un modello federato e collaborativo sia quello più adatto a rispondere alle molteplici esigenze di una comunità ricca e complessa come la nostra e, allo stesso tempo, rifletta al meglio la missione di GARR come aggregatore e armonizzatore di infrastrutture: quella di realizzare infrastrutture digitali comuni, controllate dalla comunità dell’università e della ricerca.
Attraverso la Cloud federata GARR, vogliamo promuovere l’aggregazione di infrastrutture nazionali di calcolo localizzate in data centre di proprietà dei membri della comunità GARR, che partecipano condividendo risorse e servizi cloud attraverso un approccio federato. Realizzare e mantenere una infrastruttura di cloud in-house è un’impresa che richiede un importante investimento in termini di acquisizione di competenze iniziali, seguita da continue e significative attività operative. La nostra idea è che attraverso la federazione si possa alleviare il peso di entrambi questi aspetti per tutte quelle organizzazioni nella comunità che, per motivi strategici, intendono mantenere la ownership delle loro infrastrutture e il relativo know-how. In quest’ottica di rafforzamento della comunità e di creazione di una comunità attiva va anche inquadrata l’attività di trasferimento di conoscenza e formazione svolta dal nostro team, come anche le numerose attività di collaborazione in atto con vari attori della comunità scientifica e accademica.
La soluzione che abbiamo proposto per la federazione è basata su un modello multi‐regione OpenStack ed è praticamente fattibile se assumiamo di federare cloud disegnate e realizzate in modo coordinato. Al centro di questa soluzione è il concetto di regione amministrativa. Ciascuna Regione rappresenta un’istanza separata di OpenStack, che include risorse di API endpoint, rete e computing ed è collegato ad altre regioni utilizzando servizi centralizzati comuni, tra cui AAI e dashboard. Il concetto di regione è flessibile: può contenere servizi localizzati all’interno di una o più aree geografiche distinte, o al contrario essere limitata a un singolo rack – per cui in uno stesso data centre possono coesistere regioni multiple.
La logica della federazione permette ad ogni organizzazione di mantenere il controllo sull’utilizzo delle proprie risorse, determinando dinamicamente quanta parte mantenerne per uso privato e quanta condividere con la federazione. L’autorità amministrativa è delegata a una serie di figure che vanno dall’amministratore della cloud, che crea e gestisce le differenti regioni, a quello della regione o dominio, per arrivare a quelli dei singoli progetti.
Le scelte architetturali: standard de facto, modularità e ricette automatizzate
L’architettura di riferimento è basata sulla tecnologia open source OpenStack, oggi lo standard de facto in questo settore. OpenStack gestisce risorse di data centre attraverso un insieme di servizi modulari, che interoperano in una architettura service-oriented. I suoi componenti permettono di astrarre risorse computazionali, di storage e di rete e di offrirle in modo dinamico e sicuro a tenants diversi.
L’automazione è un aspetto cruciale della realizzazione e manutenzione della cloud: riduce il carico amministrativo, permette di semplificare i processi, contenere il manpower richiesto, limitare i rischi e mantenere i servizi costantemente aggiornati. Sulla cloud federata GARR abbiamo implementato una soluzione di automazione basata sui due tool open source MAAS e Juju, il primo dedicato alla gestione dell’hardware (MAAS è l’acronimo di Metal-As-A-Service) e il secondo all’orchestrazione. Grazie all’utilizzo dei charm, piccole applicazioni che “impacchettano” funzioni comuni, non solo è possibile effettuare il deployment e la gestione di applicazioni singole, ma anche collegarle tra loro in “modelli” in grado di occuparsi di scalare i servizi e gestirne le interdipendenze.
Questa combinazione permette all’amministratore della cloud da un lato di gestire i server fisici come fossero macchine virtuali e dall’altro di creare, configurare, gestire e scalare in alto o in basso servizi cloud e workload in modo veloce. In particolare, Juju utilizza il modello dichiarativo per effettuare il deployment di una varietà di architetture complesse come OpenStack e scalarle opportunamente.
Una “ricetta” per partecipare
Ciascuna istituzione che faccia parte della comunità GARR può rendere parte delle proprie risorse disponibili nella Cloud Federata. Anche per facilitare questa operazione, esiste una semplice ricetta in quattro passi preparata dal nostro team. Il solo prerequisito è che sia presente una rete sottostante a quello che si intende federare: le risorse fisiche dovranno quindi essere interconnesse e avere accesso a internet, in modo da rendere possibile l’installazione del software.
I primi tre passi della nostra ricetta si svolgono nella regione da federare e comprendono l’installazione dei tool di automazione, la registrazione delle risorse fisiche e i veri e propri deployment e configurazione guidati del cluster OpenStack. Il quarto ed ultimo passo avviene invece nel “core” federato e permette di abilitare la nuova regione con l’inserimento di credenziali di sistema e API endpoints all’interno del servizio centralizzato di identità.
È anche possibile sfruttare gli stessi strumenti per sviluppare una propria cloud senza federarla, quando la separazione completa dalle infrastrutture altrui sia un requisito.
Grazie a questa ricetta, possiamo abilitare un gran numero di università e istituzioni di ricerca a creare infrastrutture simili e federarle insieme senza rinunciare né alla data ownership né ad esercitare la propria autorità sulle risorse, offrendo pieno supporto alle attività inter- e cross-disciplinari e alle collaborazioni di ricerca tra più istituzioni.
Benefici per tutti
Come detto, questo modello permette di creare una infrastruttura più vicina ai bisogni della comunità della ricerca, ma anche di realizzare dei risparmi rispetto alle soluzioni commerciali, anche grazie all’uso più efficiente delle risorse federate. Ma non è questo l’unico beneficio dal punto di vista di un finanziatore: questo approccio permette infatti di spostarsi da un modello pay-per-use, in cui i costi finali sono difficilmente prevedibili e i ricercatori devono adattarsi all’offerta commerciale, a uno in cui gli investimenti in hardware e personale possono essere gestiti e programmati e i servizi possono essere personalizzati, evoluti e migliorati in base ai bisogni degli utenti. Questo, per inciso, implica dei benefici non solo per gli enti federati ma anche per il sistema Paese, visto che fa sì che una larga parte degli investimenti resti all’interno dei confini nazionali, supportando la creazione, il consolidamento e la ritenzione di competenze, rafforzando tutta la filiera della ricerca e dell’innovazione. Insomma, un ottimo investimento per il futuro non solo della ricerca.