Panoramica dei Servizi cloud di Azure (versione classica)

Importante

Servizi cloud (versione classica) è ora deprecato per tutti i clienti a partire dal 1° settembre 2024. Eventuali distribuzioni esistenti in esecuzione saranno arrestate e chiuse da Microsoft e i dati andranno persi in modo permanente a partire da ottobre 2024. Le nuove distribuzioni devono usare il nuovo modello di distribuzione basato su Azure Resource Manager Servizi cloud di Azure (supporto esteso).

Servizi cloud di Azure è un esempio di piattaforma distribuita come servizio (PaaS). Analogamente a Servizio app di Azure, questa tecnologia è stata progettata per supportare applicazioni scalabili, attendibili ed economicamente efficienti. Proprio come Servizio app, anche Servizi cloud di Azure è ospitato in macchine virtuali (VM). Tuttavia, il controllo sulle macchine virtuali è maggiore. È possibile installare software personalizzato nelle macchine virtuali che usano Servizi cloud di Azure e accedervi in remoto.

Schema di Servizi cloud di Azure

Maggiore controllo significa anche minore semplicità d'uso. Pertanto, se non sono necessarie più opzioni di controllo, in genere è più semplice e rapido creare ed eseguire un'applicazione Web nella funzionalità App Web di Servizio app anziché in Servizi cloud di Azure.

Sono disponibili due tipi di ruoli di Servizi cloud di Azure. L'unica differenza tra i due è il modo in cui il ruolo è ospitato nella macchina virtuale:

  • Ruolo Web: distribuisce e ospita automaticamente l'app tramite Internet Information Services (IIS).

  • Ruolo di lavoro: non usa IIS ed esegue l'app autonomamente.

Ad esempio, un'applicazione semplice può usare un solo ruolo Web che serve un sito Web. Un'applicazione più complessa può usare un ruolo Web per la gestione delle richieste in arrivo dagli utenti e quindi passare tali richieste a un ruolo di lavoro per l'elaborazione. Per questa comunicazione potrebbe essere usato il bus di servizio di Azure o l'archiviazione code di Azure.

Come illustrato nella figura precedente, tutte le VM in una singola applicazione vengono eseguite nello stesso servizio cloud. Gli utenti accedono all'applicazione attraverso un indirizzo IP pubblico che esegue automaticamente il bilanciamento del carico delle richieste nelle VM dell'applicazione. La piattaforma ridimensiona e distribuisce le macchine virtuali in un'applicazione di Servizi cloud di Azure, in modo da evitare un singolo punto di errore hardware.

Anche se le applicazioni sono eseguite nelle macchine virtuali, è importante capire che Servizi cloud di Azure fornisce una piattaforma distribuita come servizio, non un'infrastruttura distribuita come servizio (IaaS). La spiegazione seguente aiuta a comprendere meglio il concetto. Un'infrastruttura IaaS, quale Macchine virtuali di Azure, consente di creare e configurare prima di tutto l'ambiente in cui l'applicazione viene eseguita, quindi di distribuire l'applicazione in tale ambiente. L'utente ha la responsabilità di gestire questo ambiente, ad esempio distribuendo nuove versioni con patch del sistema operativo in ogni macchina virtuale. La tecnologia PaaS, invece, consente di procedere come se l'ambiente esistesse già. È sufficiente è distribuire l'applicazione. La gestione della piattaforma in cui viene eseguita l'applicazione, inclusa la distribuzione di nuove versioni del sistema operativo, non è a carico dell'utente.

Scalabilità e gestione

Se si usa Servizi cloud di Azure, non è necessario creare macchine virtuali. Si fornisce invece un file di configurazione che specifica ad Azure quante macchine virtuali di ogni tipo sono richieste, ad esempio "tre istanze del ruolo Web" e "due istanze del ruolo di lavoro". Le macchine virtuali vengono poi create automaticamente dalla piattaforma. L'utente decide le dimensioni delle macchine virtuali di supporto, ma non le crea esplicitamente. Se l'applicazione deve gestire un carico maggiore, è possibile richiedere VM aggiuntive e tali istanze verranno create automaticamente da Azure. Se il carico diminuisce, è possibile chiudere tali istanze e interromperne il pagamento.

Un'applicazione di Servizi cloud di Azure viene in genere resa disponibile agli utenti mediante un processo in due fasi. Prima di tutto lo sviluppatore carica l'applicazione nell'area di gestione temporanea della piattaforma. Quando lo sviluppatore è pronto per l'attivazione dell'applicazione, usa il portale per il passaggio in produzione. Il passaggio dalla gestione temporanea alla produzione può essere eseguito senza tempi di inattività, consentendo l'aggiornamento di un'applicazione in esecuzione a una nuova versione senza interferire con l'uso da parte degli utenti.

Monitoraggio

Servizi cloud di Azure offre inoltre funzionalità di monitoraggio. Analogamente a Macchine virtuali, rileva un server fisico in errore e riavvia le VM in esecuzione su tale server in una nuova macchina. Servizi cloud di Azure consente inoltre di rilevare errori di macchine virtuali e applicazioni, non solo errori hardware. A differenza di Macchine virtuali, dispone di un agente in ogni ruolo Web e di lavoro ed è quindi in grado di avviare nuove macchine virtuali e istanze di applicazione in caso di errori.

L'uso della tecnologia PaaS da parte di Servizi cloud di Azure comporta anche altre implicazioni, Una delle più importanti implicazioni è che è necessario compilare le applicazioni basate su questa tecnologia in modo che vengano eseguite correttamente quando qualsiasi istanza Web o di un ruolo di lavoro ha esito negativo. A tale scopo, un'applicazione di Servizi cloud di Azure non deve conservare lo stato nel file system delle rispettive macchine virtuali. A differenza delle VM create tramite Macchine virtuali, le operazioni di scrittura effettuate nelle VM di Servizi cloud di Azure non sono persistenti. La persistenza è offerta solo dai dischi dati di Macchine virtuali. È pertanto necessario che tutti gli stati di un'applicazione di Servizi cloud di Azure vengano scritti esplicitamente nel database SQL di Azure, in BLOB, tabelle o altre risorse di archiviazione esterne. La compilazione delle applicazioni con questa modalità semplifica la scalabilità e la resistenza agli errori. La scalabilità e la resilienza sono entrambi obiettivi importanti di Servizi cloud di Azure.

Passaggi successivi