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

Valutazione attuale: 0 / 5

Stella inattivaStella inattivaStella inattivaStella inattivaStella inattiva
 

Per gli sviluppatori di applicazioni, i servizi di elaborazione e archiviazione sono i componenti più importanti di Windows Azure. Il funzionamento di entrambi, tuttavia, dipende dal controller di infrastruttura, il quale, trasformando un data center pieno di computer in un insieme coerente, fornisce le basi per tutto il resto.

Come abbiamo già visto, il controller di infrastruttura è il proprietario di tutte le risorse in un determinato data center di Windows Azure ed è anche responsabile dell'assegnazione delle applicazioni ai computer fisici. Eseguire tutto questo in modo intelligente è importante. Supponiamo ad esempio che per la propria applicazione uno sviluppatore abbia bisogno di cinque istanze di ruolo Web e quattro istanze di ruolo di lavoro. Si potrebbe ingenuamente collocare tutte queste istanze in computer dello stesso rack, gestiti dallo stesso switch di rete. In caso di errore del rack o dello switch, però, l'intera applicazione non sarà più disponibile. Dati gli obiettivi di disponibilità elevata che si impone Windows Azure, far dipendere in questo modo un'applicazione da singoli punti di errore sarebbe sbagliato.

Per evitare questa situazione, il controller di infrastruttura raggruppa i computer sotto il suo controllo in un certo numero di domini di errore. Ciascun dominio di errore fa parte del data center nel quale un singolo errore può impedire l'accesso a tutti gli elementi in quel dominio, come illustrato nella figura 16.

Figura 16: il controller di infrastruttura colloca diverse istanze di un'applicazione in diversi domini di errore.

 

In questo semplice esempio, l'applicazione sta eseguendo solo due istanze di ruolo Web e il data center è diviso in due domini di errore. Quando il controller di infrastruttura distribuisce l'applicazione, colloca un'istanza di ruolo Web in ciascuno dei domini di errore. Con una configurazione di questo tipo, un solo problema hardware nel data center non è sufficiente a bloccare l'intera applicazione. Non dimentichiamo inoltre che il controller di infrastruttura vede l'archiviazione di Windows Azure come una semplice applicazione: il controller non gestisce la replica dei dati. Questa operazione è gestita dal servizio di archiviazione stesso, che garantisce che le repliche dei blob, le tabelle e le code utilizzati dall'applicazione siano collocate in domini di errore diversi.

Mantenere un'applicazione in esecuzione anche in caso di problemi hardware è utile, ma non basta. Un'applicazione davvero affidabile, del tipo che Windows Azure mira a supportare, non deve necessariamente essere arrestata per essere aggiornata. Un modo per eseguire l'aggiornamento consiste nell'utilizzare l'approccio descritto in precedenza per passare dalla versione esistente di un'applicazione a una nuova versione, ma è anche possibile affidarsi ai domini di aggiornamento di Windows Azure. In base a questo secondo approccio, il controller di infrastruttura assegna istanze diverse dei ruoli di un'applicazione a diversi domini di aggiornamento. Per eseguire il deployment di una nuova versione dell'applicazione, il controller di infrastruttura distribuisce il nuovo codice a un dominio di aggiornamento alla volta, interrompendone le istanze di ruolo, aggiornando il codice per tale ruolo e quindi avviando nuove istanze. L'obiettivo è mantenere l'applicazione in esecuzione anche quando viene aggiornata. Gli utenti potrebbero accorgersi dell'aggiornamento in corso, ad esempio a causa del superiore tempo di risposta dell'applicazione quando alcune istanze vengono arrestate, e utenti diversi potrebbero avere accesso a versioni diverse dell'applicazione nel corso dell'aggiornamento. Dal punto di vista dell'utente, comunque, l'applicazione nel suo insieme rimane sempre disponibile.

È importante non confondere i domini di aggiornamento, che sono una proprietà di un'applicazione, con i domini di errore, che sono una proprietà dei data center. Entrambi, tuttavia, hanno uno scopo in comune: consentire al controller di infrastruttura di mantenere continuamente in esecuzione le applicazioni Windows Azure.

Microsoft ha annunciato l'intenzione di aggiungere ulteriori funzionalità a Windows Azure nel 2011, tra cui:

Windows Azure Platform Appliance, una combinazione di hardware e software che consentirà a provider di servizi di hosting e aziende di eseguire Windows Azure nei propri data center.

Memorizzazione di contenuti dinamici nella cache della rete CDN: attualmente la rete CDN di Windows Azure supporta solamente i dati di blob. Grazie a questa funzionalità di prossima implementazione, la rete CDN sarà in grado di memorizzare nella cache contenuti creati dinamicamente da un'applicazione Windows Azure.

Creazione di snapshot dei ruoli VM: nella prima versione di Windows Azure, il ruolo VM non consente di salvare le modifiche apportate al volume del sistema operativo durante l'esecuzione. La funzionalità di creazione di snapshot offrirà un modo per salvare periodicamente lo stato di questo volume nell'archivio permanente.

Migliore supporto Java: Microsoft intende aggiungere ulteriore supporto all'attuale capacità di Windows Azure di eseguire applicazioni Java. I miglioramenti previsti includono un aumento delle prestazioni Java, un maggiore supporto degli strumenti basati su Eclipse e un set più completo di librerie Java per Windows Azure.

Come sempre, l'obiettivo di queste aggiunte è rendere questa piattaforma cloud utile in una più ampia varietà di situazioni.

You have no rights to post comments