La piattaforma Microsoft per il cloud computing: Windows Azure
di Cristian Civera, in Windows Azure, 2 febbraio 2010
Applicazioni in the cloud con Windows Azure
Il servizio che senz'altro attrae di più l'attenzione allo sviluppatore è Windows Azure, dato che permette di provare facilmente una propria applicazione utilizzando molto del know how frutto dell'esperienza fatta sui server Windows.
Sostanzialmente si divide in due parti: quella computazionale e quella di storage. Quella computazionale è suddivisa a sua volta in due ruoli per identificare la tipologia di lavoro che svolgono:
- Web role: applicazioni web che rispondono via HTTP/HTTPS;
- Worker role: applicazioni che svolgono un ruolo indipendente dalle richieste, paragonabili ad operazioni in background.
Ogni istanza di uno dei due roli corrisponde ad una macchina virtuale che insieme ad un numero variabile fa parte di un gruppo di istanze controllato da un agent che le monitorizza e le gestisce istanziandole o rimuovendole. Tramite esso inoltre è possibile avere un sistema di logging e di alert in grado di inviare e-mail o istant messaging. Le istanze possono essere gestite anche dal punto di vista della geolocalizzazione, in modo da soddisfare i requisiti legali che richiedono che i dati debbano stare in certi stati e di tarare i web role e i worker role in modo che lavorino vicino a quelle più a contatto tra di loro, il tutto con un load balancer che distribuisce i carichi di lavoro sulle varie istanze.
L'intero sistema di gestione è affidato ad un pannello di controllo web dal quale gestire l'account, gli storage, le istanze e le chiavi, e vi è la possibilità di pubblicare la propria applicazione mediante un semplice upload HTTP. Tramite esso Windows Azure permette di mettere in staging e testare con un indirizzo privato l'applicazione, per poi passare in produzione con un semplice click.
La parte di storage consiste in tre servizi che hanno lo scopo di supportare le più comuni esigenze che si hanno nelle applicazioni:
- Blobs: repository per file e in generale di contenuti binari ad accesso randomico o sequenziale;
- Queues: un sistema di code per depositare messaggi e smaltirli pian piano;
- Tables: uno storage dove memorizzare informazioni in base a entità e proprietà.
La figura seguente riassume quanto detto e mostra l'organizzazione delle istanze per ogni Fabric Agent.

La parte di storage ha quindi il principale scopo di essere utilizzata dalle istanze di role, ma può anche essere sfruttata esternamente da applicazioni residenti su altri server o di tipo client side, come JavaScript o Silverlight. Questo grazie al fatto che ogni storage è accessibile tramite REST, ma anche lato server gli strumenti che si hanno a disposzione non sono legati esclusivamente al .NET Framework, ma anche a PHP o C++. E' chiaro che il .NET Framework rappresenta la tecnologia su cui Microsoft punta di più e del quale si ha un SDK completo di librerie per accedere agli storage e realizzare web role o worker role.
All'indirizzo dedicato allo sviluppo su Azure è possibile trovare le estensioni di Visual Studio 2008 / 2010 e la documentazione relativa. L'SDK comprende anche un motore semplificato di Windows Azure in modo da poter provare le funzionalità di storage anche in locale appoggiandosi ad un'istanza di Sql Server.
Contenuti dell'articolo
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimeti
-
Introduzione a Team Foundation Server 2010
-
Multithreading e parallelismo con il .NET Framework 4.0
-
Le novità nel .NET Framework 4.0 di WPF, WCF e WF
-
Le novità di Visual Basic 2010 e C# 4
-
Mostrare le camere di sorveglianza tramite il .NET Micro Framework
-
Interoperabilità con WCF: invocare servizi da PHP e Flash
-
Le novità di Windows 7 per gli sviluppatori
-
Le problematiche più comuni di un'architettura M-V-VM con WPF
-
Costruire una chat per Silverlight con il PollingDuplexHttpBinding

Commenti
mi piace
non mi piace
Facebook
Twitter









