• Non ci sono risultati.

4.8 Proof of Concept Definizione dell’ambiente di sviluppo e gestione

4.8.1 Il Sistema Operativo

Partendo dal sistema operativo su cui appoggiare l'ambiente di sviluppo, esiste un grandissimo numero di varianti tra cui poter scegliere, per dare una idea della vastità delle scelte possibili basta osservare la seguente Figura 4.1:

Esistono in realtà molte altre versioni di Unix libere, ma la scelta è caduta sulla famiglia GNU/ Linux per le sue caratteristiche di grande diffusione, ampio utilizzo nelle realtà aziendali (dato che ne attesta la solidità e l'affidabilità) e il fatto che in questi ultimi anni tale sottocategoria sia diventato uno standard ‘de facto’ nel mondo dell’informatica. Inoltre questa famiglia di sistemi operativi ha anche il vantaggio di essere disponibile su di una ampia famiglia di dispositivi.

Altro elemento importante a favore di questo tipo di sistemi è data dalla possibilità di ottenere facilmente e gratuitamente supporto tramite la collaborazione con le numerose comunità on- line dedicate all'approfondimento pratico e all'uso di questo sistema operativo.

Anche restringendo il campo alla sola famiglia GNU/Linux vi sono molte alternative di ‘distribuzione’ potenzialmente adatte alla realizzazione di un ambiente di sviluppo, e per la implementazione dei componenti del sistema MIS. Per effettuare una scelta è dunque necessario valutare altri parametri.

Come si può notare dalla figura 4.1, le distribuzioni si suddividono in tre principali macro famiglie: Debian, Slackware e Red Hat. Tra questi tre filoni fondamentali è stata selezionata Red Hat in base alle seguenti considerazioni.

1. Red Hat ha affiancato i prodotti con un servizio di assistenza progettato per aziende anche di importanti dimensioni, il mercato cosiddetto Enterprise: questo ha avuto come effetto il fatto che molte realtà aziendali si sono orientate verso questo tipo di prodotto. Di conseguenza la comunità open source che si rivolge alle aziende ha implementato sempre di più questo sistema, e si è creato un indotto grazie al quale oggi è possibile trovare praticamente la totalità delle applicazioni rivolte alle esigenze produttive delle aziende compatibili con Red Hat. Molte di esse sono disponibili anche per altre piattaforme, ma Red Hat è indiscutibilmente tra tutte quella più diffusa. Considerando che le necessità aziendali sono comunemente orientate verso la stabilità e la sicurezza, si è valutato che le necessità del sistema da implementare fossero conformi a quelle aziendali.

2. La grande diffusione dell’ecosistema RedHat Enterprise ha avuto effetto anche sul mondo scientifico ed accademico, per cui si sono diffuse distribuzioni basate su tale tecnologia anche in questi ambiti. Un tipico esempio è Scientific Linux, che è una ‘versione’ di Linux messa insieme dal laboratorio Fermilab del CERN, e da vari altri laboratori ed Università in tutto il mondo. Il suo obiettivo primario è ridurre la duplicazione degli sforzi nella creazione di un S.O. scientifico affidabile, e di avere una base comune di installazione per i

vari esperimenti e relativi sperimentatori. La distribuzione Scientific Linux è di fatto una RedHat Enterprise ricompilata partendo dai sorgenti.

3. Red Hat Enterprise Linux è in grado di soddisfare i requisiti tecnici e funzionali presenti nel settore delle telecomunicazioni, elemento essenziale per il progetto, in quanto la maggioranza delle fonti da cui perverranno i dati da immagazzinare saranno geograficamente distanti dal sistema; è stato dunque necessario prevedere l'utilizzo di tecnologie tipiche del settore delle telecomunicazioni.

4. Alcune delle tecnologie di punta di RedHat sono state utilizzate anche nei Task successivi, ad esempio il supporto al nuovo Kernel Real-Time di cui si tratterà più ampiamente nella parte riguardante il Task 2.

5. Red Hat Enterprise Linux è una delle distribuzioni GNU/Linux più stabili attualmente presenti sul mercato, ed ha generato una serie di derivate liberamente utilizzabili ed adatte a vari scopi.

Quest’ultimo punto è molto importante, nell’ottica di costruire uno Standard Internazionale. Adottare un modello Open Source consente anche di mantenere la possibilità di scegliere tra varie implementazioni di uno strumento, a seconda delle necessità del singolo progetto in termini di supporto, tecnologie da utilizzare e adattabilità ad un particolare scopo. Ad esempio se le esigenze progettuali non richiedono i servizi di assistenza e di consulenza forniti da Red Hat, è possibile optare per una delle distribuzioni completamente gratuite derivate. Nel caso invece si ritenesse utile è sempre possibile scegliere diversamente, senza però dover riprogettare tutte le applicazioni, che continueranno con tutta probabilità a funzionare anche su piattaforme differenti ma compatibili. Ciò ovviamente è un enorme vantaggio in quanto consente una totale libertà attuale e futura nella scelta del fornitore.

Tra le varie alternative disponibili su base RedHat nel caso specifico delle presente Proof of Concept è stata selezionata CentOs. Questa è una distribuzione che è stata sviluppata con la finalità di rendere disponibile una piattaforma enterprise libera a chiunque voglia usarla senza dover necessariamente sostenere i costi di una licenza Red Hat.

Le sue release sono compilate a partire dai sorgenti SRPMS open source pubblici di un ‘prominent North American Enterprise Linux vendor’, cioè Red Hat.

CentOS è completamente compatibile con il prodotto Red Hat, e tendenzialmente modifica il sorgente originale unicamente al fine di rimuovere e/o modificare le customizzazioni grafiche e gli artwork di Red Hat. In ogni caso né il CentOs Project né qualsiasi versione di CentOs sono in alcun modo collegate con l'azienda Red Hat.

In base al complesso di queste osservazioni si è scelto di appoggiare l'ambiente di sviluppo e per semplicità anche quello applicativo su piattaforma CentOs.