L'evoluzione di Internet ha trasformato la rete da un semplice mezzo per lo scambio di comunicazioni di testo a un evoluto sistema che offre applicazioni on line, memorizzazione dati e persino piattaforme di sviluppo.
A tutto l'insieme è stato dato il nome di
cloud (in inglese nuvola), termine che indica qualcosa di distante e diffuso, come le nuvole nel cielo.
Il
cloud computing è un sistema sempre più diffuso presso le aziende per i numerosi vantaggi che offre.
Tra questi, il taglio dei costi di installazione e gestione dell'infrastruttura hardware, costi spesso nascosti, che però incidono pesantemente sul budget di un'azienda.
Nel cloud la gestione delle macchine fisiche (server) su cui risiedono i programmi e/o dati, sia hardware sia software, è effettuata dal fornitore del servizio cloud stesso. Un altro vantaggio è la scalabilità , poichà© si acquistano servizi (un'azienda può per esempio acquistare un pacchetto di funzionalità minimo, per iniziare, e in seguito incrementarlo per fare fronte alla crescita delle richieste) senza preoccuparsi di acquistare un nuovo hardware e trasferire o migrare contenuti, come invece accadrebbe con una struttura convenzionale.
Altri vantaggi del cloud sono:- la possibilità di gestire picchi di carichi di rete senza aggiungere nuove infrastrutture di supporto, le quali poi rimarrebbero inutilizzate una volta terminato il picco di richiesta;
- la verifica di applicazioni sviluppate per la rete senza l'investimento in hardware e software;
- una disponibilità del servizio prossima al 100% grazie a una struttura sparsa in diversi punti della rete e non concentrata in una macchina o in un nodo singolo.
[tit:Azure, la proposta di Microsoft per il cloud]
In questo contesto si inserisce
Windows Azure di Microsoft, una piattaforma cloud rivolta agli sviluppatori che comprende un sistema operativo e vari strumenti per lo sviluppo, l'esecuzione e la gestione di applicazioni e servizi.
Collegandosi ad Azure tramite Internet, lo sviluppatore avrà a disposizione un ambiente con una potenza di calcolo modificabile e adeguabile in base alla richiesta, diversi livelli e tecnologie di storage ottimizzati in base alle esigenze dei programmi, una gamma di strumenti di sviluppo delle applicazioni.
Con Azure è possibile realizzare, oppure integrare, applicazioni sviluppate con gli stessi strumenti impiegati per applicazioni Windows quali ASP.NET e Visual Basic, nonchà© applicazioni provenienti da ambienti di sviluppo diversi come PHP, Java e altre tecnologie con l'impiego di appositi plugin disponibili sul sito
dell'INTEROPERABILITY BRIDGES AND LABS CENTER di Microsoft (
http://www.interoperabilitybridges.com).
Azure è un servizio PaaS, ossia l'utente paga il servizio (quantità di storage, transazioni, traffico di rete e altro) utilizzato dall'applicazione che gira su Azure. Le tariffe dipendono dal tipo di sottoscrizione e dal livello di utilizzo.
Per esempio, se si opta per un contratto al solo consumo, verranno conteggiati solo i costi di utilizzo effettivo. Se si sceglie un contratto con quota di utilizzo mensile fissa, oltre alla tariffa base, verrà conteggiato l'utilizzo che eccede la quota prefissata.
Una spiegazione dettagliata del sistema di tariffazione e un calcolatore delle spese sono disponibili a questo indirizzo:
http://www.microsoft.com/online/help/it-it/helphowto/af25ac10-7c47-42dc-b139-dab954ed2eff.htm. Oltre che un ambiente di testing e sviluppo, Azure rappresenta per gli sviluppatori un mezzo che consente l'erogazione di un
servizio SaaS (Software as a Service) appoggiandosi a una piattaforma stabile e sicura grazie all'implementazione di severi controlli di sicurezza.
[tit:La struttura di Azure]
Azure può essere suddiviso in alcune parti principali:
Compute, Storage, AppFabric, SQL Azure e Windows Azure Virtual NetworkCompute: La parte Compute fornisce agli sviluppatori gli strumenti per realizzare e gestire le applicazioni. Compute è a sua volta diviso in tre parti: Web role, Worker role, VM role. Il Web role è configurato per IIS7, cosa che facilita la creazione e integrazione di applicazioni ASP.NET, Windows Communication Foundation (WFC) e altre tecnologie Web. Il Worker role è simile al Web role con la differenza che non è configurato per IIS7, e può essere quindi utilizzato per l'esecuzione delle applicazioni con un Web server diverso da IIS. Un'applicazione sviluppata in Worker role può interagire con l'utente tramite Web role. Il VM role è una macchina virtuale in cui può essere eseguita un'immagine virtuale ricavata da un server fisico.
Storage: Windows Azure fornisce quattro servizi di storage per varie esigenze. Il Binary Large Object (BLOB) Service è il più semplice per la memorizzazione di documenti e immagini. Il Table Service è adatto per grandi quantità di dati, è scalabile e indicato per le applicazioni che interagiscono coi dati tramite queries. Il Queue Service fornisce un robusto trasferimento di comunicazioni tra Web role e Worker role. Il Windows Azure Drive è un disco virtuale formattato in NTFS.
AppFabric: Questa parte di Azure offre servizi di autenticazione, autorizzazione e scambio di messaggi tra le applicazioni tramite i servizi .NET Service Bus (scambio di comunicazioni tra applicazioni nella rete locale e nel cloud, su reti differenti e con diversa distribuzione geografica) e Access Control Service (stabilisce relazioni di trust con applicazioni esterne o Identity provider).
SQL Azure: Questa è la versione di SQL Server adattata per il cloud. àˆ possibile utilizzarla con gli stessi strumenti usati per accedere a SQL Server, anche se non tutte le funzionalità sono supportate nella versione Cloud.
Windows Azure Virtual Network: Si tratta di un servizio che rende disponibili al cloud le risorse dell'infrastruttura locale tramite l'utilizzo di indirizzi IP. Per esempio una virtual machine nel cloud può utilizzare un database risiedente in una Intranet.
[tit:La sicurezza come obiettivo principale]
Una delle fonti di maggiore preoccupazione è la possibilità che qualcuno si appropri dei dati trasmessi nel cloud. Azure è stato quindi realizzato con l'intento di offrire la massima sicurezza relativamente a questo aspetto. Contiene, infatti, un programma basato sulla valutazione dei rischi in grado di rilevare e definire le minacce operative e relative alla sicurezza. Gestisce e aggiorna costantemente una serie diversificata di controlli di sicurezza. Utilizza un framework di conformità che aiuta a garantire che i controlli siano strutturati correttamente e funzionino a dovere.