Translate!

English Chinese (Simplified) French German Japanese

Newsletter: iscriviti!

Devi prima registrarti per poterti iscrivere ad una newsletter.
No account yet? Register

Statistiche

statistiche contatore

Siti Amici

Windows Azure: con Microsoft il cloud computing si tinge d'azzurro
Valutazione attuale: / 2
ScarsoOttimo 
Scritto da Administrator   
Venerdì 01 Luglio 2011 08:00
Indice
Windows Azure: con Microsoft il cloud computing si tinge d'azzurro
1) Cloud Computing: computazione su... fibra ottica
2) La nuvola azzurra Windows Azure
3) Analisi dell'offerta di Windows Azure
4) La parola all'esperto: l'interessante report di un Microsoft Architect
5) Case study: T-Mobile
6) La prova di InformaticaEasy.net
7) Conclusioni
Tutte le pagine

Windows Azure

Il futuro dell'aspetto computazionale dei nostri PC sarà relegato a server remoti e di localizzazione ininfluente, capaci di compiere per noi il lavoro elaborativo. Tutto verrà gestito a distanza, in ciò che chiamiamo Cloud Computing. In questa review, l'anteprima della "nuvola" Windows Azure.


Il cloud computing è un'espressione che indica una vasta topologia di architetture e infrastrutture ideate con l'idea di decentralizzare (lato client) e centralizzare (lato server) l'elaborazione di informazioni digitali.

Questa idea è infatti in netta contrapposizione alle tendenze del passato, che prevedevano (e per certi versi continuano ancora a prevedere) un costante incremento della potenza di calcolo dei computer casalinghi e aziendali in modo da velocizzare le operazioni di computazione - elaborazione dati - quotidiane.

I progressi software richiedono tuttavia frequenti spese per aggiornare l'hardware in modo da supportarlo al meglio. Il che significa sistematici upgrade al nostro computer per estendere le potenzialità di storage e manipolazione di dati: CPU, RAM e disco rigido sono gli elementi maggiormente coinvolti in tal senso.

Il concetto di cloud computing è totalmente opposto. "Cloud" è un sostantivo inglese e significa nuvola. Tale elemento della natura è stato preso in prestito per dare il nome a qualcosa che si oppone alla tendenza di "computazione locale" a cui siamo abituati nel quotidiano.

L'idea è questa: l'elaborazione di dati, l'esecuzione di programmi e il completamento di operazioni di trattamento dei dati digitali che richiede una potenza di elaborazione più o meno onerosa viene affidata ad un server, la cui geolocalizzazione non è importante. L'utente, il client e utilizzatore del servizio cloud, potrà da remoto connettersi quindi ad un computer che svolgerà per lui la parte elaborativa.

E' come se il nostro chassis si spostasse dall'ambiente domestico in una server farm, e tutti gli utilizzatori del servizio cloud impartiscano i comandi tramite mouse e tastiera ad un PC che fisicamente (quasi) non c'è più ma è posizionato altrove. Computer che restituirà il risultato delle proprie elaborazioni sul nostro schermo LCD.

Il Cloud Computing, dunque, segue esattamente per filo e per segno l'idea di "strada informatica" che Bill Gates già nel lontano 1995 ha incredibilmente previsto in ogni suo aspetto nel suo libro "La strada che porta al domani".

Windows Azure

Se avete avuto l'occasione di leggere questo testo, ricorderete come Bill Gates tende a sottolineare che la decentralizzazione dei servizi e delle informazioni possono essere effettuate a patto che la rete internet sia basata su protocolli affidabili e su velocità trasmissive elevate, con basse latenze. Questo perchè internet è alla base del cloud computing.

In un prossimo futuro, quindi, possiamo aspettarci che connessioni di pochi metri realizzate in ambito domestico via cavo verranno rese possibili grazie al grande cavo virtuale quale è Internet.

Ed il Cloud Computing è già una concretizzazione di questa idea, visto che si basa sulla potenza di Internet per sfruttare a distanza processori, schede video e quant'altro, hardware cioè offerto da un server remoto, per portare a termine le operazioni di elaborazione dati che normalmente riguardano un singolo computer.

Le applicazioni del Cloud Computing sono molteplici, sia in campo prettamente aziendale che in ambienti più domestici. Pensiamo ad esempio all'ultimo titolo grafico della Electronic Arts che richiede un hardware potentissimo per permetterci di videogiocare senza lag. Normalmente, se siamo accaniti appassionati di questo videogame e vogliamo giocarci a tutti i costi penseremo magari di sostituire la scheda video, overcloccare il processore, espandere la memoria RAM, ecc...

Con il Cloud Computing questo non è più necessario, in quanto un server a distanza molto potente si preoccuperà di eseguire il gioco e trasmetterci le immagini in tempo reale sui nostri schermi. Il tutto tramite connessione ad Internet.

Decentralizzare dal punto di vista dei client significa trasferire e manipolare le informazioni da remoto anche tramite diversi dispositivi (non solo il nostro computer ma anche ad esempio il proprio telefono cellulare) ed accedere così a programmi che "girano" a distanza e manipolano i nostri dati personali, ben custoditi, accessibili e sincronizzati in tempo reale per essere a disposizione da qualunque posizione rivestiremo sul globo terrestre.

Windows Azure

Per quanto possa sembrare fantascienza, il Cloud Computing è già realtà. Molte Aziende lo utilizzano già e i colossi dell'informatica tra cui Google, Apple, Microsoft ed Amazon ne sono promotori.

Recentemente Apple ha investito 500 milioni di dollari per l'apertura di una server farm interamente dedicata al proprio servizio di cloud computing, chiamato Apple iCloud. Sicuramente investimenti così onerosi sono dettati da decisioni manageriali che promettono ricavi futuri. Se un big dell'informatica investe molto in un progetto, dobbiamo iniziare a credere che tale progetto si rivelerà vincente anche in futuro. Perchè in fondo siamo noi stessi (più o meno) clienti delle Aziende che ho appena menzionato.

A quanto pare Bill Gates ci ha visto giusto già più di quindici anni fa. E Microsoft, la sua creazione, è riuscita recentemente a concretizzare questa idea con un proprio servizio di cloud computing: Windows Azure, presentato ufficialmente al mercato italiano qualche mese fa.

InformaticaEasy ha potuto provare in anteprima i servizi Windows Azure e offrirvi questo articolo che mira a fare il punto della situazione sul cloud computing e sulla reale implementazione di questa grande idea da parte del colosso di Redmond.


Come prima definizione, Windows Azure è il servizio di cloud computing offerto da Microsoft in 21 Paesi in tutto il mondo. In realtà, il nome in sè include il termine "Windows", da sempre utilizzato in casa Redmond per indicare un sistema operativo. Questo perchè Azure è inquadrabile in un contesto diverso da un semplice servizio web: è infatti catalogabile come sistema operativo a tutti gli effetti, basato su Windows Server 2008 e sua diretta variante, concreta implementazione della Windows Azure Platform. E' stato lanciato sul mercato lo scorso 1 febbraio 2010.

Windows Azure

Inizialmente chiamato Windows Cloud tre anni fa da Steve Ballmer (in occasione della Professional Developers Conference di fine 2008) è una piattaforma multifunzionale che offre ai suoi utilizzatori diverse feature tra cui geo replication, network management model ed un modello SOA. Cerchiamo di chiarire per via preliminare e a grandi linee il significato di questi tre punti di forza di Windows Azure.

Geo Replication è un sistema per migliorare la distribuzione dei dati attraverso data network distribuiti e dislocati in diverse aree geografiche, con lo scopo di migliorare l'esperienza dell'utente finale nei riguardi di applicazioni che fanno uso intensivo di dati come ad esempio portali web. La Geo Replication può essere implementata con software, hardware o una combinazione di entrambi.

Il Network Management Model è un aspetto critico delle reti di computer moderne, per assicurarne elevata disponibilità, comunicazioni sicure, facilità di utilizzo del network stesso e delle relative tecnologie supportate, gestione diretta e semplificata dei dispositivi della rete e del supporto agli utenti utilizzatori. Ci sono diverse architetture e modelli di Network Management Model proposti da diverse organizzazioni di standard e aziende. Sebbene in alcuni asperti siano difformi tra loro, lo scopo comune è quello di partizionare il task della gestione della rete in funzioni più piccole, in modo da rendere l'intera gestione della rete più facile.

Una chiara ed esplicativa definizione di Service-Oriented Architecture (modello SOA) ci viene fornita da Wikipedia: si tratta di un'architettura software adatta a supportare l'uso di servizi Web per garantire l'interoperabilità tra diversi sistemi così da consentire l'utilizzo delle singole applicazioni come componenti del processo di business e soddisfare le richieste degli utenti in modo integrato e trasparente.

Windows Azure

In questo articolo scopriremo insieme cosa realmente offre e in cosa consiste Windows Azure; InformaticaEasy è lieta di aver preso parte alla campagna pubblicitaria ideata da Microsoft per promuovere agli utenti il suo servizio cloud.

Cercheremo di conoscere meglio il mondo del cloud computing e la piattaforma Windows Azure, l'idea "cloud" che vi è alla base, le diverse funzionalità e peculiarità che la piattaforma possiede (ad esempio la completa interoperabilità con i principali ambienti di sviluppo quali ambiente .NET, PHP, Ruby, Python o Java).


Il documento redazionale divulgato da Microsoft è molto esplicativo nei riguardi di Windows Azure. Di seguito ho deciso di riportarne le porzioni più salienti e importanti.

Windows Azure è un sistema operativo di servizi in cloud che funge da ambiente di sviluppo, servizio di hosting e servizio di management per la piattaforma Windows Azure. Lo scopo è quello di offrire agli sviluppatori, attraverso i data center Microsoft, servizi di hosting, ampia scalabilità e servizi di gestione su internet per le loro applicazioni web. Con Windows Azure, Microsoft ospita sui propri server applicazioni che appartengono ai clienti.

Windows Azure è una piattaforma di servizi cloud basata su Internet e ospitata nei data center Microsoft, che offre una piattaforma e una serie di servizi utilizzabili singolarmente o contemporaneamente. La piattaforma interoperabile e flessibile di Windows Azure consente di creare nuove applicazioni da eseguire nell'ambiente di cloud computing o di migliorare le applicazioni esistenti grazie a funzionalità basate su cloud. Windows Azure semplifica la gestione e l'utilizzo delle applicazioni offrendo capacità computazionale on-demand e funzionalità di archiviazione che consentono di ospitare, ridimensionare e gestire servizi Web e applicazioni connesse.

Windows Azure rappresenta un'ottima soluzione per:

  • organizzazioni che desiderano estendere nell'ambiente di cloud computing le applicazioni locali esistenti, integrandole con servizi basati su cloud;
  • ISV che richiedono alti livelli di scalabilità con ampio raggio d'azione e un livello minimo di sovraccarico amministrativo;
  • sviluppatori web e di applicazioni che desiderano continuare a far leva sull'esperienza acquisita con gli strumenti con cui hanno familiarità.

Windows Azure è la tecnologia più recente nell'ambito della strategia software + servizi Microsoft, che consente di soddisfare la crescente domanda di flessibilità e ottenere un’esperienza comune tra dispositivi diversi, applicazioni locali e servizi basati su cloud. Windows Azure offre un ambiente per lo sviluppo, l'utilizzo, la migrazione e la gestione di applicazioni mediante una serie di strumenti comuni.

Windows Azure, Microsoft SQL Azure, il service bus Windows Azure AppFabric e i servizi di Access Control e i Windows Azure Content Delivery Network (CDN) rappresentano i componenti principali della piattaforma Windows Azure.

Microsoft SQL Azure estende le funzionalità di Microsoft SQL Server nell'ambiente di cloud computing sotto forma di database relazionale distribuito, basato sul Web.

Windows Azure AppFabric consente agli sviluppatori di connettere applicazioni e servizi nell'ambiente di cloud computing o in locale. Rende disponibili un service bus per la connessione in rete e all'interno delle organizzazioni e servizi di access control per l'autorizzazione federata.

Gli aspetti di virtualizzazione e astrazione in Windows Azure sono rappresentati da un insieme di macchine virtuali che offre una serie di servizi applicativi basati su cloud, tra cui:

  • Servizi di elaborazione: i componenti delle applicazioni di elaborazione e Web vengono ridimensionati in modo indipendente, in base alle esigenze;
  • Servizi di archiviazione dei dati: archiviazione dei dati semplice, duratura e scalabile gestita automaticamente;
  • Gestione dei servizi: Windows Azure Fabric Controller offre funzionalità automatiche di gestione, provisioning e scalabilità;
  • Sicurezza e controllo: sono disponibili funzionalità di autenticazione dell'accesso e crittografia over-the-wire;
  • Data center Microsoft: la piattaforma Windows Azure è ospitata in data center Microsoft distribuiti e accessibili tramite Internet che garantiscono elevata disponibilità, scalabilità e continuità, con i vantaggi di processi di sicurezza all'avanguardia;
  • Ambiente di sviluppo avanzato: per creare applicazioni e servizi di Windows Azure gli sviluppatori utilizzano strumenti e modelli di programmazione familiari, ad esempio Visual Studio 2010.

Windows Azure

La piattaforma Windows Azure può diventare un elemento fondamentale del panorama IT, grazie alla possibilità di automatizzare importanti attività di gestione dei sistemi, fornire funzionalità scalabili di elaborazione e archiviazione ed eliminare l'esigenza di aggiungere ulteriori risorse hardware per far fronte a improvvisi e imprevedibili picchi di attività, nonchè estendere le applicazioni locali all'ambiente di cloud computing e consentire livelli avanzati di interazione con utenti, partner aziendali e altre organizzazioni.

Le principali funzionalità di Windows Azure:

  • Servizi di calcolo
  • Database
  • Memorizzazione di dati
  • CDN (Content Delivery Network)
  • Servizi di caching
  • Sincronizzazione dati
  • Network Virtuale
  • Service Bus
  • Servizi di reporting (al momento non ancora disponibile al pubblico)
  • Servizi di accesso facilitato alle identità (Access Control)
  • Marketplace dove gli sviluppatori possono trovare tutto ciò che serve per sviluppare applicazioni attraverso Windows Azure
  • Appliance per effettuare in locale il deployment delle proprie applicazioni

Windows Azure

Microsoft ha scelto di offrire una potenza di calcolo server-side variabile in funzione delle richieste hardware impartite dal tipo di applicazione sviluppata. Il tutto si traduce in termini di instance size; ogni istanza di Windows Azure è rappresentata da un server virtuale e la tabella riportata di seguito riassume le risorse fornite da ogni instance size.

Sebbene molte risorse siano dedicate ad una particolare istanza, alcune risorse associate alle prestazioni I/O, come ad esempio l'ampiezza di banda della rete ed il sottosistema dischi, sono condivisi tra le istanze dello stesso host fisico. Durante i periodi di tempo in cui la risorsa condivisa non è completamente utilizzata, è possibile usare uno share più elevato per quella risorsa.

I differenti tipi di istanza forniscono diverse prestazioni minime assicurate. Un indicatore di elevate prestazioni I/O otterrà una più grande allocazione delle risorse condivise:

Windows Azure


Mario Fontana, Microsoft Architect Evangelist Senior, ha realizzato un interessantissimo articolo per spiegare in maniera estremamente intuitiva l'essenza della piattaforma Windows Azure. Il post completo è disponibile a QUESTO link e di seguito ne riprendiamo solamente gli aspetti principali.

Windows Azure Mario Fontana

Windows Azure Platform rappresenta l’ambiente ideale per sviluppare, eseguire e gestire le proprie applicazioni o servizi in the cloud indipendentemente dalla tecnologia e dai framework di sviluppo. Su Windows Azure Platform è infatti possibile sviluppare in .NET, JAVA, PHP, Ruby, e persino in C++.

La piattaforma Windows Azure è a sua volta composta da 3 elementi: Windows Azure (il sistema operativo per il Cloud che permette alle applicazioni di girare e fornisce potenza computazionale, storage, hosting e funzioni di management); Microsoft SQL Azure (il database relazionale per il Cloud); Windows Azure AppFabric (l’insieme di servizi di infrastruttura applicativa per l’Identity Management e la connettività).

Windows Azure è un sistema operativo per il Cloud e come ogni sistema operativo che si rispetti fornisce potenza computazionale, sistemi di comunicazioni (asincroni), storage di base, management e servizi avanzati di virtualizzazione. Infatti questi le macro aree di Windows Azure: Compute, Storage, Management, Hosting.

Windows Azure di per sè è stato creato da zero come sistema operativo per il cloud utilizzando però delle tecnologie Microsoft ben consolidate come ad esempio Windows Server 2008 r2 e Windows Server Hyper-V virtualization layer.

Potremmo quindi dire che Windows Azure è di fatto un “Cloud Layer” su varie tecnologie Microosft. Infatti, il cuore pulsante di Windows Azure è basato su una specializzazione di Hyper-V chiamata Windows Azure Fabric Controller che rappresenta il così detto cloud fabric layer. Il fabric layer da un lato astrae dall’hardware sottostante e dall’altro gestisce dinamicamente delle VM con Windows Server 2008 R2 a 64-bit.


Sono tanti i brand internazionali che si appoggiano sull'infrastruttura Windows Azure. I nomi? Meritano menzione ad esempio 3M, Nasa, Bing, Volvo, Xerox, T-Mobile.

In particolare, T-Mobile USA aveva bisogno di un nuovo software per dispositivi mobili in grado di semplificare le comunicazioni delle famiglie e i tempi ristretti non consentivano l'implementazione di applicazioni o di infrastrutture server. Grazie a Microsoft Visual Studio 2010 Professional, T-Mobile è riuscita a sviluppare una soluzione per Windows Phone 7 basata sulla piattaforma Windows Azure in appena sei settimane.

T-Mobile USA fornisce prodotti e servizi wireless a circa 33 milioni di clienti in tutti gli Stati Uniti. Filiale di Deutsche Telekom, T-Mobile ha sede a Bellevue, nello stato di Washington, e conta un organico di 42.000 persone.

L'Azienda mirava a offrire ai clienti una nuova applicazione mobile che aiutasse le famiglie a mantenersi in contatto, ma aveva tempi di realizzazione molto stretti. La soluzione si è basata su una applicazione chiamata Family Room su Windows Phone 7 e la piattaforma Windows Azure, in modo da creare un ambiente software utilizzabile dai diversi componenti di un nucleo familiare per coordinare le attività e condividere foto e altre informazioni.

T-Mobile ha deciso di creare questa soluzione con Microsoft Visual Studio 2010 Professional, basandola su Windows Phone 7 e la piattaforma Windows Azure. Sfruttando un ambiente di sviluppo integrato e un sistema di servizi cloud, il progetto è stato portato a termine in sole sei settimane. L'utilizzo di una piattaforma cloud ha inoltre semplificato la gestione, non necessitando della manutenzione di server fisici, con il risultato che gli sviluppatori hanno ottenuto più tempo per concentrarsi sul miglioramento dell'applicazione. I clienti potranno contare su una soluzione di comunicazione semplificata, affidabile e con avanzate capacità di protezione, oltre alle nuove funzionalità che T-Mobile sta già progettando.

Nello scegliere un'infrastruttura basata su cloud per l'hosting dell'applicazione e dei dati. A questo scopo, il team di progetto ha preso in considerazione diversi servizi, inclusi quelli offerti dai fornitori con cui già l'azienda collaborava, ma alla fine la scelta è caduta sulla piattaforma Windows Azure, un set di servizi di cloud computing che include il sistema operativo Windows Azure e il database relazionale Microsoft SQL Azure.

<<Abbiamo preso in esame diverse opzioni di cloud computing. Alla fine, abbiamo capito che la piattaforma Windows Azure era quella che meglio si adattava alle nostre esigenze, offrendo non solo il set di funzionalità più appropriato, ma anche la massima compatibilità e affidabilità>>, ha dichiarato Matthew Calamatta, Technical Consultant di Matchbox Mobile. <<Abbiamo capito subito che con Windows Azure potevamo realizzare la nostra soluzione in tempi rapidi>>.


Al link http://windowsazurepass.com/ è possibile provare in maniera completa per un periodo di tempo limitato la piattaforma Windows Azure. Microsoft sta infatti offrendo un pass valido per 30 giorni per provare Windows Azure ed SQL Azure gratuitamente.

Windows Azure

Di seguito ho voluto riportare le mie considerazioni dopo aver testato personalmente e brevemente, tramite questo "trial program", il cloud firmato Microsoft.

Windows Azure

Nel contesto Windows Azure dovremo approcciarci di continuo con un termine che a me personalmente suona malissimo: si chiama "deployment" (all'infinito "to deploy"), spesso italianizzato in "deployare".

Ma a parte l'antipatia nei confronti di questo nome, è bene ricordare che il deployment si riferisce ad un'azione decisamente comune in informatica. Come ricordatoci da Wikipedia, è la <<messa in campo o in atto (letteralmente, lo "spiegamento") di una soluzione>>. In informatica, in particolare, come significato più comune ha quello di <<consegna al cliente, con relativa installazione e messa in funzione, di una applicazione o di un sistema software. Lo si può considerare come una fase del ciclo di vita del software che conclude lo sviluppo e dà inizio alla manutenzione>>.

Windows Azure permette di effettuare il deployment software sia a livello locale (durante lo sviluppo è possibile testarlo e debuggarlo come sviluppatore) che una volta caricato via upload nel sistema cloud di Microsoft.

Ecco un semplice esempio di costruzione e deployment di un codice di esempio realizzato in ASP.NET che mostra a video "Hello World" (tanto per cambiare, salutiamo ancora una volta il mondo...). Parliamo dapprima di sviluppo in ambiente locale e quindi su Windows Azure. L'applicazione, una volta conclusone lo sviluppo, apparirà in questo modo:

Windows Azure

Iniziamo col creare ed eseguire una applicazione ASP.NET in Windows Azure, con un facile tutorial Microsoft che riporto e riadatto leggermente di seguito.

Iniziamo con l'avviare con privilegi amministrativi (è richiesto dall'emulatore di Azure) Microsoft Visual Studio 2010. Spostiamoci su File --> New --> Project e nella finestra che si apre navighiamo su Installed Templates --> Visual C# e scegliamo la voce Cloud.

A questo punto optiamo per l'opzione Windows Azure Project e, se necessario, modifichiamo il campo Location, che specifica dove la nostra creazione verrà archiviata. Ora un OK per confermare il tutto.

Windows Azure

Nella finestra New Windows Azure Project navighiamo in Visual C#, clicchiamo ASP.NET Web Role ed il simbolo >. Il nostro primo progetto inizia a prendere vita ed ecco come dovrebbe apparire la finestra di dialogo del nostro New Windows Azure Project:

Windows Azure

Questo step definirà un ruolo web per la soluzione Windows Azure che stiamo progettato. Per ruolo web (web role) si intende un ambiente per l'esecuzione di siti web o applicazioni conformemente allo standard IIS (Internet Information Services) 7.0. Clicchiamo su OK per chiudere la finestra di dialogo New Windows Azure Project.

A questo punto abbiamo essenzialmente tutto il necessario per iniziare a scrivere la nostra applicazione, il cui livello di difficoltà sarà ovviamente proporzionale all'idea che vogliamo implementare nel software e alla nostra capacità di districarci con del codice più o meno complesso da gestire e maneggiare. Ricordiamo però che più che mai in un ambiente Cloud la manutenibilità è un aspetto importantissimo del nostro programma: realizziamolo in maniera ordinata, a "blocchi" e arricchiamolo con opportuni commenti quando necessario!

Proviamo a personalizzare il testo che appare nella applicazione modificando il file Default.aspx. Questo non cambierà fondamentalmente l'applicazione, ma mostrerà quanto simile l'applicazione stessa è nei riguardi di una tradizionale ASP.NET di stampo prettamente non-cloud. Per modificare il Default.aspx, apriamo Solution Explorer ed espandiamo WebRole1, quindi facciamo doppio click su Default.aspx. Dopo il tag </h2> inseriamo ad esempio un bel:

<p>Hello World from Windows Azure!</p>

Salviamo e chiudiamo Default.aspx. A questo punto non ci resta che compilare ed eseguire l'applicazione cliccando su Debug dal menu e quindi scegliendo Start Without Debugging. Ora l'applicazione dovrebbe essere in grado di essere eseguita con successo nel PC di sviluppo locale.

Sono importantissimi due file creati da Visual Studio nello stesso momento in cui viene creato il nostro programma: si chiamano ServiceDefinition.csdef e ServiceConfiguration.cscfg. L'estensione *.csdef riguarda i file di definizione del servizio cloud, mentre *.cscfg indica i file di configurazione del servizio cloud. Il primo dei due file menzionati contiene metadata utilizzati da Windows Azure quando ospita la propria applicazione appena creata, inclusi, ad esempio, quali ruoli sono presenti nell'applicazione stessa. Il secondo file fornisce impostazioni di configurazione per la propria applicazione così come il numero di istanza da eseguire per ogni ruolo.

 

E' ora il momento di eseguire il debug locale della nostra applicazione prima di eseguirla in ambiente cloud. Apriamo da Visual Studio l'opzione WebRole.cs (attraverso il Solution Explorer, espandendo WebRole1 Project e facendo doppio click su WebRole.cs).

Ora facciamo doppio click su return base.OnStart(); ed inseriamo un Breakpoint scegliendolo dal menu contestuale. F5 e siamo pronti a debbuggare.

Un secondo metodo di debugging consiste nell'utilizzare il Windows Azure compute emulator, che permette di eseguire operazioni come visualizzare un'istanza di esecuzione del proprio sviluppo locale. Il compute emulator dovrebbe avviarsi automaticamente quando si debugga il progetto Windows Azure creato.

Per richiamarlo, facciamo right click sull'icona Windows Azure nella system tray e scegliamo Show Compute Emulator UI. Ora espandiamo il nodo Service Deployments, ed osserveremo i deployment locali corrispondenti all'applicazione che è in fase di debug. Clicchiamo sul deployment che mostrerà una console di comando con informazioni di diagnostica risultanti dalla propria applicazione e le sue interazioni con l'ambiente di sviluppo. Eccone di seguito un esempio:

Windows Azure

 

Passiamo a qualcosa di decisamente più nuovo e interessante: il deployment dell'applicazione nel cloud usando il portale di gestione di Windows Azure. Iniziamo col creare ed effettuare l'upload di un package di servizio ed un file di configurazione preliminari, scegliendo l'opzione Publish dal menu contestuale che si aprirà scegliendo il nostro project name dal Solution Explorer di Visual Studio. Dalla finestra di dialogo Deploy Windows Azure, scegliamo Create Service Package Only, quindi OK:

Windows Azure

Visual Studio aprirà una cortella che contiene i due file creati: sono ServiceConfiguration.cscfg (ne abbiamo già accennato prima) ed un secondo che reca il nome del progetto e sarà del tipo <YourProjectName>.cspkg (quest'ultima estensione è relativa ai file di package, contenenti definizione del servizio così come binari ed altri elementi per l'applicazione che deve essere deployata).

E' cruciale prendere nota del percorso di questi file, poichè ci verrà richiesto di inserirlo nel portale di gestione di Windows Azure quando effettueremo il deployment in cloud.

 

Per farlo, diamo finalmente uno sguardo al portale di gestione di Windows Azure, a cui possiamo accedere da http://windows.azure.com. Recentemente tale portale è stato ristrutturato e reso più piacevole da navigare implementanto la tecnologia Microsoft Silverlight.

Windows Azure

Scegliamo Hosted Services, Storage Accounts & CDN, quindi su New Hosted Service. Selezioniamo una sottoscrizione che verrà usata per questa applicazione inserendone un nome, usato per distinguere i propri servizi nel portale Windows Azure per la sottoscrizione specificata.

Ora inseriamo un URL per la propria applicazione (che sarà unico e univocamente assegnato solo e soltanto ad un'unica applicazione), quindi scegliamo una regione dalla lista che apparirà, quindi Deploy per avviare lo stage di sviluppo. Assicuriamoci di selezionare l'opzione: Start after successful deployment.

Specifichiamo un nome per il deployment, mentre in Package location, effettuiamo il browsing locale navigando nella cartella dove il file del nostro progetto <YourProjectName>.cspkg è memorizzato nel nostro PC, quindi selezioniamolo. Idem per il Configuration file, scegliendo però stavolta ServiceConfiguration.cscfg. Scegliamo OK.

Windows Azure

E' possibile monitorare lo stato del deployment direttamente dal portale di Windows Azure navigando nella sezione Hosted Services (da cui è possibile visionare il DNS generato che sarà del tipo http://<code>.cloudapp.net. Quando lo stato diventa Ready, è possibile inserire il nome DNS nel browser, che verrà creato durante il deployment in cloud. Il nome DNS è basato sull'URL di propria scelta dapprima specificato.

Windows Azure

A questo punto, avremo finalmente effettuato il deployment della nostra prima applicazione Windows Azure nel cloud computing targato Microsoft!


Windows Azure è la piattaforma di sviluppo che consente di creare ed eseguire applicazioni nella cloud, lanciarle in pochi minuti anziché in mesi ed effettuare la codifica in diversi linguaggi e tecnologie, tra cui .NET, Java e PHP.

Dal punto di vista dello sviluppatore, iniziare a scrivere applicazioni su Windows Azure è semplice per l'immediata accessibilità di tutte le risorse necessarie. Tutti i training kit, gli strumenti di gestione, i contenuti tecnici e gli SDK sono già messi a disposizione da Microsoft.

Windows Azure

Gli utenti del web interessati hanno la possibilità di provare gratuitamente la piattaforma attraverso il “Free Trial Introductory Special”, il servizio messo a disposizione da Microsoft che consente all’utenza di valutare direttamente le performance e i vantaggi connessi all’uso di Azure testandone tutte le potenzialità, nonché la possibilità di certificare le proprie applicazioni con la dicitura “Powered by Windows Azure”. Perchè. secondo Microsoft, <<Con Windows Azure si ha un nuovo modo di sviluppare le cose>>.

Commenti (0)add comment

Scrivi commento
più piccolo | più grande

busy

Articoli correlati:
Articoli più recenti:
Articoli meno recenti:

 
Copyright © 2009 InformaticaEasy. Tutti i diritti riservati.
E' vietata la riproduzione di qualunque contenuto del sito senza aver richiesto autorizzazione.
  Le recensioni e gli articoli sono scritti e di esclusiva proprietà di Paolo Vinella; se presenti su altri siti/forum, sono stati inseriti dallo stesso
 
Sito realizzato e gestito da Paolo Vinella.