Esercitazione sull'aggiornamento di un'applicazione di Service Fabric tramite Visual StudioService Fabric application upgrade tutorial using Visual Studio


Azure Service Fabric semplifica il processo di aggiornamento delle applicazioni cloud garantendo che solo i servizi modificati vengano aggiornati e che l'integrità delle applicazioni venga monitorata durante l'intero processo di aggiornamento.Azure Service Fabric simplifies the process of upgrading cloud applications by ensuring that only changed services are upgraded, and that application health is monitored throughout the upgrade process. Se rileva un problema, esegue automaticamente il rollback dell'applicazione alla versione precedente.It also automatically rolls back the application to the previous version upon encountering issues. Gli aggiornamenti delle applicazioni di Service Fabric, inoltre, sono privi di tempi di inattività.Service Fabric application upgrades are Zero Downtime, since the application can be upgraded with no downtime. Questa esercitazione illustra come completare un aggiornamento in sequenza da Visual Studio.This tutorial covers how to complete a rolling upgrade from Visual Studio.

Passaggio 1: creare e pubblicare l'applicazione Oggetti visivi di esempioStep 1: Build and publish the Visual Objects sample

Innanzitutto scaricare l'applicazione Visual Objects da GitHub.First, download the Visual Objects application from GitHub. Quindi compilare e pubblicare l'applicazione facendo clic con il pulsante destro del mouse sul progetto dell'applicazione, VisualObjects, e selezionando il comando Pubblica dalla voce di menu Service Fabric.Then, build and publish the application by right-clicking on the application project, VisualObjects, and selecting the Publish command in the Service Fabric menu item.

Menu di scelta rapida per un'applicazione di Service Fabric

Selezionando Pubblica viene visualizzata una finestra popup in cui è possibile impostare il Profilo di destinazione su PublishProfiles\Local.xml.Selecting Publish brings up a popup, and you can set the Target profile to PublishProfiles\Local.xml. Fare clic su Pubblica: la finestra avrà un aspetto simile all'immagine seguente.The window should look like the following before you click Publish.

Pubblicazione di un'applicazione di Service Fabric

Fare clic su Pubblica nella finestra di dialogo.Now you can click Publish in the dialog box. È ora possibile usare Service Fabric Explorer per visualizzare il cluster e l'applicazione.You can use Service Fabric Explorer to view the cluster and the application. L'applicazione Visual Objects include un servizio Web a cui è possibile accedere digitando http://localhost:8081/visualobjects/ sulla barra degli indirizzi del browser.The Visual Objects application has a web service that you can go to by typing http://localhost:8081/visualobjects/ in the address bar of your browser. Sullo schermo verranno visualizzati dieci oggetti visivi mobili.You should see 10 floating visual objects moving around on the screen.

NOTA: in caso di distribuzione nel profilo Cloud.xml (Azure Service Fabric), l'applicazione deve quindi essere disponibile all'indirizzo http://{NomeServiceFabric}.{Area}.cloudapp.azure.com:8081/visualobjects/.NOTE: If deploying to Cloud.xml profile (Azure Service Fabric), the application should then be available at http://{ServiceFabricName}.{Region}.cloudapp.azure.com:8081/visualobjects/. Assicurarsi che 8081/TCP sia stato configurato nel servizio di bilanciamento del carico (il servizio di bilanciamento del carico si trova nello stesso gruppo di risorse dell'istanza di Service Fabric).Make sure you do have 8081/TCP configured in the Load Balancer (find the Load Balancer in the same resource group as the Service Fabric instance).

Passaggio 2: aggiornare l'applicazione Oggetti visivi di esempioStep 2: Update the Visual Objects sample

È possibile osservare come con la versione distribuita al passaggio 1 gli oggetti visivi non ruotino.You might notice that with the version that was deployed in step 1, the visual objects do not rotate. L'applicazione può essere aggiornata in modo che gli oggetti visivi ruotino.Let's upgrade this application to one where the visual objects also rotate.

Selezionare il progetto VisualObjects.ActorService nella soluzione VisualObjects e aprire il file VisualObjectActor.cs .Select the VisualObjects.ActorService project within the VisualObjects solution, and open the VisualObjectActor.cs file. All'interno del file passare al metodo MoveObject, impostare come commento visualObject.Move(false) e rimuovere il commento visualObject.Move(true).Within that file, go to the method MoveObject, comment out visualObject.Move(false), and uncomment visualObject.Move(true). Questa modifica del codice fa ruotare gli oggetti dopo l'aggiornamento del servizio.This code change rotates the objects after the service is upgraded. A questo punto è possibile compilare la soluzione (non ricompilarla), in modo che vengano compilati solo i progetti modificati.Now you can build (not rebuild) the solution, which builds the modified projects. Se si seleziona Ricompila tutto, è necessario aggiornare le versioni di tutti i progetti.If you select Rebuild all, you have to update the versions for all the projects.

È inoltre necessario specificare la versione dell'applicazione.We also need to version our application. Per apportare le modifiche di versione, fare clic con il pulsante destro del mouse sul progetto VisualObjects e scegliere l'opzione Modifica versioni del manifesto di Visual Studio.To make the version changes after you right-click on the VisualObjects project, you can use the Visual Studio Edit Manifest Versions option. Selezionando questa opzione viene visualizzata la finestra di dialogo per le versioni dell'edizione come segue:Selecting this option brings up the dialog box for edition versions as follows:

Finestra di dialogo del controllo delle versioni

Aggiornare le versioni per i progetti modificati, i relativi pacchetti di codice e l'applicazione alla versione 2.0.0.Update the versions for the modified projects and their code packages, along with the application to version 2.0.0. Dopo aver apportate le modifiche, il manifesto dovrebbe essere simile al seguente (le parti in grassetto indicano le modifiche):After the changes are made, the manifest should look like the following (bold portions show the changes):

Aggiornamento di versioni

Gli strumenti di Visual Studio possono eseguire il rollup automatico delle versioni quando si seleziona l'opzione Aggiorna automaticamente le versioni di applicazioni e servizi.The Visual Studio tools can do automatic rollups of versions upon selecting Automatically update application and service versions. Se si usa SemVerè necessario aggiornare il codice e/o solo la versione del pacchetto di configurazione se è selezionata questa opzione.If you use SemVer, you need to update the code and/or configuration package version alone if that option is selected.

Salvare le modifiche e controllare la casella Aggiorna l'applicazione .Save the changes, and now check the Upgrade the Application box.

Passaggio 3: Aggiornare l'applicazioneStep 3: Upgrade your application

È consigliabile acquisire familiarità con i parametri di aggiornamento dell'applicazione e con il processo di aggiornamento per conoscere i vari parametri di aggiornamento, i valori di timeout e i criteri di integrità applicabili.Familiarize yourself with the application upgrade parameters and the upgrade process to get a good understanding of the various upgrade parameters, time-outs, and health criterion that can be applied. Per questa procedura dettagliata si usa l'impostazione predefinita per il criterio di valutazione dell'integrità del servizio (modalità UnMonitored).For this walkthrough, the service health evaluation criterion is set to the default (unmonitored mode). È possibile configurare queste impostazioni selezionando l'opzione Configura le impostazioni di aggiornamento e modificando i parametri in base alle esigenze.You can configure these settings by selecting Configure Upgrade Settings and then modifying the parameters as desired.

È ora possibile avviare l'aggiornamento dell'applicazione selezionando il pulsante Pubblica.Now we are all set to start the application upgrade by selecting Publish. L'applicazione viene aggiornata alla versione 2.0.0, che supporta la rotazione degli oggetti.This option upgrades your application to version 2.0.0, in which the objects rotate. Service Fabric aggiorna un dominio di aggiornamento alla volta (alcuni oggetti vengono aggiornati prima, altri dopo) e durante l'aggiornamento il servizio rimane accessibile.Service Fabric upgrades one update domain at a time (some objects are updated first, followed by others), and the service remains accessible during the upgrade. L'accesso al servizio può essere controllato tramite il client (browser).Access to the service can be checked through your client (browser).

È ora possibile monitorare lo stato di avanzamento dell'aggiornamento dell'applicazione tramite Service Fabric Explorer, usando la scheda Upgrades in Progress (Aggiornamenti in corso) sotto le applicazioni.Now, as the application upgrade proceeds, you can monitor it with Service Fabric Explorer, by using the Upgrades in Progress tab under the applications.

In pochi minuti tutti i domini di aggiornamento devono essere aggiornati (completati) e la finestra di output di Visual Studio deve inoltre indicare che l'aggiornamento è stato completato.In a few minutes, all update domains should be upgraded (completed), and the Visual Studio output window should also state that the upgrade is completed. A questo punto tutti gli oggetti visivi nella finestra del browser avranno iniziato a ruotare.And you should find that all the visual objects in your browser window are now rotating!

Come esercitazione, è possibile provare a cambiare le versioni e a passare dalla versione 2.0.0 alla versione 3.0.0 oppure addirittura dalla versione 2.0.0 alla versione 1.0.0.You may want to try changing the versions, and moving from version 2.0.0 to version 3.0.0 as an exercise, or even from version 2.0.0 back to version 1.0.0. Esercitarsi inoltre con i timeout e i criteri di integrità per acquisire familiarità anche con questi concetti.Play with time-outs and health policies to make yourself familiar with them. Quando si esegue la distribuzione in un cluster di Azure, invece che in un cluster locale, i parametri usati possono essere diversi.When deploying to an Azure cluster as opposed to a local cluster, the parameters used may have to differ. È consigliabile impostare i timeout su valori contenuti.We recommend that you set the time-outs conservatively.

Passaggi successiviNext steps

Aggiornamento di un'applicazione di Service Fabric mediante PowerShell descrive la procedura di aggiornamento di un'applicazione tramite PowerShell.Upgrading your application using PowerShell walks you through an application upgrade using PowerShell.

Controllare l'aggiornamento dell'applicazione tramite i parametri di aggiornamento.Control how your application is upgraded by using upgrade parameters.

Rendere compatibili gli aggiornamenti dell'applicazione imparando a usare la serializzazione dei dati.Make your application upgrades compatible by learning how to use data serialization.

Per informazioni su come usare funzionalità avanzate durante l'aggiornamento dell'applicazione, vedere Argomenti avanzati.Learn how to use advanced functionality while upgrading your application by referring to Advanced topics.

Per informazioni su come risolvere problemi comuni negli aggiornamenti dell'applicazione, vedere i passaggi indicati in Risoluzione dei problemi relativi agli aggiornamenti dell'applicazione.Fix common problems in application upgrades by referring to the steps in Troubleshooting application upgrades.