Perché scegliere Servizi cloud di AzureShould I choose Azure Cloud Services or something else?

Servizi cloud di Azure è la scelta giusta?Is Azure Cloud Services the choice for you? In Azure sono disponibili diversi modelli di hosting per l'esecuzione di applicazioni.Azure provides different hosting models for running applications. Ognuno fornisce un diverso set di servizi.Each one provides a different set of services. Quello da scegliere dipende dalle attività che si tenta di eseguire.Which one you choose depends on exactly what you're trying to do.

Opzioni di calcoloCompute Options AudienceAudience
Servizio appApp Service App per dispositivi mobili, app per le API, app per la logica e app Web scalabili per qualsiasi dispositivoScalable Web Apps, Mobile Apps, API Apps, and Logic Apps for any device
Servizi cloudCloud Services App per cloud a più livelli scalabili e altamente disponibili con maggiore controllo del sistema operativoHighly available, scalable n-tier cloud apps with more control of the OS
Macchine virtualiVirtual Machines Macchine virtuali Windows e Linux personalizzate con controllo completo del sistema operativoCustomized Windows and Linux VMs with complete control of the OS

Informazioni su Servizi cloud di AzureTell me about Azure Cloud Services

Servizi cloud di Azure è un esempio di piattaforma distribuita come servizio (PaaS).Azure Cloud Services is an example of a platform as a service (PaaS). Analogamente a Servizio app di Azure, questa tecnologia è stata progettata per supportare applicazioni scalabili, attendibili ed economicamente efficienti.Like Azure App Service, this technology is designed to support applications that are scalable, reliable, and inexpensive to operate. Proprio come Servizio app, anche Servizi cloud di Azure è ospitato in macchine virtuali (VM).In the same way that App Service is hosted on virtual machines (VMs), so too is Azure Cloud Services. Tuttavia, il controllo sulle macchine virtuali è maggiore.However, you have more control over the VMs. È possibile installare software personalizzato nelle macchine virtuali che usano Servizi cloud di Azure e accedervi in remoto.You can install your own software on VMs that use Azure Cloud Services, and you can access them remotely.

Schema di Servizi cloud di Azure

Maggiore controllo significa anche minore semplicità d'uso.More control also means less ease of use. Pertanto, se non sono necessarie opzioni di controllo aggiuntive, in genere è più semplice e rapido creare ed eseguire un'applicazione Web nella funzionalità App Web di Servizio app che non in Servizi cloud di Azure.Unless you need the additional control options, it's typically quicker and easier to get a web application up and running in the Web Apps feature of App Service compared to Azure Cloud Services.

Sono disponibili due tipi di ruoli di Servizi cloud di Azure.There are two types of Azure Cloud Services roles. L'unica differenza tra i due è il modo in cui il ruolo è ospitato nella macchina virtuale:The only difference between the two is how your role is hosted on the VMs:

  • Ruolo Web: distribuisce e ospita automaticamente l'app tramite IIS.Web role: Automatically deploys and hosts your app through IIS.

  • Ruolo di lavoro: non usa IIS ed esegue l'app autonomamente.Worker role: Does not use IIS, and runs your app standalone.

Ad esempio, un'applicazione semplice può usare un solo ruolo Web che serve un sito Web.For example, a simple application might use just a single web role, serving a website. 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.A more complex application might use a web role to handle incoming requests from users, and then pass those requests on to a worker role for processing. Per questa comunicazione potrebbe essere usato il bus di servizio di Azure o l'archiviazione code di Azure.(This communication might use Azure Service Bus or Azure Queue storage.)

Come illustrato nella figura precedente, tutte le VM in una singola applicazione vengono eseguite nello stesso servizio cloud.As the preceding figure suggests, all the VMs in a single application run in the same cloud service. Gli utenti accedono all'applicazione attraverso un indirizzo IP pubblico che esegue automaticamente il bilanciamento del carico delle richieste nelle VM dell'applicazione.Users access the application through a single public IP address, with requests automatically load balanced across the application's VMs. 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.The platform scales and deploys the VMs in an Azure Cloud Services application in a way that avoids a single point of hardware failure.

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).Even though applications run in VMs, it's important to understand that Azure Cloud Services provides PaaS, not infrastructure as a service (IaaS). La spiegazione seguente aiuta a comprendere meglio il concetto.Here's one way to think about it. Un'infrastruttura IaaS, quale Macchine virtuali di Azure, consente di creare e configurare prima di tutto l'ambiente in cui l'applicazione viene eseguita,With IaaS, such as Azure Virtual Machines, you first create and configure the environment your application runs in. quindi di distribuire l'applicazione in tale ambiente.Then you deploy your application into this environment. L'utente ha la responsabilità di gestire questo ambiente, ad esempio distribuendo nuove versioni con patch del sistema operativo in ogni macchina virtuale.You're responsible for managing much of this world, by doing things such as deploying new patched versions of the operating system in each VM. La tecnologia PaaS, invece, consente di procedere come se l'ambiente esistesse già.In PaaS, by contrast, it's as if the environment already exists. È sufficiente è distribuire l'applicazione.All you have to do is deploy your application. La gestione della piattaforma in cui viene eseguita l'applicazione, inclusa la distribuzione di nuove versioni del sistema operativo, non è a carico dell'utente.Management of the platform it runs on, including deploying new versions of the operating system, is handled for you.

Scalabilità e gestioneScaling and management

Se si usa Servizi cloud di Azure, non è necessario creare macchine virtuali.With Azure Cloud Services, you don't create virtual machines. 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".Instead, you provide a configuration file that tells Azure how many of each you'd like, such as "three web role instances" and "two worker role instances." Le macchine virtuali vengono poi create automaticamente dalla piattaforma.The platform then creates them for you. L'utente decide le dimensioni delle macchine virtuali di supporto, ma non le crea esplicitamente.You still choose what size those backing VMs should be, but you don't explicitly create them yourself. Se l'applicazione deve gestire un carico maggiore, è possibile richiedere VM aggiuntive e tali istanze verranno create automaticamente da Azure.If your application needs to handle a greater load, you can ask for more VMs, and Azure creates those instances. Se il carico diminuisce, è possibile chiudere tali istanze e interromperne il pagamento.If the load decreases, you can shut down those instances and stop paying for them.

Un'applicazione di Servizi cloud di Azure viene in genere resa disponibile agli utenti mediante un processo in due fasi.An Azure Cloud Services application is typically made available to users via a two-step process. Prima di tutto lo sviluppatore carica l'applicazione nell'area di gestione temporanea della piattaforma.A developer first uploads the application to the platform's staging area. Quando lo sviluppatore è pronto per l'attivazione dell'applicazione, usa il portale per il passaggio in produzione.When the developer is ready to make the application live, they use the Azure portal to swap staging with production. 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.This switch between staging and production can be done with no downtime, which lets a running application be upgraded to a new version without disturbing its users.

MonitoraggioMonitoring

Servizi cloud di Azure offre inoltre funzionalità di monitoraggio.Azure Cloud Services also provides monitoring. Analogamente a Macchine virtuali, rileva un server fisico in errore e riavvia le VM in esecuzione su tale server in una nuova macchina.Like Virtual Machines, it detects a failed physical server and restarts the VMs that were running on that server on a new machine. Servizi cloud di Azure consente inoltre di rilevare errori di macchine virtuali e applicazioni, non solo errori hardware.But Azure Cloud Services also detects failed VMs and applications, not just hardware failures. 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.Unlike Virtual Machines, it has an agent inside each web and worker role, and so it's able to start new VMs and application instances when failures occur.

L'uso della tecnologia PaaS da parte di Servizi cloud di Azure comporta anche altre implicazioni,The PaaS nature of Azure Cloud Services has other implications, too. ad esempio il fatto che le applicazioni basate su tale tecnologia devono essere scritte in modo da essere eseguite correttamente in caso di errore di istanze dei ruoli Web o di lavoro.One of the most important is that applications built on this technology should be written to run correctly when any web or worker role instance fails. A tale scopo, è necessario che lo stato di un'applicazione di Servizi cloud di Azure non venga salvato nel file system delle rispettive macchine virtuali.To achieve this, an Azure Cloud Services application shouldn't maintain state in the file system of its own VMs. A differenza delle VM create tramite Macchine virtuali, le operazioni di scrittura effettuate nelle VM di Servizi cloud di Azure non sono persistenti.Unlike VMs created with Virtual Machines, writes made to Azure Cloud Services VMs aren't persistent. La persistenza è offerta solo dai dischi dati di Macchine virtuali.There's nothing like a Virtual Machines data disk. È 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.Instead, an Azure Cloud Services application should explicitly write all state to Azure SQL Database, blobs, tables, or some other external storage. Le applicazioni create in questo modo risulteranno più scalabili e più resistenti agli errori, due obiettivi essenziali di Servizi cloud di Azure.Building applications this way makes them easier to scale and more resistant to failure, which are both important goals of Azure Cloud Services.

Passaggi successiviNext steps