• Non ci sono risultati.

Modelli di servizio: dall’infrastruttura alle applicazion

Nel documento Il Cloud Computing in ambito sanitario (pagine 39-44)

Il modello a tre livelli, definito Service Orchestration nella figura 10, descrive un‟associazione di componenti del sistema con funzioni di coordi- namento e gestione delle risorse computazionali dell‟infrastruttura cloud, u- nite a tecnologie di virtualizzazione che oramai sono una componente essen- ziale del cloud computing per fornire i service al consumer55.

Un‟altra sua rappresentazione ad alto livello in termini di stack56 hardware/software è quella proposta nella figura 11 dalla Cloud Security Al-

liance. Spostandosi verso l‟alto nella pila, ogni modello di servizio (IaaS,

PaaS, SaaS) eredita le funzionalità del modello di servizio sottostante.

55 H. SABOOWALA, M. ABID, S. MODALI, Design Network and Services for the Cloud,

Ciscopress, 2013, chapter 3

56 B. KEPES, UnderstandingThe Cloud Computing Stack SaaS, Paas, IaaS, (2011),

http://broadcast.rackspace.com/hosting_knowledge/whitepapers/Understanding-the-Cloud-

32 Figura 11: Modello di riferimento57

SaaS fornisce servizi agli utenti finali, mentre IaaS e PaaS offrono servi- zi a ISV58 e sviluppatori. IaaS ha il minor livello di funzionalità integrate dal provider. In questo modello il consumer ha la responsabilità di proteggere i sistemi operativi, le applicazioni e i contenuti perché, al contrario del SaaS, più si scende verso il basso e maggiore diventa la responsabilità per imple- mentarli. Il livello top definisce le interfacce utente e le API59 tra il consu- mer e i tre tipi di servizi. Ogni vendor ha il suo set proprietario di API, molto spesso, non standard. Questo limita l‟interoperabilità tra provider e può con- durre all‟API lock-in60.

Il livello intermedio offre funzioni di middleware tramite una virtual ap-

pliance, ad esempio una applicazione webserver eseguita su una macchina

virtuale che espone le proprie funzionalità attraverso delle API, oppure un‟applicazione framework per lo sviluppo.

Il livello inferiore ha capacità di astrarre risorse e di far si che ci sia la connettività fisica e logica a queste risorse. Un hypervisor consente ai diver-

57 Fonte: Cloud Security Alliance

58 ISV = Independent Software Vendor

59 API = Application Programming Interfaces, consentono al software di richiedere dati e com-

putazione da uno o più servizi attraverso una interfaccia

33 si sistemi operativi di gestire un proprio spazio di memoria e di I/O per le macchine virtuali e un set di API, fornite dal provider, ne permette la gestio- ne e l‟interazione con l‟infrastruttura fisica (CPU, memoria, dispositivi di re- te e interfacce, sistemi di storage, impianti di riscaldamento/ventilazione, ecc).

Il primo modello di servizio di cloud computing, denominato Infrastruc-

ture as a Service (IaaS), abilita la virtualizzazione dell‟hardware nel cloud,

fornendo l‟infrastruttura informatica come un servizio. Il provider offre la propria infrastruttura fisica (server, storage, networking, tecniche di bilan- ciamento del carico, ecc) unita ad una piattaforma di virtualizzazione e con- nettività. L‟utente crea hardware analogo, ma privato e virtuale, necessario a ricreare un ambiente virtualizzato su cui “poggiare” le proprie applicazioni e servizi. In sostanza, un fornitore di IaaS crea un servizio di utilità hardware tecnologicamente avanzato, che consente di disporre di risorse virtuali su ri- chiesta, queste ultime vengono reindirizzate all‟infrastruttura reale del data center, che materialmente esegue le operazioni. Ad esempio un ISV potreb- be usare una soluzione IaaS per accedere ad una rete di web server virtuali che le facilitano lo sviluppo e il testing delle sue applicazioni, su hardware e sistemi eterogenei, che poi distribuirà come infrastruttura. Oppure un forni- tore IaaS potrebbe mettere a disposizione un cluster computazionale per il calcolo parallelo, spazio di memorizzazione per il backup, soluzioni di disa-

ster recovery o data center privati virtuali. In questo caso giocano un ruolo

fondamentale i servizi di rete virtualizzati, necessari nella rete per supportare il cloud computing, quali bilanciamento del carico, firewalling, IDS/IPS61 e VPN62.

L‟utente paga per la capacità del sistema realmente consumata e mantie- ne la gestione della propria infrastruttura virtuale tramite un‟interfaccia Web

Service che gli consente il controllo delle risorse computazionali e la possi-

bilità di ridurre i tempi per il deploy di nuove funzionalità, delegando al pro- vider operazioni di hosting e di gestione dell‟infrastruttura fisica. Un Web

Service è un sistema software progettato per supportare l‟interazione “mac-

china-a-macchina” che avviene in una rete. Può esserci sia un utente che fa richiesta di un servizio da un Web Service, sia un Web Service che richiede

61

IDS = Intrusion DetectionSystem. IPS = Intrusion Prevention System

34 un servizio da un altro Web Service63. I Web Service utilizzano, per comuni- care, messaggi SOAP (un protocollo di messaggistica basato su XML), tra- smessi attraverso il protocollo HTTP64. Tra i tanti esempi si possono anno- verare gli Amazon Web Services (AWS), tra i più popolari IaaS del momen- to, che, grazie alla virtualizzazione hardware, rendono possibile la creazione di server virtuali privati, su sistemi operativi Windows Server e Linux, che possono essere eseguiti ovunque Amazon EC2)65, oppure un sistema di sto-

rage di tipo “gestito” per l‟archiviazione di dati o backup disco (Amazon

S3)66.

Il Platform as a Service (PaaS) è un modello di servizio di cloud

computing dove il cloud consumer è prevalentemente interessato a sviluppa-

re ed eseguire applicazioni software. Per questo richiede al provider una piattaforma operativa che includa il middleware, con un ambiente di runtime su cui avviare le applicazioni o un database e strumenti di sviluppo, senza preoccuparsi del costo e della complessità di gestione della piattaforma. Il modello PaaS consente di gestire l‟intero ciclo di vita del software, dalla co- struzione al delivering, permettendo al cliente di concentrarsi sullo sviluppo

“web based” e il deploy sulla sottostante architettura hardware/software,

gestita ora dal provider (network, server, sistemi operativi o storage), utiliz- zando le API implementate e configurate da remoto. Molto spesso la solu- zione PaaS è parte integrante di un modello IaaS, in questo caso il provider offre al cliente la possibilità di accesso diretto a server virtuali utilizzabili per sviluppo e test, così da avere il governo dell‟implementazione delle ri- sorse virtuali su IaaS.

Alcuni esempi di PaaS includono: Google App Engine che rappresenta un sistema per la distribuzione di web application su infrastruttura Google;

Force.com che consente di sviluppare in Apex (una variante Java), utiliz-

zando una sintassi XML per la creazione di interfacce utente in HTML, Ajax e Flex; Microsoft Azure che permette agli sviluppatori di avere una piatta-

63 W3C, Web Services Architecture, in W3C Working Group Note 11 February 2004,

http://www.w3.org/TR/ws-arch/

64 P. JITHIN, S. K. V. JAYAKUMAR, Performance comparison of web service in IaaS cloud

and standard deployment model, in International Journal of Computer Trends and Technology

(IJCTT), 2013, vol. 4(6), pp. 1589-1593

65

EC2, in Amazon Elastic Computer Cloud (Amazon EC2), http://aws.amazon.com/ec2/

35 forma che usi il framework .NET, che supporti SQL Server e che sia pro- grammabile all‟interno di Visual Studio.

L‟ultimo livello di servizio di cloud computing, probabilmente il più co- nosciuto, è il Software as a Service (SaaS). Il suo focus è la distribuzione di

software, con le applicazioni che sono ospitate dal cloud provider e rese di-

sponibili al consumer tramite una rete tipicamente Internet, fruibili il più del- le volte con un web browser on demand. Il cliente è trasparente rispetto alla sottostante piattaforma ospite e all‟infrastruttura fisica e virtuale del cloud, ha solamente il controllo sull‟applicazione che gli viene distribuita e su al- cune configurazioni dell‟ambiente di hosting che la ospita.

Il modello SaaS consente di ottenere gli stessi benefici funzionali del

software tradizionale eseguito localmente nei server interni, ma senza i pro-

blemi legati al possesso dell‟hardware, all‟installazione e gestione delle li- cenze, al supporto per gli aggiornamenti e alle patch. Un altro vantaggio è quello di offrire un accesso al servizio, per i dipendenti di un‟organizzazione, che sia globale. Per tutti loro il software avrà la stessa versione, lo stesso grado di protezione e il formato dei dati sarà per tutti compatibile, il tutto con una riduzione dei costi, dei rischi che ora sono affi- dati al provider e del tempo di implementazione dell‟applicazione e del roll

out dei cambiamenti.

Molte tipologie di software si prestano al modello SaaS quali: CRM67 per vendite, marketing e servizi al cliente, video conferenza, email, strumen- ti di web collaboration ecc. Le applicazioni SaaS sono progettate per l‟uso concorrente di una singola istanza (multi-tenancy) in contrapposizione alle soluzioni dei provider ASP, che, per certi versi, avevano diverse analogie con le attuali SaaS, però si presentavano come operatori dedicati ad un parti- colare cliente. Molte soluzioni SaaS offrono delle API per consentire un cer- to grado di personalizzazione. Un esempio di SaaS è la suite Google Apps con servizi di word processing, calendar ed email.

36

Nel documento Il Cloud Computing in ambito sanitario (pagine 39-44)