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
 

Immaginiamo che un'azienda desideri creare un'applicazione Web accessibile da Internet. La scelta standard oggi sarebbe quella di eseguire l'applicazione in un data center interno all'azienda o presso un apposito provider. In molti casi, però, la scelta migliore è affidarsi a una piattaforma cloud come Windows Azure. Se ad esempio un'applicazione ha la necessità di gestire un elevato numero di utenti simultanei, realizzarla su una piattaforma dedicata espressamente a questo scopo avrebbe più senso. Il supporto intrinseco per applicazioni e dati scalabili fornito da Windows Azure consente di gestire carichi decisamente superiori rispetto alle tradizionali tecnologie Web.

Supponiamo invece che il carico dell'applicazione subisca notevoli variazioni, con picchi di utilizzo alternati a periodi di calma. Questo comportamento è tipico ad esempio di sistemi di biglietteria online, siti di notizie con scoop occasionali, applicazioni utilizzate prevalentemente in particolari orari del giorno e così via. Eseguire simili applicazioni in un data center convenzionale comporterebbe la necessità di disporre in ogni momento di computer sufficienti ad affrontare i picchi, anche se tali computer rimarrebbero inutilizzati per lunghi periodi. Con le stesse applicazioni in Windows Azure, invece, l'azienda potrebbe espandere il numero di istanze ogni volta che si rendesse necessario e tornare a un numero ridotto di istanze nelle condizioni di normalità. Poiché il costo di Windows Azure si basa sull'utilizzo effettivo, ovvero sulle ore di utilizzo di ciascuna istanza, questa soluzione nella maggior parte dei casi potrebbe rivelarsi più conveniente rispetto alla manutenzione di computer che rimangono per lo più inutilizzati.

Per creare un'applicazione Web altamente scalabile in Windows Azure, gli sviluppatori possono utilizzare ruoli Web e tabelle, come illustrato nella figura 8..

 

Figura8: un'applicazione Web scalabile può utilizzare istanze di ruolo Web e tabelle.

Nell'esempio illustrato nella figura i client sono browser, pertanto la logica dell'applicazione può essere implementata utilizzando ASP.NET o un'altra tecnologia Web. È inoltre possibile, ad esempio, creare un'applicazione Web scalabile che espone servizi Web REST e/o basati su SOAP utilizzando WCF, quindi chiamare tali servizi da un client Silverlight. In ogni caso, lo sviluppatore specifica il numero di istanze del ruolo Web da eseguire e il controller di infrastruttura di Windows Azure crea il numero di macchine virtuali corrispondenti. Come accennato in precedenza, il controller di infrastruttura esegue anche il monitoraggio di queste istanze, assicurandone il giusto numero in ogni momento. Per l'archiviazione dei dati, l'applicazione utilizza le tabelle di archiviazione di Windows Azure, che forniscono capacità di scalabilità orizzontale dell'archiviazione, gestendo ingenti quantità di dati.

Torna all'articolo principale

Articolo succassivo

You have no rights to post comments