giovedì 7 giugno 2012


                                       ( 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.
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.




 Possiamo distinguere tre tipologie fondamentali di Cloud Computing:






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:



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.



















·   Apple iCloud 
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. 
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. 








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.
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.


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 Impre­se Italiane. Questo servizio si spo­sta 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 eroga­re le stesse funzionalità dei server tra­dizionali (Web Server, File Server, Mail Server), raggiungibili tramite semplici collegamenti a larga banda.Con Ospit@ Virtuale i server dei clien­ti 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 condi­visione, in sicurezza, delle risorse hardware rappresentate dalle piattaforme estremamente potenti ed affidabili.
     L utente ha la possibilità di accedere ad una console web di gestio­ne per consentire la gestione di tutti i principali parametri di funzio­namento 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.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////