Ciclo di vita dell'applicazione Service FabricService Fabric application lifecycle

Analogamente ad altre piattaforme, un'applicazione su Service Fabric di Azure in genere passa attraverso le fasi seguenti: progettazione, sviluppo, test, distribuzione, aggiornamento, manutenzione e rimozione.As with other platforms, an application on Azure Service Fabric usually goes through the following phases: design, development, testing, deployment, upgrading, maintenance, and removal. Service Fabric di Azure offre un supporto di prima categoria per l'intero ciclo di vita delle applicazioni cloud, dallo sviluppo alla distribuzione, alla gestione giornaliera, alla manutenzione e infine alla rimozione delle autorizzazioni.Service Fabric provides first-class support for the full application lifecycle of cloud applications, from development through deployment, daily management, and maintenance to eventual decommissioning. Il modello di servizio abilita diversi ruoli per la partecipazione indipendente al ciclo di vita delle applicazioni.The service model enables several different roles to participate independently in the application lifecycle. Questo articolo offre una panoramica delle interfacce API e del modo in cui vengono utilizzate dai diversi ruoli nelle fasi del ciclo di vita di un'applicazione di Service Fabric.This article provides an overview of the APIs and how they are used by the different roles throughout the phases of the Service Fabric application lifecycle.

Importante

Sono disponibili due utilità dell'interfaccia della riga di comando per interagire con Service Fabric.There are two CLI utilities used to interact with Service Fabric. L'interfaccia della riga di comando di Azure viene usata per gestire le risorse di Azure, ad esempio un cluster di Service Fabric ospitato in Azure.Azure CLI is used to manage Azure resources, such as an Azure-hosted Service Fabric cluster. L'interfaccia della riga di comando di Service Fabric viene usata per connettersi direttamente al cluster di Service Fabric (indipendentemente dalla posizione in cui è ospitato) e gestire il cluster, le applicazioni e i servizi.Service Fabric CLI is used to directly connect to the Service Fabric cluster (regardless of where it's hosted) and manage the cluster, applications, and services.

Il video di Microsoft Virtual Academy seguente illustra come gestire il ciclo di vita dell'applicazione:

The following Microsoft Virtual Academy video describes how to manage your application lifecycle:

Ruoli del modello di servizioService model roles

I ruoli del modello di servizio sono i seguenti:The service model roles are:

  • Sviluppatore di servizi: sviluppa servizi modulari e generici che possono essere rimaneggiati per modificarne i fini e usati in più applicazioni dello stesso tipo o di tipi diversi.Service developer: Develops modular and generic services that can be re-purposed and used in multiple applications of the same type or different types. Un servizio di accodamento ad esempio può essere usato per creare un'applicazione di controllo di attività e richieste basata su ticket (supporto tecnico) o un'applicazione di e-commerce (carrello acquisti).For example, a queue service can be used for creating a ticketing application (helpdesk) or an e-commerce application (shopping cart).
  • Sviluppatore di applicazioni: crea applicazioni integrando una raccolta di servizi per soddisfare determinati requisiti o scenari.Application developer: Creates applications by integrating a collection of services to satisfy certain specific requirements or scenarios. Un sito Web di e-commerce ad esempio può integrare i servizi "JSON Stateless Front-end Service", "Auction Stateful Service" e "Queue Stateful Service" per creare una soluzione per vendite all'asta.For example, an e-commerce website might integrate “JSON Stateless Front-End Service,” “Auction Stateful Service,” and “Queue Stateful Service” to build an auctioning solution.
  • Amministratore di applicazioni: prende decisioni relative alla configurazione (specificando i parametri del modello di configurazione), alla distribuzione (eseguendo il mapping con le risorse disponibili) e alla qualità del servizio delle applicazioni.Application administrator: Makes decisions on the application configuration (filling in the configuration template parameters), deployment (mapping to available resources), and quality of service. Un amministratore di applicazioni ad esempio decide le impostazioni locali della lingua (come inglese per gli Stati Uniti o giapponese per Giappone) dell'applicazione.For example, an application administrator decides the language locale (English for the United States or Japanese for Japan, for example) of the application. Un'altra applicazione distribuita può avere impostazioni diverse.A different deployed application can have different settings.
  • Operatore: distribuisce le applicazioni in base alla configurazione e ai requisiti specificati dall'amministratore di applicazioni.Operator: Deploys applications based on the application configuration and requirements specified by the application administrator. Un operatore ad esempio effettua il provisioning e la distribuzione dell'applicazione e verifica che sia in esecuzione in Azure.For example, an operator provisions and deploys the application and ensures that it is running in Azure. Gli operatori monitorano l'integrità e le informazioni sulle prestazioni delle applicazioni e gestiscono l'infrastruttura fisica a seconda delle esigenze.Operators monitor application health and performance information and maintain the physical infrastructure as needed.

SviluppareDevelop

  1. Uno sviluppatore di servizi sviluppa diversi tipi di servizi usando il modello di programmazione Reliable Actors o Reliable Services.A service developer develops different types of services using the Reliable Actors or Reliable Services programming model.
  2. Uno sviluppatore di servizi descrive in modo dichiarativo i tipi di servizi sviluppati in un file manifesto del servizio da uno o più pacchetti di codice, configurazione e dati.A service developer declaratively describes the developed service types in a service manifest file consisting of one or more code, configuration, and data packages.
  3. Uno sviluppatore di applicazioni compila quindi un'applicazione usando diversi tipi di servizi.An application developer then builds an application using different service types.
  4. Uno sviluppatore di applicazioni descrive in modo dichiarativo il tipo di applicazione nel manifesto di un'applicazione facendo riferimento ai manifesti dei servizi costituenti ed eseguendo in modo appropriato l'override e la parametrizzazione delle diverse impostazioni di configurazione e distribuzione dei servizi costituenti.An application developer declaratively describes the application type in an application manifest by referencing the service manifests of the constituent services and appropriately overriding and parameterizing different configuration and deployment settings of the constituent services.

Per gli esempi, vedere gli articoli relativi all'introduzione ai modelli di programmazione Reliable Actors e all'introduzione ai modelli di programmazione Reliable Services.See Get started with Reliable Actors and Get started with Reliable Services for examples.

DistribuisciDeploy

  1. Un amministratore di applicazioni personalizza il tipo di applicazione in un'applicazione specifica da distribuire in un cluster di Service Fabric specificando i parametri appropriati dell'elemento ApplicationType nel manifesto dell'applicazione.An application administrator tailors the application type to a specific application to be deployed to a Service Fabric cluster by specifying the appropriate parameters of the ApplicationType element in the application manifest.
  2. Un operatore carica il pacchetto dell'applicazione nell'archivio immagini cluster usando il metodo CopyApplicationPackage o il cmdlet Copy-ServiceFabricApplicationPackage.An operator uploads the application package to the cluster image store by using the CopyApplicationPackage method or the Copy-ServiceFabricApplicationPackage cmdlet. Il pacchetto applicazione contiene il manifesto dell'applicazione e la raccolta di pacchetti servizio.The application package contains the application manifest and the collection of service packages. Service Fabric distribuisce le applicazioni dal relativo pacchetto archiviato nell’archivio immagini, che può essere un archivio BLOB di Azure o un servizio di sistema di Service Fabric.Service Fabric deploys applications from the application package stored in the image store, which can be an Azure blob store or the Service Fabric system service.
  3. L'operatore esegue quindi il provisioning del tipo di applicazione nel cluster di destinazione dal pacchetto dell'applicazione caricato mediante il metodo ProvisionApplicationAsync, il cmdlet Register-ServiceFabricApplicationType o l'operazione provisioning di un'applicazione REST.The operator then provisions the application type in the target cluster from the uploaded application package using the ProvisionApplicationAsync method, the Register-ServiceFabricApplicationType cmdlet, or the Provision an Application REST operation.
  4. Dopo aver eseguito il provisioning dell'applicazione, un operatore avvia l'applicazione con i parametri forniti dall'amministratore di applicazioni mediante il metodo CreateApplicationAsync, il cmdlet New-ServiceFabricApplication o l'operazione Create Application REST.After provisioning the application, an operator starts the application with the parameters supplied by the application administrator using the CreateApplicationAsync method, the New-ServiceFabricApplication cmdlet, or the Create Application REST operation.
  5. Dopo la distribuzione dell'applicazione, un operatore usa il metodo CreateServiceAsync, il cmdlet New-ServiceFabricService o l'operazione Create Service REST per creare nuove istanze di servizi per l'applicazione in base ai tipi di servizio disponibili.After the application has been deployed, an operator uses the CreateServiceAsync method, the New-ServiceFabricService cmdlet, or the Create Service REST operation to create new service instances for the application based on available service types.
  6. L'applicazione è ora in esecuzione nel cluster di Service Fabric.The application is now running in the Service Fabric cluster.

Per gli esempi, vedere l'articolo relativo alla distribuzione di un'applicazione .See Deploy an application for examples.

TestTest

  1. Dopo la distribuzione nel cluster di sviluppo locale o in un cluster di test, uno sviluppatore di servizi esegue lo scenario di test di failover predefinito usando le classi FailoverTestScenarioParameters e FailoverTestScenario o il cmdlet Invoke-ServiceFabricFailoverTestScenario.After deploying to the local development cluster or a test cluster, a service developer runs the built-in failover test scenario by using the FailoverTestScenarioParameters and FailoverTestScenario classes, or the Invoke-ServiceFabricFailoverTestScenario cmdlet. Lo scenario di test di failover esegue un servizio specifico attraverso importanti transizioni e failover per verificare che sia sempre disponibile e funzionante.The failover test scenario runs a specified service through important transitions and failovers to ensure that it's still available and working.
  2. Lo sviluppatore di servizi esegue quindi lo scenario di test CHAOS predefinito usando le classi ChaosTestScenarioParameters e ChaosTestScenario o il cmdlet Invoke-ServiceFabricChaosTestScenario.The service developer then runs the built-in chaos test scenario using the ChaosTestScenarioParameters and ChaosTestScenario classes, or the Invoke-ServiceFabricChaosTestScenario cmdlet. Lo scenario di test CHAOS induce nel cluster più errori casuali di nodi, pacchetti di codice e repliche.The chaos test scenario randomly induces multiple node, code package, and replica faults into the cluster.
  3. Lo sviluppatore di servizi testa la comunicazione tra servizi creando scenari di test che spostano le repliche primarie nel cluster.The service developer tests service-to-service communication by authoring test scenarios that move primary replicas around the cluster.

Per altre informazioni, vedere la pagina sull' introduzione al servizio di analisi degli errori .See Introduction to the Fault Analysis Service for more information.

AggiornamentoUpgrade

  1. Uno sviluppatore di servizi aggiorna i servizi costituenti dell'applicazione di cui sono state create istanze e/o corregge i bug e fornisce una nuova versione del manifesto del servizio.A service developer updates the constituent services of the instantiated application and/or fixes bugs and provides a new version of the service manifest.
  2. Uno sviluppatore di applicazioni esegue l'override e la parametrizzazione delle impostazioni di configurazione e distribuzione dei servizi coerenti e fornisce una nuova versione del manifesto dell'applicazione.An application developer overrides and parameterizes the configuration and deployment settings of the consistent services and provides a new version of the application manifest. Lo sviluppatore di applicazioni incorpora quindi le nuove versioni dei manifesti dei servizi nell'applicazione e fornisce una nuova versione del tipo di applicazione in un pacchetto applicazione aggiornato.The application developer then incorporates the new versions of the service manifests into the application and provides a new version of the application type in an updated application package.
  3. Un amministratore di applicazioni incorpora la nuova versione del tipo di applicazione nell'applicazione di destinazione aggiornando i parametri appropriati.An application administrator incorporates the new version of the application type into the target application by updating the appropriate parameters.
  4. Un operatore carica il pacchetto dell'applicazione aggiornato nell'archivio immagini cluster usando il metodo CopyApplicationPackage o il cmdlet Copy-ServiceFabricApplicationPackage.An operator uploads the updated application package to the cluster image store using the CopyApplicationPackage method or the Copy-ServiceFabricApplicationPackage cmdlet. Il pacchetto applicazione contiene il manifesto dell'applicazione e la raccolta di pacchetti servizio.The application package contains the application manifest and the collection of service packages.
  5. Un operatore esegue il provisioning della nuova versione dell'applicazione nel cluster di destinazione usando il metodo ProvisionApplicationAsync, il cmdlet Register-ServiceFabricApplicationType o l'operazione Provision an Application REST.An operator provisions the new version of the application in the target cluster by using the ProvisionApplicationAsync method, the Register-ServiceFabricApplicationType cmdlet, or the Provision an Application REST operation.
  6. Un operatore aggiorna l'applicazione di destinazione alla nuova versione usando il metodo UpgradeApplicationAsync, il cmdlet Start-ServiceFabricApplicationUpgrade o l'operazione Upgrade an Application REST.An operator upgrades the target application to the new version using the UpgradeApplicationAsync method, the Start-ServiceFabricApplicationUpgrade cmdlet, or the Upgrade an Application REST operation.
  7. Un operatore controlla lo stato dell'aggiornamento usando il metodo GetApplicationUpgradeProgressAsync, il cmdlet Get-ServiceFabricApplicationUpgrade o l'operazione Get Application Upgrade Progress REST.An operator checks the progress of upgrade using the GetApplicationUpgradeProgressAsync method, the Get-ServiceFabricApplicationUpgrade cmdlet, or the Get Application Upgrade Progress REST operation.
  8. Se necessario, l'operatore modifica e riapplica i parametri dell'aggiornamento dell'applicazione corrente usando il metodo UpdateApplicationUpgradeAsync, il cmdlet Update-ServiceFabricApplicationUpgrade o l'operazione Update Application Upgrade REST.If necessary, the operator modifies and reapplies the parameters of the current application upgrade using the UpdateApplicationUpgradeAsync method, the Update-ServiceFabricApplicationUpgrade cmdlet, or the Update Application Upgrade REST operation.
  9. Se necessario, l'operatore esegue il rollback dell'aggiornamento dell'applicazione corrente usando il metodo RollbackApplicationUpgradeAsync, il cmdlet Start-ServiceFabricApplicationRollback o l'operazione Rollback Application Upgrade REST.If necessary, the operator rolls back the current application upgrade using the RollbackApplicationUpgradeAsync method, the Start-ServiceFabricApplicationRollback cmdlet, or the Rollback Application Upgrade REST operation.
  10. Service Fabric aggiorna l'applicazione di destinazione in esecuzione nel cluster senza perdere la disponibilità dei servizi costituenti.Service Fabric upgrades the target application running in the cluster without losing the availability of any of its constituent services.

Per gli esempi, vedere l'articolo relativo all' esercitazione sull'aggiornamento di un'applicazione .See the Application upgrade tutorial for examples.

Effettuare la manutenzioneMaintain

  1. Per gli aggiornamenti e le patch del sistema operativo, Service Fabric interagisce con l'infrastruttura di Azure per garantire la disponibilità di tutte le applicazioni in esecuzione nel cluster.For operating system upgrades and patches, Service Fabric interfaces with the Azure infrastructure to guarantee availability of all the applications running in the cluster.
  2. Per gli aggiornamenti e le patch della piattaforma Service Fabric, Service Fabric si aggiorna automaticamente senza perdere la disponibilità delle applicazioni in esecuzione nel cluster.For upgrades and patches to the Service Fabric platform, Service Fabric upgrades itself without losing availability of any of the applications running on the cluster.
  3. Un amministratore di applicazioni approva l'aggiunta o la rimozione di nodi da un cluster dopo aver analizzato i dati cronologici di uso della capacità e la proiezione della domanda futura.An application administrator approves the addition or removal of nodes from a cluster after analyzing historical capacity utilization data and projected future demand.
  4. Un operatore aggiunge e rimuove i nodi specificati dall'amministratore di applicazioni.An operator adds and removes nodes specified by the application administrator.
  5. Quando nel cluster vengono aggiunti nuovi nodi o rimossi nodi esistenti, Service Fabric esegue automaticamente il bilanciamento del carico delle applicazioni in esecuzione in tutti i nodi del cluster per ottenere prestazioni ottimali.When new nodes are added to or existing nodes are removed from the cluster, Service Fabric automatically load-balances the running applications across all nodes in the cluster to achieve optimal performance.

RimuovereRemove

  1. Un operatore può eliminare un'istanza specifica di un servizio in esecuzione nel cluster senza rimuovere l'intera applicazione usando il metodo DeleteServiceAsync, il cmdlet Remove-ServiceFabricService o l'operazione Delete Service REST.An operator can delete a specific instance of a running service in the cluster without removing the entire application using the DeleteServiceAsync method, the Remove-ServiceFabricService cmdlet, or the Delete Service REST operation.
  2. Un operatore può anche eliminare un'istanza di un'applicazione e tutti i relativi servizi usando il metodo DeleteApplicationAsync, il cmdlet Remove-ServiceFabricApplication o l'operazione Delete Application REST.An operator can also delete an application instance and all of its services using the DeleteApplicationAsync method, the Remove-ServiceFabricApplication cmdlet, or the Delete Application REST operation.
  3. Dopo l'arresto dell'applicazione e dei servizi, l'operatore può annullare il provisioning del tipo di applicazione usando il metodo UnprovisionApplicationAsync, il cmdlet Unregister-ServiceFabricApplicationType o l'operazione Unprovision an Application REST.Once the application and services have stopped, the operator can unprovision the application type using the UnprovisionApplicationAsync method, the Unregister-ServiceFabricApplicationType cmdlet, or the Unprovision an Application REST operation. L'annullamento del provisioning del tipo di applicazione non comporta la rimozione del pacchetto applicazione da ImageStore.Unprovisioning the application type does not remove the application package from the ImageStore. Il pacchetto applicazione dovrà essere rimosso manualmente.You must remove the application package manually.
  4. Un operatore rimuove il pacchetto dell'applicazione da ImageStore usando il metodo RemoveApplicationPackage o il cmdlet Remove-ServiceFabricApplicationPackage.An operator removes the application package from the ImageStore using the RemoveApplicationPackage method or the Remove-ServiceFabricApplicationPackage cmdlet.

Per gli esempi, vedere l'articolo relativo alla distribuzione di un'applicazione .See Deploy an application for examples.

Passaggi successiviNext steps

Per altre informazioni sullo sviluppo, il test e la gestione di applicazioni e servizi di Service Fabric, vedere:For more information on developing, testing, and managing Service Fabric applications and services, see: