( a cura di Nicolò Zamperin e Prof Daniele Pauletto )
Internet veniva rappresentato anche come una nuvola (cloud), un’enorme servizio disponibile oltre la propria abitazione o ufficio.
Internet veniva rappresentato anche come una nuvola (cloud), un’enorme servizio disponibile oltre la propria abitazione o ufficio.
Dati
e programmi non devono necessariamente risiedere sui nostri computer, notebook,laptop ma possono essere “ospitati”, disponibili,
memorizzati sul web , in spazi remoti “in the cloud”.
Il
cloud computing può essere visto come un servizio che consente di condividere
risorse , software e informazioni tra vari pc e devices tramite la rete internet, permette agli
utenti di accedere a diversi servizi di elaborazione dati e immagazzinamento
senza conoscere la locazione dell’ infrastruttura che offre il servizio .
L’accesso
ai vari servizi cloud avviene attraverso
semplici browser web o applicazioni per cellulari, mentre il software e i dati
memorizzati vengono gestiti su server in posizione remota. I fornitori dei
servizi cloud cercano di garantire prestazioni uguali o superiori come se i
programmi fossero installati direttamente sul pc personale degli utenti
La disponibilità diffusa di reti ad alta capacità, computer
a basso costo e dispositivi di storage nonché l'adozione diffusa di virtualisation,
service-oriented architecture autonomo, e di utility computing hanno
portato ad una enorme crescita sul Cloud Computing.
"Cloud" è un termine utilizzato nel campo delle
telecomunicazioni ed in particolare da VPN Virtual Private Network , servizi
con qualità comparabile di servizio ma ad un costo molto inferiore.
Il
simbolo nube, cloud, è stato utilizzato
per indicare il punto di demarcazione tra ciò che era la responsabilità del
provider e quella che fu la responsabilità dell'utente. Cloud computing estende questo limite per coprire i server e
l'infrastruttura di rete.
Amazon
ha svolto un ruolo chiave nello sviluppo del cloud computing attraverso la
modernizzazione dei data center, consentendo di sfruttare tutte le loro
potenzialità e capacità , portando allo sviluppo di un prodotto cloud ai clienti esterni, e lanciando Amazon Web
Service (AWS) su una base di utility computing già dal 2006.
Nel 2008 si sono
sviluppate altre soluzioni come Eucalyptus il primo open-source, AWS API
compatibile con la piattaforma per l'implementazione di cloud private, o OpenNebula software open-source per
l'implementazione di cloud privati e ibridi.
Negli anni successivi si sono sviluppate ulteriormente nuove
opportunità e servizi.
Le
idee base del cloud computing sono i
concetti di convergenza delle infrastrutture e di condivisione di
servizi .
Questo
tipo di ambiente permette agli utenti e alle aziende di utilizzare le applicazioni in modo
più veloce e di gestirle con maggiore facilità e semplicità senza bisogno di
manutenzione , garantendo rapidità nell’accesso
di potenti risorse software e hardware dislocate in vari paesi e ambienti.
Le
caratteristiche che il cloud condivide con gli altri sistemi sono :
·
Autonomic computing – sistemi informatici in grado di autogestirsi
·
Architettura Client server – si riferisce a qualsiasi applicazione
che distingue tra i fornitori di server e i richiedenti del servizio
·
Grid computing – permette di utilizzare un “ super computer virtuale”
formato da molti pc che elaborano i dati contemporaneamente in modo da
garantire elevate prestazioni di calcolo
·
Mainframe – computer molto potente utilizzato principalmente da
aziende di grandi dimensioni per applicazioni che necessitano l’elaborazione di
una grande mole di dati
·
Utility computing – servizi informatici a pagamento in proporzione
all’utilizzo del sistema
·
Peer to Peer – un insieme di computer che lavorano con lo stesso
obiettivo senza un coordinamento centrale, in cui ogni pc autogestisce la
propria partecipazione ( torrent )
Le
gli elementi che identificano il Cloud Computing sono :
·
Empowerment , aiutare gli utenti finali dando la possibilità di
controllare direttamente l’utilizzo di risorse di calcolo, al contrario di
quanto avveniva con i servizi IT centralizzati
·
Agility, la possibilità data agli utenti di utilizzare le forniture
disponibili in modo più veloce
·
Application programming interface (API), è un programma di interfaccia tra i computer e
i software cloud ,come l’interfaccia utente, aiuta l’interazione tra le persone
e i computer
·
Cost , grande risparmio economico ,grande flessibilità e
disponibilità dei servizi evoluti
·
Device and location independence , i servizi cloud sono disponibili per gli utenti da qualunque browser
web indipendentemente dalla loro posizione e dal dispositivo che utilizzano,
perché si basano su strutture off-site accessibili via internet
·
Virtualization , consente ai server e ai dispositivi di memoria di condividere il
sistema e di spostarlo facilmente da un server fisico ad un altro
·
Multy-tenancy , la possibilità di condividere dati e risorse tra molti utenti
permettendo cosi una centralizzazione delle infrastrutture abbassando i costi
,aumentando la possibilità di immagazzinamento dei dati e migliorando
l’efficienza sfruttando meglio i sistemi di cui spesso utilizziamo solo il
10-20% della loro potenza
·
Reliability , miglior affidabilità perché si possono utilizzare vari
siti ridondanti in modo da garantire sempre la continuità del lavoro ed evitare
l’insorgere di grossi problemi nelle infrastrutture IT
·
Scalability , l’elasticità permessa da questi servizi “on-demand”
permette una autogestione delle risorse in tempo reale senza il bisogno di
programmatori esterni
·
Performance , le performance sono monitorate costantemente grazie alla
doppia architettura costituita dai servizi web e dall’interfaccia di sistema
·
Security, la questione della sicurezza può preoccupare per il fatto
che si perde il controllo diretto dei
dati, ma la centralizzazione dei dati e
risorse la aumentano. In ogni caso la sicurezza del cloud è buona perché
i fornitori possono dedicare risorse che molti clienti normalmente non
potrebbero permettersi.Installazioni di cloud privati sono in parte motivate dal
desiderio degli utenti di
mantenere il controllo sull'infrastruttura e di evitare di perdere il controllo della sicurezza delle informazioni.
·
Maintenance, la manutenzione delle
applicazioni cloud è molto semplice per il cliente perché viene gestita
direttamente dalle società
Da quanto discusso emergono differenze importanti tra le
applicazioni tradizionali e le applicazioni sviluppate per la cloud.
Distinguiamo quindi le applicazioni tradizionali con il termine on-premise e le
applicazioni sviluppate per la cloud con il termine in the cloud.
On-premise, tradotto
letteralmente, significa nello stabile,
mentre in the cloud significa nella nuvola.
Confronto tra le soluzione infrastrutturali
On-Premise
|
Hosting
|
Cloud Computing
|
Elettricità, Connettività,
Hardware e Software presso la propria Server Farm
|
Affitto di macchine Hardware +
Software e della Connettività
|
Infrastruttura multitenant e
condivisa tra diverse applicazioni
|
Completo Controllo
|
Minor controllo rispetto
all’on-premise
|
Resource Pooling, Isolamento
come caso specifico
|
Completa responsabilità
|
Minori responsabilità per il
cliente rispetto all’on-premise
|
On Demand Self-service ovvero
capacità di richiedere ciò di cui si ha bisogno
|
Capacità di erogazione “fisse”
|
Costi fissi per capacità di
erogazione “fissa” anche quando le macchine non operano
|
Indipendenza dalla topologia
di rete
|
Poca flessibilità
|
Più flessibilità
|
Elasticità: capacità di
richiedere maggiori risorse solo quando necessarie
|
Capitale iniziale per
l’infrastruttura e la messa in opera
|
Minori capitali iniziali
|
Pagamento dei servizi solo
quando servono
|
Apparentemente sembra che il Cloud Computing sia la soluzione
ottimale per tutti i problemi. Anche se per le architetture distribuite questo
può essere vero nella maggior parte dei casi, non è una verità assoluta. Tutto
dipende sempre dalla specifica architettura dell’applicativo che stiamo
progettando. La tabella comparativa serve quindi semplicemente a evidenziare le
conseguenze che la scelta di una o dell’altra soluzione può portare.
Lo sviluppo di applicazioni on-premise e lo sviluppo di
soluzioni per la cloud non è in realtà molto differente. Anzi, applicazioni
inizialmente progettate e sviluppate per essere distribuite in ambienti on-premise,
oppure in Hosting, potenzialmente possono essere facilmente portate nel cloud
con pochissimi passaggi e accorgimenti, rivolti soprattutto all’utilizzo e
all’adattamento alla piattaforma di Cloud. In una soluzione distribuita su un
ambiente di Cloud Computing, per esempio, è sbagliato pensare di utilizzare
risorse locali come storage affidabile o fare riferimento a specifici path, se
non virtualizzati. Il concetto di base è che tutto deve essere virtualizzato e
soprattutto accessibile contestualmente da diversi nodi esterni. Un nodo,
infatti, può potenzialmente andare in crash o essere rimosso; in quel caso le
risorse salvate localmente andrebbero definitivamente perdute.
Non tutte le applicazioni legacy potranno essere migrate nel cloud, ma sicuramente per una buona parte, se ben progettate nel rispetto dell’isolamento dei componenti, sarà possibile farlo con poche modifiche.
Non tutte le applicazioni legacy potranno essere migrate nel cloud, ma sicuramente per una buona parte, se ben progettate nel rispetto dell’isolamento dei componenti, sarà possibile farlo con poche modifiche.
SaaS (Software as a Service)
Questa modalità di cloud consente agli utenti di
utilizzare software direttamente nei loro computer o devices attraverso il browser senza la necessità di dover gestire l’infrastruttura
cloud e la piattaforma su cui l'applicazione è in esecuzione. Questo elimina la
necessità di installare ed eseguire l'applicazione sul computer dell'utente
semplificando la manutenzione e il supporto. Ciò che rende un'applicazione
cloud diversa da altre applicazioni è la sua versatilità permessa dall’attività
di più macchine virtuali che lavorano contemporaneamente per soddisfare la
domanda di lavoro , bilanciando il carico e distribuendo il lavoro su un
insieme di macchine virtuali. Questo processo è “invisibile” per l'utente cloud
.Per accogliere un gran numero di utenti cloud, le applicazioni cloud possono
essere “condivise”.
Generalmente la modalità di pagamento per queste applicazioni SaaS è un canone mensile o annuale ma in molti casi sono gratuite.
Tali tipo di soluzioni in internet sono, ad
esempio, quelle offerte da Microsoft e
Google , tuttavia le prime applicazioni SaaS nate nel web sono quelle del servizio CRM
di “Salesforce.com, dal loro sito resero
disponibili alle aziende una serie di applicazioni semplice via Web.
Le
applicazioni SaaS offerte da Google e più sfruttate dagli utenti nel web sono
anche chiamate Google Apps che permette di creare un ufficio virtuale completamente
accessibile dal web .
I principali servizi offerti sono:
I principali servizi offerti sono:
• Google
Mail è una casella di posta elettronica gratuita, che offre ai singoli utenti 7 GB, mentre alle aziende 25 GB di spazio per l’archiviazione di dati, garantiti da un filtro antispam che tiene lontana dal tuo account la posta indesiderata. E’ possibile accedere alla tua posta in qualunque momento e luogo, inoltre ti consente di lavorare anche quando non sei connesso ad Internet. Gmail usa la tecnologia AJAX e utilizza le funzioni avanzate dei browser attraverso JavaScript. E’ anche disponibile una versione completamente in HTML che rende più rapida la consultazione, ma non consente di sfruttare i numerosi vantaggi di AJAX. Per quanto riguarda la sicurezza, Gmail utilizza una connessione criptata, garantita dal “lucchetto” nella barra di navigazione del proprio browser. Gmail offre anche un filtro per lo spam, cioè per quei messaggi malevoli, che il servizio Gmail riconosce automaticamente e sposta in un'apposita cartella cancellandoli dopo 30 giorni dalla segnalazione. Contro i virus, Gmail analizza automaticamente tutti gli allegati dei messaggi in entrata e in uscita e se viene segnalato la presenza di un virus, Gmail cerca di pulire il file e ne blocca l’invio multiplo per evitare la diffusione del programma dannoso
• Google Docs servizio
di storage online di documenti
• Google Plus è
il nuovo social network sviluppato da Google
• Youtube è un servizio online che
permette di caricare e vedere video nel web in maniera completamente gratuita
· Google Drive è un nuovo servizio proposto da
google e può essere definito l’evoluzione di
Google Documenti , quest’apps è un servizio di archiviazione
files in rete. Esso è stato integrato in Google Docs, Google Plus, Gmail ecc. Mette
a disposizione gratuitamente 5 Gb di spazio libero, contro i 2 offerti da Dropbox
e i 7 di Skydrive. Per accedere ai nostri files è necessaria, ovviamente, una
connessione internet. Lo spazio dedicato è espandibile a pagamento, ma 5gb sono
più che sufficienti per utente medio
· Google Sites è un modo semplice di creare pagine web senza ricorrere all’uso dell’HTML o della codifica. E’ compatibile con più sistemi operativi come Windows Xp, Vista, Mac e Linux. Gli amministratori del sito, possono gestire le autorizzazioni di condivisione dei siti a livello aziendale, mentre gli autori possono condividere e revocare l'accesso ai file in qualsiasi momento.
· Google Maps consente di ottenere indicazioni stradali, visualizzare mappe ma anche ricercare attività commerciali come ristoranti, monumenti e negozi.
Uno dei maggiori vantaggi delle applicazioni offerte da Google, oltre ai modesti costi, è quello di essere allocate sul server e poter essere lanciate da remoto senza richiedere l'installazione di alcun software sul computer locale. Neanche i dati sono salvati in locale, questo consente di condividere i files con altri utenti che hanno diversi livelli di privilegio (sola lettura, accesso in scrittura ad alcune parti o a tutto il documento) e di utilizzare i files da qualunque computer da cui ci si collega alla casella di posta elettronica. La conservazione dei dati non in locale pone però seri problemi di privacy, per le aziende e per i singoli utenti, per quanto riguarda il rischio d’attacchi e modifiche da parte di soggetti esterni; ciò si verifica, quando i dati risiedono su server sempre connessi ad Internet. Per ridurre questi rischi, sono adottati sicuri protocolli di comunicazione ed è sfruttata la cifratura dei dati.
La semplicità d'uso del servizio è sicuramente uno dei punti a favore dello storage che rimane però pur sempre un servizio focalizzato sui dispositivi e sulle applicazioni che ruotano intorno alla piattaforma iOs e Os X. La possibilità di utilizzarlo con pc Windows c'è ma le sue virtù si evidenziano con le apps scaricate dall'App Store e utilizzate sui computer Mac o su iPad e iPhone. Lo spazio gratuito di archiviazione è di 5 Gbyte ed è aumentabile a pagamento spendendo 20 euro all'anno per ulteriori 10 Gbyte di spazio.Per quanto riguarda la privacy Apple si prende però la libertà di utilizzare i contenuti dell'utente resi disponibili anche al pubblico o ad altri soggetti per cui è stata autorizzata la condivisione degli stessi.
·
SkyDrive
Il servizio di Microsoft ha dalla sua la maggior capacità di storage offerta a costo zero - 7 Gbyte per i nuovi utenti e 25 Gbyte per quelli già attivi prima del 22 aprile – ed offerte a pagamento, 10 dollari l'anno per 20 Gbyte di spazio, 25 dollari per 50 Gbyte e 50 dollari per 100 Gbyte.
Il servizio di Microsoft ha dalla sua la maggior capacità di storage offerta a costo zero - 7 Gbyte per i nuovi utenti e 25 Gbyte per quelli già attivi prima del 22 aprile – ed offerte a pagamento, 10 dollari l'anno per 20 Gbyte di spazio, 25 dollari per 50 Gbyte e 50 dollari per 100 Gbyte.
SkyDrive
permette di utilizzare cartelle remote del pc per archiviare e sincronizzare file
(la condivisione pubblica dei documenti, come nel caso di Google Drive,
richiede invece l'obbligo del browser Web), supporta iPhone e iPad e si prepara
ad operare con Windows 8. Presto sarà inoltre anche integrato con il servizio
di sincronizzazione Live MeshSkyDrive, tramite cui tutti i file memorizzati via
cloud saranno automaticamente mantenuti aggiornati fra pc, Mac e il sito
SkyDrive.com.
Un'altra
offerta offerta Microsoft per le aziende è il nuovo servizio Office 365 che
offre una vasta gamma di applicazioni sia gestionali che lavorative :
▪
Posta elettronica
e calendari
ñ Accedi a posta elettronica e calendari tramite
computer, Web e telefono.*
ñ Posta elettronica professionale basata su cloud
ñ 25 GB di spazio di archiviazione per ogni utente
ñ Condividi calendari e pianifica riunioni
▪
Office Web Apps
ñ Crea, archivia e modifica documenti Office
online.
ñ
Include Word, PowerPoint, Excel e OneNote Web Apps
ñ Modifica e crea file utilizzando un browser
ñ Apri e modifica file creati in Office**
▪
Conferenze Web
ñ Pianifica riunioni online in pochi secondi
ñ Partecipa a conferenze Web
ñ Conduci presentazioni online in tempo reale
ñ Condividi desktop e presentazioni
▪
Condivisione dei file
ñ Gestisci i contenuti e collabora online.
ñ Condividi file con i clienti e con il tuo team.
ñ 10 GB di archivio per l'azienda, più 500 MB per ogni utente
ñ Crea e pubblica un sito Web per la tua azienda
▪
Sito Web
ñ Lancia un sito Web professionale per la tua
azienda.
ñ Non è richiesto alcun codice. Puoi creare e pubblicare il tuo
sito Web con estrema facilità
ñ Utilizza il tuo nome di dominio
ñ Nessun costo di Web hosting
▪
Funzionalità
dispositivi portatili
ñ Lavora ovunque ti trovi.
ñ Recupera e invia messaggi di posta elettronica, informazioni di
contatto e appuntamenti con dispositivi Windows Phone, iPhone, iPad, Android,
Symbian e Blackberry
Altre
offerte Microsoft sono:
Microsoft Lync Online è invece un servizio di comunicazione cloud di prossima generazione che permette di
collegare le persone in modi completamente nuovi, in qualsiasi momento e in qualunque luogo.
Windows Intune semplifica la gestione dei pc attraverso un servizio cloud che comprende
sistemi di gestione dei desktop standard e servizi di protezione avanzata,
semplificando notevolmente la
gestione delle postazioni di lavoro per quanto riguarda la gestione degli aggiornamenti, la
distribuzione delle applicazioni, l’assistenza remota, la sicurezza e la stessa
gestione dell’hardware.
Microsoft Dynamics CRM
Online è una soluzione cloud semplice da
utilizzare, che si integra nativamente con
gli strumenti di produttività individuale Microsoft e che permette l’accesso a processi e
informazioni in base al ruolo della persona che utilizza l’applicazione.
PaaS (Platform as a Service) --------------------------------------------------------------------
Nel modello PaaS, i
fornitori di cloud offrono una piattaforma di calcolo e / o un “pacchetto” di
soluzioni : compreso il sistema operativo, linguaggio di programmazione
ambiente di esecuzione, database e server web. Gli sviluppatori di applicazioni
sono in grado di gestire le proprie soluzioni software su una piattaforma di
cloud senza il costo e la complessità di acquisto e di gestione dell'hardware
del software. Con alcune offerte PaaS, il software scala automaticamente le
risorse per soddisfare la domanda e l'utente cloud non ha bisogno di allocare
le risorse manualmente. È simile alle applicazioni SaaS, ma in remoto viene
utilizzata una piattaforma software che può essere costituita da diversi
servizi, programmi o librerie (Google AppEngine, Microsoft Azure).
·
Windows Azure è una piattaforma cloud di servizi applicativi, di storage, di
infrastruttura e di networking, supportati dai server che operano all’interno
della rete globale dei datacenter Microsoft. Ciò consente di attivare
applicazioni sia in modalità cloud sia localmente, abilitando numerose
possibilità di sviluppo in un’ampia gamma di scenari che coinvolgono aziende,
consumatori ed enti pubblici. Gli sviluppatori
hanno la possibilità di selezionare un’ampia gamma di strumenti e tecnologie
provenienti dal mondo open source o da altri software vendor e accedere ai
servizi di Azure.
Architettura di Windows Azure
L’architettura di Windows Azure è concepita e sviluppata per
fornire servizi on demand basati
sulla cloud. L’infrastruttura è dislocata geograficamente in differenti data
center ed è basata sulla virtualizzazione delle risorse fisiche, come CPU e
memoria. Questo comporta vantaggi non indifferenti in termini sia di
scalabilità verticale sia di scalabilità orizzontale. Nel primo caso posso
decidere di aumentare le risorse a disposizione, come la CPU o la memoria,
mentre nel secondo posso aumentare il numero di istanze applicative che
ospitano la mia applicazione nel momento in cui ne ho effettivamente bisogno.
Windows Azure offre diverse modalità di utilizzo della cloud:
•
|
Windows
Azure Storage Services:
fornisce un’infrastruttura per l’utilizzo e la storicizzazione di dati
strutturati e non strutturati;
|
•
|
Windows
Azure Hosted Services:
un completo ambiente di runtime per le applicazioni;
|
•
|
Windows
Azure platform AppFabric:
un set di servizi per la creazione di applicazioni distribuite utilizzabili
anche da soluzioni ibride on-premise e nella cloud;
|
•
|
SQL
Azure: una
versione di SQL Server adattata per l’esecuzione in un ambiente di cloud
computing.
|
Dall’inizio
del 2006 come abbiamo visto, Amazon Web Services (AWS) ha avviato il suo primo
prodotto cluod offrendo alle aziende di tutte le dimensioni una piattaforma di
servizi Web basati su cloud computing. Con AWS è possibile richiedere la
potenza di calcolo e capacità di storage così come altri servizi che permettono
di accedere ad una serie di infrastrutture pensate per l’ambiente IT. AWS offre
la flessibilità necessaria per scegliere la piattaforma di sviluppo o di programmazione che meglio si adatta al problema
che si sta tentando di risolvere. Negli ultimi anni è diventato anche
un’alternativa ai servizi di hosting tradizionali.Si paga solo per quello che si
utilizza, senza costi iniziali o impegni a lungo termine. Così, AWS è diventato
il modo più economico per sviluppare applicazioni di una certa rilevanza.
Inoltre con AWS è possibile utilizzare l’infrastruttura informatica
internazionale Amazon.com, la spina dorsale della transazione d’affari del
valore di diversi miliardi di dollari e l’infrastruttura di calcolo
distribuito, scalabile, affidabile e sicuro che è stato continuamente
perfezionato. Ecco alcuni servizi web
messi a disposizione da Amazon:
·
Amazon CloudFormation –
Con questo servizio è possibile creare delle template con un semplice
linguaggio di scripting che permettono la creazione di configurazioni di server
con sistema operativo, software e servizi utilizzati. Ad oggi sono
presenti già diversi template pronti che includono software molto noti, tra i
quali ad esempio anche WordPress e Drupal.
·
Amazon CloudFront – Un
servizio web che permette di fornire contenuti a livello globale e ad alta
efficienza. L’applicazione può utilizzare Amazon CloudFront per distribuire o
trasmettere facilmente i contenuti agli utenti con bassa latenza, con elevata
velocità di trasferimento dati.
·
Amazon CloudWatch –
Uno degli aspetti fondamentali da tenere sotto controllo dopo aver sviluppato
un’applicazione od un servizio web è quella di controllare le performance
tramite monitoring, non solo per quello che riguarda l’utilizzo dei dischi o
della CPU, ma per molti altri parametri. Amazon CloudWatch è la soluzione di
monitoring e allarmistica di AWS. L’utilizzo si Simple Notification Service
(SNS) permette l’invio degli allarmi tramite diversi supporti che possono
essere attivati al raggiungimento di una soglia prestabilita.
·
Amazon Elastic Compute Cloud
(Amazon EC2) – Un servizio web che fornisce capacità di elaborazione dati
in the cloud. Amazon EC2 fornisce tramite la virtualizzazione la possibilità di
scegliere tra moltissimi sistemi operativi, servizi e banche dati già pronte
per la propria applicazione. Il servizio EC2 può essere gestito tramite una
console web o tramite la gestione delle API messe a disposizione da Amazon per
essere usate in ambienti di programmazione.
·
Amazon Relational Database
Service (Amazon RDS) – Un servizio web che offre a costi accessibili
la gestione di un database MySQL direttamente nel cloud da integrare con gli
altri servizi AWS, oltre alla semplificazione delle attività di backup,
ridimensionamento e patching.
·
Amazon Route 53 – Un
servizio DNS veloce ed affidabile per poter gestire la rete aziendale o le
risorse presenti in AWS come istanze EC2 o bucket S3.
·
Amazon SimpleDB – Un
servizio web per l’esecuzione di query di dati strutturati in tempo reale.
Amazon SimpleDB è facile da usare e fornisce le funzionalità di base di
qualsiasi database, ricerca in tempo reale di dati strutturati con semplici
query senza operazioni complesse.
·
Amazon Simple Notification
Service (Amazon SNS) – Questo servizio è un componente molto
importante che permette la notifica di messaggi tramite diversi supporti.
E’ stato aggiunto il supporto SMS mentre sono attivi da tempo Email, code
e messaggistica HTTP/HTTPS. La notifica è molto utile quando si strutturano
sistemi cluster, infatti è possibile, tramite questo componente, ricevere
informazioni sullo stato di servizio e reagire di conseguenza.
·
Amazon Simple Queue Service
(Amazon SQS) – Amazon SQS è uno dei primissimi servizi rilasciati da
Amazon che permette tramite delle code messaggi presenti su uno o più server la
distribuzione delle operazioni e quindi del carico di lavoro.
·
Amazon Simple Storage Service
(Amazon S3) – Con questo servizio è possibile archiviare e recuperare
grandi quantità di dati, in qualsiasi momento, da qualsiasi punto del web.
Fornisce agli utilizzatori di accedere alla stessa infrastruttura di storage
dei dati, altamente scalabile, affidabile e veloce che Amazon utilizza per
mantenere in funzione la propria rete internazionale di siti web. Questo
servizio può essere utilizzato anche come forma di backup sicura. Per ulteriori
approfondimenti e informazioni più precise
· Amazon Virtual Private Cloud (VPC) – Un
collegamento sicuro tra l’infrastruttura interna IT esistente di un’impresa e
la nube AWS. Amazon VPC permette alle aziende di connettere la propria
infrastruttura esistente con una serie di risorse AWS attraverso la VPN
(virtual private network), così da poter espandere molte funzioni tramite la
tecnologia cloud.
Per IBM il Cloud computing non è
un concetto nuovo: è un modello in evoluzione, che semplifica l'utilizzo di
soluzioni e risorse IT rendendole disponibili come servizi in rete su
infrastrutture dinamiche e flessibili, e ne migliora l'efficienza.
Dalla prospettiva dell'utente il Cloud computing è un modo di acquisire i servizi senza la necessità di conoscere tutta la tecnologia che li genera; da un punto di vista tecnologico, il Cloud è un nuovo modello di consumo e di fruizione dell'IT, reso possibile dall'evoluzione di alcune tecnologie e che risponde alla crescente esigenza degli utenti di sfruttarne le capacità in modo sempre più esteso e, contemporaneamente, più semplice e flessibile, autonomamente e da ogni dispositivo connesso in rete.
Cloud. ovvero il modo per ripensare l'IT e reinventare il business.
E' per questo che anche i CEO sono interessati a scoprire come il cloud può estendere la portata del loro business e aiutarli a inserirsi in nuovi spazi.
IBM propone una soluzione IBM Smart Cloud, organizzato in 3 aree fondamentali:
• SmartCloud Foundation, un insieme integrato di tecnologie e servizi per trasformare il proprio data center realizzando cloud private o ibride
• SmartCloud Services, la piattaforma IBM per l'erogazione di servizi cloud, di classe enterprise, resi disponibili in modalità 'as a servicè basate sulle tecnologie SmartCloud Foundation
• SmartCloud Solutions, ovvero le nostre soluzioni di business e d'industria sul cloud, offerte in modalità SaaS. Tra queste annoveriamo le soluzioni di Smarter Commerce, Smarter Cities, Social Business, Business Analytics and Optimization
Tutto questo all'interno di un'architettura di riferimento che aiuta a governare la rasformazione verso il cloud e che garantisce impegno verso standard aperti e interoperabilità.
Ma IBM propone soprattutto un approccio al Cloud, basato su una roadmap di trasformazione, che parte da una accurata valutazione dello stato attuale, delle priorità strategiche dell'organizzazione e dei gap esistenti e prosegue nell'articolazione delle linee strategiche d'intervento, fino alla definizione di progetti esecutivi. Proprio perché è legato alla propria strategia di business, questo percorso di adozione - cosi come il mix di modelli realizzativi (privato, pubblico, ibrido) - è caratteristico di ogni singola organizzazione.
Dalla prospettiva dell'utente il Cloud computing è un modo di acquisire i servizi senza la necessità di conoscere tutta la tecnologia che li genera; da un punto di vista tecnologico, il Cloud è un nuovo modello di consumo e di fruizione dell'IT, reso possibile dall'evoluzione di alcune tecnologie e che risponde alla crescente esigenza degli utenti di sfruttarne le capacità in modo sempre più esteso e, contemporaneamente, più semplice e flessibile, autonomamente e da ogni dispositivo connesso in rete.
Cloud. ovvero il modo per ripensare l'IT e reinventare il business.
E' per questo che anche i CEO sono interessati a scoprire come il cloud può estendere la portata del loro business e aiutarli a inserirsi in nuovi spazi.
IBM propone una soluzione IBM Smart Cloud, organizzato in 3 aree fondamentali:
• SmartCloud Foundation, un insieme integrato di tecnologie e servizi per trasformare il proprio data center realizzando cloud private o ibride
• SmartCloud Services, la piattaforma IBM per l'erogazione di servizi cloud, di classe enterprise, resi disponibili in modalità 'as a servicè basate sulle tecnologie SmartCloud Foundation
• SmartCloud Solutions, ovvero le nostre soluzioni di business e d'industria sul cloud, offerte in modalità SaaS. Tra queste annoveriamo le soluzioni di Smarter Commerce, Smarter Cities, Social Business, Business Analytics and Optimization
Tutto questo all'interno di un'architettura di riferimento che aiuta a governare la rasformazione verso il cloud e che garantisce impegno verso standard aperti e interoperabilità.
Ma IBM propone soprattutto un approccio al Cloud, basato su una roadmap di trasformazione, che parte da una accurata valutazione dello stato attuale, delle priorità strategiche dell'organizzazione e dei gap esistenti e prosegue nell'articolazione delle linee strategiche d'intervento, fino alla definizione di progetti esecutivi. Proprio perché è legato alla propria strategia di business, questo percorso di adozione - cosi come il mix di modelli realizzativi (privato, pubblico, ibrido) - è caratteristico di ogni singola organizzazione.
Google App Engine è
il sistema più semplice per collaudare le potenzialità di un servizio PaaS.
Difatti è un servizio che permette di ospitare la propria Web Application
all’interno dell’infrastruttura cloud di Google.
E tutto sommato è anche una soluzione economica: difatti Google mette a disposizione gratuitamente uno storage di 500 MB e una potenza di calcolo sufficiente ad ospitare una applicazione con un numero di visite di circa 5 milioni al mese. Se questi valori dovessero andar stretti, è possibile utilizzare il servizio di billing per acquistare storage oppure potenza di calcolo. E’ possibile accedere alla propria app sia tramite un sottodominio di “appspot.com”, sia attraverso un proprio dominio che però deve essere configurato con le Google Apps.
E tutto sommato è anche una soluzione economica: difatti Google mette a disposizione gratuitamente uno storage di 500 MB e una potenza di calcolo sufficiente ad ospitare una applicazione con un numero di visite di circa 5 milioni al mese. Se questi valori dovessero andar stretti, è possibile utilizzare il servizio di billing per acquistare storage oppure potenza di calcolo. E’ possibile accedere alla propria app sia tramite un sottodominio di “appspot.com”, sia attraverso un proprio dominio che però deve essere configurato con le Google Apps.
Google
mette a disposizione due sandbox collaudate per sviluppare le proprie
applicazioni: una in Java e l’altra in Python. Questo sembrerebbe precludere
l’utilizzo di Google App Engine agli sviluppatori Ruby e PHP, anche se una
possibile soluzione è quella di utilizzare Java per pubblicare un interprete
PHP o Ruby e, quindi, riuscire ad utilizzare questi linguaggi.
Nel caso in cui vogliate utilizzare direttamente uno dei due linguaggi, è possibile utilizzare il framework Django scegliendo la sandbox Python (in realtà serve una versione modificata chiamata Django norel per via del datastore non relazionale) oppure Lift scegliendo Java, anche se in questo caso è necessario passare per un interprete Java/Scala un po’ come per PHP o Ruby.
Nel caso in cui vogliate utilizzare direttamente uno dei due linguaggi, è possibile utilizzare il framework Django scegliendo la sandbox Python (in realtà serve una versione modificata chiamata Django norel per via del datastore non relazionale) oppure Lift scegliendo Java, anche se in questo caso è necessario passare per un interprete Java/Scala un po’ come per PHP o Ruby.
Google
mette a disposizione anche un suo framework in Java per creare applicazioni Web
2.0, Google Web Toolkit; questo per dire che per massimizzare l’investimento
nello studio degli SDK di Google, forse la scelta di Java è la più indicata.
Esiste infine una terza Sandbox implementata in via sperimentale che consente
di programmare in Go. Go è un linguaggio di programmazione semplice,
nuovo, estremamente efficiente e nato proprio per lavorare su ambienti cluster
e cloud. Anche se poco diffuso sembrerebbe un’ottima scelta per non dover
lavorare su linguaggi potenti ma complessi come Java o Python.Un discorso a
parte merita il datastore: per memorizzare i dati da gestire con
l’applicazione, Google mette a disposizione un suo sistema moltro simile
all’SQL classico, ma con alcune limitazioni per renderlo efficiente su un
sistema estremamente distribuito come è il suo cloud. GQL, ad esempio, permette
di lavorare con una sola tabella alla volta e non permette in alcun modo le
operazioni di join. In pratica tutte le funzionalità “relazionali” sono disabilitate,
cosa che lo rende molto simile a NoSQL.
IaaS - (Infrastructure as a Service) -------------------------------------------------------
Questo modello di cloud comprende i servizi più
importanti : ad esempio i fornitori di cloud offrono macchine virtuali ,
memoria per immagazzinare dati, firewall, bilanciatori di carico, e le reti. I
fornitori di IaaS distribuiscono queste risorse su richiesta grazie ai loro
data center. Anche le reti locali, tra cui indirizzi IP sono parte
dell'offerta. Per distribuire questo servizio nelle reti WAN (wide area
network) si può sfruttare internet oppure possono essere utilizzate delle
“carrier cloud”che permette di configuare delle reti lan virtuali. Nelle applicazioni IaaS sono gli utenti cloud
che devono installare il sistema operativo virtuale e i software utilizzati sui
loro PC e inoltre devono gestire l'applicazione di eventuali patch mantenendo
aggiornati i sistemi operativi e i software . Il costo dei servizi IaaS si una
basa sull’utility computing, cioè il costo riflette la quantità di risorse
stanziate e consumate dai fornitori di servizi Cloud. Questo tipo di Cloud è
quello che si avvicina maggiormente al “vecchio” Grid Computing, ma con una
caratteristica essenziale, le risorse sono utilizzate nel momento in cui un
cliente ne ha bisogno.
·
Ospit@ Virtuale è l’offerta di Cloud Computing sia PaaS che IaaS di Nuvola Italia indirizzata al Mercato delle Piccole e Medie Imprese Italiane. Questo servizio si sposta il “focus” delle aziende, dal classico “possesso” di un server, impiegato per ospitare le proprie informazioni ed applicazioni, “all’utilizzo” di risorse di calcolo e spazio disco, capaci di erogare le stesse funzionalità dei server tradizionali (Web Server, File Server, Mail Server), raggiungibili tramite semplici collegamenti a larga banda.Con Ospit@ Virtuale i server dei clienti vengono “virtualizzati” nei Data Center di Telecom Italia, utilizzando tecnologie in grado di fornire in tempo reale la capacità elaborativa richiesta dalle applicazioni, grazie alla condivisione, in sicurezza, delle risorse hardware rappresentate dalle piattaforme estremamente potenti ed affidabili.
L utente ha la possibilità di accedere ad una console web di gestione per consentire la gestione di tutti i principali parametri di funzionamento dei server virtuali.
.
Problematiche legate al Cloud Computing
§
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
§
Con i collegamenti wirless, 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.
§
Nel caso di industrie o aziende, tutti i dati memorizzati
nelle memorie esterne sono seriamente esposti a eventuali casi di spionaggio
industriale.
- Problemi internazionali di tipo economico e politico
§
Possono verificarsi quando dati pubblici sono raccolti e
conservati in archivi privati, situati in un paese diverso da quelli degli
utenti della “nube”. Produzioni cruciali e di carattere intellettuale insieme a
una grande quantità di informazioni personali sono memorizzate crescentemente
in forma di dati digitali in
archivi privati centralizzati e parzialmente accessibili. Nessuna garanzia
viene data agli utenti per un libero accesso futuro
§
Altre problematiche sono legate alla localizzazione degli
archivi della “nube” in alcuni paesi ricchi. Se non regolato da specifiche
norme internazionali ciò potrebbe:
1.
Aumentare il “digital divide” tra paesi ricchi e poveri (se
l’accesso alle conoscenze memorizzate non sarà liberamente garantita a tutti).
2.
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”.
- Continuità del servizio offerto:
§
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 ridondanti 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à.
- Difficoltà di migrazione dei dati nel caso di un eventuale cambio del gestore dei servizi cloud:
§
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.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////