Cloud computing e sistema operativo linux

39

Transcript of Cloud computing e sistema operativo linux

Page 1: Cloud computing e sistema operativo linux
Page 2: Cloud computing e sistema operativo linux

Per poter parlare di sistemi operativi cloud occorre innanzitutto introdurre il concetto di cloud computing.In informatica con il termine inglese cloud computing (in italiano nuvola informatica) si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in Rete.

Page 3: Cloud computing e sistema operativo linux

Il Cloud Computing è un paradigma di uso delle risorse computazionali attraverso Internet, cioè attraverso la “ Nuvola ” ( “ Cloud ” ) che è una metafora storica di Internet. Si tratta di un paradigma ancora in evoluzione. Una definizione di casi d ’uso, tecnologie sottostanti, problemi, rischi, benefici, sarà ridefinita dai settori pubblici e privati.

Page 4: Cloud computing e sistema operativo linux

Nel caso di computer collegati in rete locale (LAN) o geografica (WAN) la possibilità di elaborazione/archiviazione/recupero può essere estesa ad altri computer e dispositivi remoti dislocati sulla rete stessa.

Sfruttando la tecnologia del cloud computing gli utenti collegati ad un cloud provider possono svolgere tutte queste mansioni, anche tramite un semplice internet browser. Possono, ad esempio, utilizzare software remoti non direttamente installati sul proprio computer e salvare dati su memorie di massa on-line predisposte dal provider stesso (sfruttando sia reti via cavo che senza fili).

È noto come, utilizzando varie tipologie di unità di elaborazione (CPU), memorie di massa fisse o mobili come ram, dischi rigidi interni o esterni, Cd/DVD, chiavi USB, eccetera, un computer sia in grado di elaborare, archiviare, recuperare programmi e dati.

Page 5: Cloud computing e sistema operativo linux

Caratteristiche

On-demand self-service: un consumer può stimare le risorse infrastrutturali delle quali necessita per supportare il proprio business ed ottenerle in tempi brevi ed a costi contenuti “in-the-cloud”.

Broad network access: tutte le risorse cloud sono accessibili a mezzo della rete e di tutti gli standard che su essa si basano, agevolando l’integrazione di sistemi e client eterogenei. La rete quindi rappresenta il canale fondamentale a supporto del paradigma cloud. Senza connettività in rete non è possibile parlare di Cloud Computing…

Page 6: Cloud computing e sistema operativo linux

Shared Resource pooling: le risorse cloud sono organizzate come pool configurabili ed utilizzabili, in modalità condivisa, da diversi consumers a mezzo di un modello multi-tenant. A mezzo del meccanismo della virtualizzazione le risorse fisiche sono assegnate e sfruttate dai diversi tenants contemporaneamente in base alle loro effettive necessità di utilizzo, nonostante la condivisione i contesti di esecuzione legati a tenants diversi restano isolati. Il modello multi-tenant è assolutamente trasparente ai consumers che hanno la percezione di avere a disposizione in ogni momento tutto ciò di cui hanno bisogno.

Tale caratteristica rappresenta uno dei più grandi punti di forza del paradigma cloud poiché consente ai providers cloud di abbattere enormemente i prezzi delle loro offerte…

Page 7: Cloud computing e sistema operativo linux

… Rapid elasticity: le risorse richieste dai clienti possono essere elasticamente fornite e rilasciate, mediante semplici procedure on-the-click o, in alcuni casi, automaticamente. Ciò permette di rendere l’infrastruttura cloud estremamente flessibile e scalabile. Lato consumer le potenzialità dell’infrastruttura sono virtualmente infinite e possono essere rapidamente e facilmente adattate alle effettive esigenze del business “on-demand”.

Measured service: i sistemi cloud automaticamente controllano ed ottimizzano l’uso delle risorse in base alle effettive necessità. In questo modo è possibile impiegare meccanismi di pagamento in riferimento alle specifiche esigenze computazionali, di storage etc. L’utilizzo delle risorse può inoltre essere monitorato in real-time in modo trasparente sia dal provider che dal consumer dei servizi cloud

Page 8: Cloud computing e sistema operativo linux

La virtualizzazione

Un elemento abilitante per il Cloud è la virtualizzazione che permette di “dematerializare” una risorsa fisica, un server, in una risorsa astratta equivalente realizzata tramite software. I server virtuali risultano meno potenti, ma tutti logicamente autonomi e separati dal punto di vista della sicurezza.

Col termine “virtualizzazione” si indica anche la possibilità di potere astrarre alcuni servizi IT dalle rispettive dipendenze (reti, sistemi di storage e hardware), abilitando l’esecuzione di più sistemi operativi virtuali su una singola macchina fisica.

Page 9: Cloud computing e sistema operativo linux
Page 10: Cloud computing e sistema operativo linux

Modelli di servizio

Page 11: Cloud computing e sistema operativo linux

SaaS (Software as a Service) - Consiste nell'utilizzo di programmi in remoto, spesso attraverso un server web. Consente all’utente finale di accedere ad applicazioni e software “installati” su Cloud. Questo acronimo condivide in parte la filosofia di un termine oggi in disuso, ASP (Application service provider). Il servizio Saas si divide in due categorie:

Linea di Servizi alle Imprese: si riferiscono a soluzioni di business offerte alle imprese, e venduti o messi a disposizione di queste sulla base di un abbonamento.

Orientato al Cliente: sono servizi che vengono offerti al pubblico in generale né su una base di sottoscrizione o (più spesso) offerti gratuitamente, ma sono supportati dalla pubblicità.

Page 12: Cloud computing e sistema operativo linux

PaaS (Platform as a Service) - Invece che uno o più programmi singoli, viene eseguita in remoto una piattaforma software che può essere costituita da diversi servizi, programmi, librerie, etc. (ad esempio Google's App Engine). Permette agli utenti finali di creare applicazioni a partire da piattaforme pre-esistenti. Permette di sviluppare e distribuire applicazioni create utilizzando linguaggi di programmazione supportati dal fornitore (ad esempio Java, Python, Net). Il cliente non ha il controllo dell’infrastruttura (rete, server, sistemi operativi, storage), ma ha il controllo sulle applicazioni sviluppate e distribuite ed eventualmente sulle configurazioni.

Page 13: Cloud computing e sistema operativo linux

IaaS (Infrastructure as a Service) - Utilizzo di risorse hardware in remoto. Questo tipo di cloud è quasi un sinonimo di Grid Computing, ma con una caratteristica imprescindibile: le risorse vengono utilizzate su richiesta o domanda al momento in cui una piattaforma ne ha bisogno, non vengono assegnate a prescindere dal loro utilizzo effettivo.Permette di noleggiare capacità di CPU, storage, network e altre risorse come i sistemi operativi e le applicazioni. Il cliente ha il controllo su: sistemi operativi, storage, distribuzione delle applicazioni e può selezionare componenti di rete (ad esempio, firewall,load balancer) .

Page 14: Cloud computing e sistema operativo linux

Modelli di Distribuzione

Community

o LL’infrastruttura è condivisa fra organizzazioni multiple di una specifica community. Spesso pone questioni tecniche relative a compliance o sicurezza. Può essere gestita su server proprietari o di terze parti. Esempi: Google" Gov Cloud&quot

Pubblico

o IL’infrastruttura messa a disposizione da un provider cloud per uso condiviso da parte di un pubblico generico. Può essere gestita, controllata o supportata da un istituto educativo, governativo, aziendale o misto

Page 15: Cloud computing e sistema operativo linux

Privato

o IL’infrastruttura pensata per l’utilizzo da parte di una singola organizzazione. Può essere gestita internamente o da terze parti, con hosting in-house o esterno

Ibrido

o LL’infrastruttura è una combinazione di due o più tipologie di cloud. Si tratta spesso di molteplici entità riunite fra loro

o VVersatile, in quanto consente molteplici modelli di distribuzione cloud

Page 16: Cloud computing e sistema operativo linux

Casi d'uso

Il sistema del cloud computing prevede tre fattori distinti:

Fornitore di servizi (cloud provider) – offre servizi (server virtuali, storage, applicazioni complete) generalmente secondo un modello "pay-per-use“ che impone la predisposizione di sistemi di misurazione in tempo reale del consumo delle risorse e un sistema di fatturazione mirato all’effettivo uso delle risorse per un determinato periodo;

Page 17: Cloud computing e sistema operativo linux

Cliente finale – utilizza i servizi opportunamente configurati dal cliente amministratore.In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere. Ad esempio un cliente può utilizzare un servizio di storage per effettuare il backup dei propri dati, in questo caso il cliente finale provvede a configurare e utilizzare il servizio.I principali processi su cui i diversi fornitori cominciano a proporre soluzioni in modalità cloud sono Customer relationship management (CRM), Human Capital Management (HCM), Enterprise resource planning (ERP).

Cliente amministratore – sceglie e configura i servizi offerti dal fornitore, generalmente offrendo un valore aggiunto come ad esempio applicazioni software;

Page 18: Cloud computing e sistema operativo linux

Architettura

L'architettura del cloud computing prevede uno o più server reali, generalmente in architettura ad alta affidabilità e fisicamente collocati presso il data center del fornitore del servizio.

Il fornitore di servizi espone delle interfacce per elencare e gestire i propri servizi. Il cliente amministratore utilizza tali interfacce per selezionare il servizio richiesto (ad esempio un server virtuale completo oppure solo storage) e per amministrarlo (configurazione, attivazione, disattivazione). Il cliente finale utilizza il servizio configurato dal cliente amministratore.

Le caratteristiche fisiche dell'implementazione (server reale, localizzazione del data center) sono irrilevanti.

Page 19: Cloud computing e sistema operativo linux
Page 20: Cloud computing e sistema operativo linux

I pro …

o Flessibilità: dal momento che i dati non sono salvati sul pc, ma in Internet, l’utente può richiamarli da qualsiasi computer, o anche da uno smartphone, collegato al Web;o Risparmio di spazio di memoria;o Velocità: per usare un programma non occorre installare nulla, con il Cloud computing i programmi sono pronti all’uso con pochi clic;o Manutenzione: il cliente non si deve preoccupare degli aggiornamenti e delle falle di sicurezza;o Costi: si paga solo per la durata dell’utilizzo;o Risparmio sull’hardware: la potenza del pc diventa un fattore di poca importanza per il Cloud computing, il computer serve solo per l’invio di informazioni, l’elaborazione dei dati viene effettuata dalla Cloud;o Scalabilità;

Page 21: Cloud computing e sistema operativo linux

… e i controI sistemi di cloud computing vengono criticati principalmente per l’esposizione degli utenti a rischi legati a:

1)Sicurezza informatica e privacy degli utenti:

o Utilizzare un servizio di cloud computing per memorizzare dati personali o sensibili, espone l'utente a potenziali problemi di violazione della privacy. I dati personali vengono memorizzati nelle Server Farms di aziende che spesso risiedono in uno stato diverso da quello dell'utente. Il cloud provider, in caso di comportamento scorretto o malevolo, potrebbe accedere ai dati personali per eseguire ricerche di mercato e profilazione degli utenti.

Page 22: Cloud computing e sistema operativo linux

o Con i collegamenti wireless, il rischio sicurezza aumenta e si è maggiormente esposti ai casi di pirateria informatica a causa della minore sicurezza offerta dalle reti senza fili. In presenza di atti illegali, come appropriazione indebita o illegale di dati personali, il danno potrebbe essere molto grave per l'utente, con difficoltà di raggiungere soluzioni giuridiche e/o rimborsi se il fornitore risiede in uno stato diverso da paese dell'utente.

o Nel caso di industrie o aziende, tutti i dati memorizzati nelle memorie esterne sono seriamente esposti a eventuali casi di spionaggio industriale.

Page 23: Cloud computing e sistema operativo linux

2) Problemi internazionali di tipo economico e politico

o Tali problemi possono verificarsi quando dati pubblici sono raccolti e conservati in archivi privati, situati in un paese diverso da quelli degli utenti della "nuvola". Produzioni cruciali e di carattere intellettuale insieme a una grande quantità di informazioni personali sono memorizzate in modo crescente in forma di dati digitali in archivi privati centralizzati e parzialmente accessibili. Nessuna garanzia viene data agli utenti per un libero accesso futuro.

Page 24: Cloud computing e sistema operativo linux

o Altre problematiche sono legate alla localizzazione degli archivi della "nuvola" in alcuni paesi ricchi. Se non regolato da specifiche norme internazionali ciò potrebbe:

- aumentare il "digital divide" tra paesi ricchi e poveri (se l'accesso alle conoscenze memorizzate non sarà liberamente garantita a tutti).

- favorire principalmente grandi corporation con «organismi policentrici" e "menti monocentriche" dislocate principalmente nei Paesi della "nuvola", essendo la proprietà immateriale considerata come un fattore strategico per le moderne economie "knowledge-based".

Page 25: Cloud computing e sistema operativo linux

3) Continuità del servizio offerto:

o Delegando a un servizio esterno la gestione dei dati e la loro elaborazione l'utente si trova fortemente limitato nel caso in cui i suddetti servizi non siano operativi (out of service). Un eventuale malfunzionamento inoltre colpirebbe un numero molto elevato di persone contemporaneamente dato che questi sono servizi condivisi. Anche se i migliori servizi di cloud computing utilizzano architetture ridondate e personale qualificato al fine di evitare malfunzionamenti dei sistema e ridurre la probabilità di guasti visibili dall'utente finale, non eliminano del tutto il problema.

Bisogna anche considerare che tutto si basa sulla possibilità di avere una connessione Internet ad alta velocità sia in download che in upload e che anche nel caso di una interruzione della connessione dovuta al proprio Internet Service Provider/ISP si ha la completa paralisi delle attività.

Page 26: Cloud computing e sistema operativo linux

4) Difficoltà di migrazione dei dati nel caso di un eventuale cambio del gestore dei servizi cloud:

o Non esistendo uno standard definito tra i gestori dei servizi un eventuale cambio di operatore risulta estremamente complesso. Tutto ciò risulterebbe estremamente dannoso in caso di fallimento del gestore dei servizi cui ci si è affidati.

Page 27: Cloud computing e sistema operativo linux

Un sistema operativo cloud è installato su spazio disco virtuale remoto, messo a disposizone del client da chi offre e gestisce il servizio. Il sistema operativo cloud è responsabile della sicura, efficiente e scalabile gestione delle risorse cloud, permette di installare direttamente sul server virtuale remoto tutte le applicazioni del cliente ed usarle come se fossero presenti nel suo computer, quindi senza bisogno di installarle sul proprio pc. Questo sistema operativo viene eseguito solo da un browser web che fornisce l'accesso a una varietà di applicazioni web-based, la combinazione di un browser con un sistema operativo di base consente quindi l'utilizzo del cloud computing.Il SO cloud gestisce il numero dei server e dispositivi hardware e dei relativi servizi infrastrutturali che compongono il sistema cloud, dando così all’utente l’impressione che questi interagiscono attraverso una singola capacità infinita e cloud elastica.

Page 28: Cloud computing e sistema operativo linux

Così come il sistema operativo multi-thread definisce il thread come unità di esecuzione e l’applicazione multi-thread come entità di gestione che supporta gli strumenti di comunicazione e di sincronizzazione, anche il sistema operativo cloud multilivello definisce la VM come unità base di esecuzione e il servizio virtualizzato multilivello (gruppo di macchine virtuali che eseguono un servizio a più livelli) come ente di gestione di base a sostegno dei diversi strumenti di comunicazione e la loro auto-configurazione al momento dell'avvio. Questo concetto consente di creare applicazioni scalabili, perché è possibile aggiungere macchine virtuali quando è necessario.

Singole applicazioni a più livelli sono tutte isolate le une dalle altre, ma VM individuali nelle stesse applicazioni non possono condividere una rete di comunicazione e i servizi come e quando necessario

Page 29: Cloud computing e sistema operativo linux

Gestione delle reti e della capacità di memorizzazione: orchestrazione di tecnologie di storage, di rete e virtualizzazione per consentire il posizionamento dinamico dei multi-servizi di livello sulle infrastrutture distribuite;

Gestione del ciclo di vita delle VM : corretto svolgimento delle macchine virtuali assegnando le risorse necessarie al loro funzionamento e offrendo le funzionalità necessarie per l'attuazione delle politiche di collocamento;

Gestione dei Workload Placement: supporto per la definizione delle politiche di allocazione del carico di lavoro e di risorse in grado di riconoscere il consolidamento per l'efficienza energetica, il bilanciamento del carico, affinità-aware, riserva di capacità ...

Funzioni

Page 30: Cloud computing e sistema operativo linux

 Gestione delle immagini delle VM: esposizione di meccanismi generali di trasferire e clonare immagini di macchine virtuali;

Gestione delle informazioni e della contabilità: fornitura di indicatori che possono essere utilizzati per diagnosticare il corretto funzionamento del server e delle macchine virtuali e per sostenere l'attuazione delle politiche di posizionamento dinamico di macchine virtuali;

Gestione della sicurezza: definizione della politica di sicurezza sugli utenti del sistema, garantendo che le risorse vengano utilizzate solo da utenti con le autorizzazioni;

Gestione della capacità di cloud remoto: l'estensione dinamica delle capacità locali con risorse da parte dei fornitori remoti.

Page 31: Cloud computing e sistema operativo linux

Architettura

Page 32: Cloud computing e sistema operativo linux

Linux è la tecnologia naturale per abilitare il cloud computing: è modulare, è performante, ha una potenza efficiente, viene modificato in scala, è open source, ed è onnipresente.

Linux: ideato per il cloud

Page 33: Cloud computing e sistema operativo linux

Il kernel Linux supporta un certo grado di componentizzazione che non ha paragoni tra i sistemi operativi di uso generale. Configurabile in modo tale che esso può potenziare qualsiasi dispositivo da un portatile a un supercomputer, il kernel di Linux è molto adattabile ad ambienti di elaborazione di tutte le forme e dimensioni. Linux oggi supporta i dispositivi hardware più di qualsiasi altro sistema operativo nella storia del mondo. Ciò è di particolare valore per piattaforme cloud scale-out altamente personalizzabili che sono necessari per l'esecuzione di un insieme eterogeneo di componenti hardware, creazione di reti e attrezzi di stoccaggio. Al di là della compatibilità di base con la natura mista del contesto, i fornitori di cloud spesso sfruttano la possibilità di modificare il codice sorgente di Linux, al fine di ottimizzare e personalizzare il kernel per le loro specifiche esigenze e per l’hardware.

Architettura

Page 34: Cloud computing e sistema operativo linux

A disposizione di tutti gli utenti Linux c’è una vasta gamma di tecnologie di virtualizzazione, dai hypervisor che rendono possibile la virtualizzazione, agli utensili di gestione che consentono alle risorse virtualizzate di essere introdotte e applicate in modo efficiente.

Accoppiato con le funzionalità della cosiddetta "live migration", la virtualizzazione potrebbe essere un ponte importante fra ambienti locali e cloud basati su hardware. Linux è quindi una piattaforma di cloud ottimale, come è altrettanto abile nel giocare il ruolo del sistema operativo host, tramite tecnologie KVM o Xen.

Virtualizzazione

Page 35: Cloud computing e sistema operativo linux

Una delle preoccupazioni più comuni che gli analisti e gli altri consulenti hanno per i potenziali clienti di cloud è la mancanza di norme, e la possibilità conseguente di lock-in.

Fortunatamente, i clienti possono sfruttare Linux come una copertura contro questa possibilità. Le differenze tra le istanze Linux ospitate in ambienti cloud e quelli ospitati in locale o in un centro dati, sono in genere più geografici che tecnici.

Grazie alla standardizzazione su carichi di lavoro Linux, i clienti avranno la possibilità di implementare a livello locale o in remoto come lo richiedono le circostanze

Norme

Page 36: Cloud computing e sistema operativo linux

Linux ha una vasta applicazione; con migliaia di certificati disponibili e applicazioni ad esso compatibili, gli utenti hanno molte opzioni per le esigenze del loro carico di lavoro specifico. I clienti che utilizzano Linux per le loro esigenze locali e centri dati, saranno in grado di estendere questo vantaggio alle loro implementazioni basate su cloud.

Per i fornitori di piattaforme, Linux è la scelta più logica; come le architetture web dalle quali sono generate, le piattaforme di cloud computing sono spesso composte da molti altri progetti open source, dai database ai file system per server di applicazioni. In virtù della sua qualità, ubiquità e la natura open source, Linux è la prima destinazione di distribuzione scelta per gli sviluppatori di quanto sopra citato. 

Vantaggi

Page 37: Cloud computing e sistema operativo linux

Linux è il passato del CloudIl dominio dot com, oltre ad essere stato famoso per la sua esuberanza irrazionale, ha visto i primi passi verso il cloud computing. Spinti dalla necessità di contenere i costi, molti web startup evitatavano le più tradizionali architetture di scale-up di un minor numero di server più potenti e mainframe a favore di architetture scale-out composte da componenti hardware con il kernel di Linux.Linux è il presente del CloudIl dominio di Linux all'interno dell’attuale generazione di fornitori del cloud computing consente ad ogni cliente di disporre di Linux con capacità sia primarie sia di supporto, e questo sta accelerando l'adozione.

Page 38: Cloud computing e sistema operativo linux

Il dominio di Linux all'interno dell’attuale generazione di fornitori del cloud computing consente ad ogni cliente di disporre di Linux con capacità sia primarie sia di supporto, e questo sta accelerando l'adozione. Google ha recentemente lanciato App Engine e prodotto competitivo EC2 di Amazon che sfrutta il kernel di Linux, così come 10gen, 3Tera, Media Temple, Mosso, e Zimory. La collaborazione tra Red Hat e Amazon, supportata da Linux, offre: Red Hat Enterprise Linux, JBoss Enterprise Application Platform, e Red Hat Enterprise MRG Grid e Amazon EC2. Altre distribuzioni Linux che lavorano sulla piattaforma EC2 includono Oracle Enterprise Linux, SUSE Enterprise Server, e più recentemente - Ubuntu Server 9.10.Linux è anche presente come piattaforma di base in collaborazione di IBM con Amazon, dove IBM DB2 Express-C 9.5, Informix Dynamic Server Developer Edition 11.5, WebSphere Portal Server e Lotus Web Content Management Standard Edition e WebSphere sMash sono i prodotti che i clienti possono utilizzare nel EC2. Linux sta giocando un ruolo importante nella stragrande maggioranza degli ambienti cloud.

Page 39: Cloud computing e sistema operativo linux

Linux è il futuro del CloudLinux è stato il componente principale dell’alimentazione della prima generazione di aziende web. Queste imprese non avrebbero potuto essere costruite senza un costo basso e senza un software flessibile di base come Linux. Windows, nel frattempo, non è stato un mezzo importante per ragioni che vanno dai costi di licenza alle limitazioni tecnologiche.La seconda ondata di business online, caratterizzata da Google e Amazon, migliorerà la vita digitale dei consumatori in esecuzione in più dispositivi, la gestione delle interruzioni off-line, migliorando l'interfaccia del browser, facilitando mashup tra i diversi servizi scelti dall'utente, e una miriade di altre questioni che stanno iniziando a intravedersi. Questa flessibilità e utilità, basate su Linux, va ora spingendo la nuvola in piccole e grandi imprese di tutto il mondo.