I COOKIE CI PERMETTONO DI MIGLIORARE LA TUA ESPERIENZA UTENTE CONTINUANDO A NAVIGARE SU QUESTO SITO ACCETTI IL LORO IMPIEGO 

Martedì, 22 Novembre 2011 17:19

Servizio di elaborazione In evidenza

Scritto da
Letto 4127 volte Ultima modifica il Martedì, 22 Novembre 2011 19:04
Vota questo articolo
(0 Voti)

Il servizio di elaborazione di Windows Azure può eseguire applicazioni molto diverse tra loro. Qualunque sia la sua funzione, tuttavia, un'applicazione deve essere implementata come uno o più ruoli. Windows Azure esegue quindi più istanze di ogni ruolo, utilizzando la funzionalità di bilanciamento del carico incorporata per distribuire le richieste tra le varie istanze. Questo sistema di base è illustrato nella figura 3.

 

Figura3: un'applicazione Windows Azure in esecuzione è costituita da una qualsiasi combinazione di istanze di ruoli Web, ruoli di lavoro e ruoli VM (macchina virtuale).

Nella versione corrente di Windows Azure gli sviluppatori possono scegliere fra tre tipi di ruoli:

  • Ruoli Web, il cui scopo principale è quello di semplificare la creazione di applicazioni basate sul Web. Ogni istanza di ruolo Web è pre-configurata con Internet Information Services (IIS) 7, per semplificare la creazione di applicazioni mediante ASP.NET, Windows Communication Foundation (WCF) o altre tecnologie Web. Gli sviluppatori hanno anche la possibilità di creare applicazioni in codice nativo: non è infatti necessario utilizzare .NET Framework. Ciò significa che è possibile installare ed eseguire anche tecnologie non Microsoft, ad esempio PHP e Java.
  • Ruoli di lavoro, progettati per l'esecuzione di una varietà di codice basato su Windows. La più importante differenza tra un ruolo Web e un ruolo di lavoro è che quest'ultimo non è configurato con IIS ed esegue pertanto codice non ospitato da IIS. Un ruolo di lavoro può ad esempio eseguire una simulazione, gestire un'elaborazione video e molto altro ancora. Numerose applicazioni interagiscono con gli utenti attraverso un ruolo Web, affidando l'elaborazione delle attività a un ruolo di lavoro. Anche in questo caso gli sviluppatori sono liberi di utilizzare .NET Framework o un altro software eseguito su Windows, incluse le tecnologie non Microsoft.
  •  
  • Ruoli VM, ognuno dei quali utilizza un'immagine di Windows Server 2008 R2 fornita dall'utente. Un ruolo VM può essere utile, ad esempio, per migrare un'applicazione Windows Server on-premises in Windows Azure.

 

A tale scopo, gli sviluppatori possono utilizzare il portale Windows Azure, trasferendo insieme all'applicazione anche le informazioni di configurazione che indicano alla piattaforma il numero di istanze di ogni ruolo da eseguire. Il controller di infrastruttura di Windows Azure crea quindi una macchina virtuale (VM) per ogni istanza, eseguendo il codice relativo al ruolo appropriato in tale macchina virtuale.

Come illustrato nella figura 3, l'utente dell'applicazione può inviare richieste utilizzando protocolli quali HTTP, HTTPS e TCP. Tutte le richieste ricevute vengono distribuite a tutte le istanze di un ruolo mediante il servizio di bilanciamento del carico. Poiché questo servizio non consente la creazione di un'affinità con una determinata istanza di ruolo, non viene offerto alcun supporto per le sessioni permanenti, pertanto non esiste alcuna garanzia che più richieste inviate dallo stesso utente verranno indirizzate alla stessa istanza di un ruolo. Ciò significa che le istanze di ruolo di Windows Azure non devono mantenere il proprio stato tra le richieste. Ogni stato specifico del client deve invece essere scritto nell'archivio di Windows Azure, archiviato in SQL Azure (un altro componente della piattaforma Windows Azure) o gestito esternamente in altro modo.

Per creare un'applicazione Windows Azure, gli sviluppatori possono utilizzare qualsiasi combinazione di istanze di ruoli Web, ruoli di lavoro e ruoli VM. Se il carico dell'applicazione aumenta, è possibile utilizzare il portale Windows Azure per richiedere altre istanze per qualsiasi ruolo dell'applicazione. Se invece diminuisce, è possibile ridurre il numero di istanze in esecuzione. Windows Azure inoltre espone un'API per eseguire tutte queste operazioni a livello di programmazione (cambiare il numero di istanze in esecuzione non richiede un intervento manuale), ma la piattaforma in sé non gestisce automaticamente la scalabilità delle applicazioni in base al carico.

Per creare applicazioni Windows Azure si utilizzano gli stessi linguaggi e strumenti utilizzati per qualsiasi

altra applicazione Windows. Per un ruolo Web è ad esempio possibile utilizzare ASP.NET e Visual Basic oppure WCF e C#. Allo stesso modo, un ruolo di lavoro può essere creato in un linguaggio .NET, direttamente in C++ senza .NET Framework oppure in Java. Inoltre, anche se Windows Azure fornisce componenti aggiuntivi per Visual Studio, non è necessario lavorare all'interno di questo ambiente di sviluppo. Uno sviluppatore che ha installato PHP, ad esempio, potrebbe scegliere di utilizzare uno strumento diverso per scrivere le proprie applicazioni.

Per garantire il monitoraggio e il debug delle applicazioni Windows Azure, ciascuna istanza può chiamare un'API di registrazione per scrivere informazioni in un registro a livello di applicazione. È anche possibile configurare il sistema per raccogliere contatori delle prestazioni di un'applicazione, misurare l'utilizzo della CPU, archiviare dump di arresto anomalo del sistema e altro ancora. Queste informazioni vengono conservate nell'archivio di Windows Azure e gli sviluppatori possono creare codice per esaminarle. Ad esempio, se un'istanza di ruolo Web si arresta in modo anomalo tre volte in un'ora, un codice personalizzato potrebbe inviare un messaggio di posta elettronica all'amministratore dell'applicazione..

La capacità di eseguire codice è un requisito fondamentale di una piattaforma cloud, ma non è sufficiente. Le applicazioni necessitano anche di un archivio permanente. Soddisfare questa esigenza è l'obiettivo del servizio di archiviazione di Windows Azure, descritto nella sezione seguente.

Torna all'articolo principale

Articolo succassivo


Letto 4127 volte

Lascia un commento

Assicurati di aver digitato tutte le informazioni richieste, evidenziate da un asterisco (*). Non è consentito codice HTML.