Gestire le applicazioni per più ambienti

Azure Service Fabric consente di creare cluster usando un numero variabile di computer, da uno solo fino a molte migliaia. Nella maggior parte dei casi risulta necessario distribuire l'applicazione in più configurazioni cluster, ad esempio cluster di sviluppo locale, di sviluppo condiviso e di produzione. Tutti questi cluster vengono considerati ambienti diversi in cui deve essere eseguito il codice. I file binari dell'applicazione possono essere eseguiti senza modifiche nei diversi ambienti, ma è spesso consigliabile definire diverse configurazioni per l'applicazione.

Si prendano in considerazione due semplici esempi:

  • Il servizio è in ascolto su una porta definita, ma il numero di porta deve essere diverso per i vari ambienti
  • È necessario fornire credenziali di binding diverse per un database nei vari ambienti

Definizione della configurazione

È possibile definire due diversi tipi di configurazione:

  • Configurazione applicabile alla modalità di esecuzione dei servizi
    • Ad esempio, il numero di porta per un endpoint o il numero di istanze di un servizio
    • Questa configurazione è specificata nel file manifesto dell'applicazione o del servizio
  • Configurazione applicabile al codice dell'applicazione
    • Ad esempio, le informazioni di binding per un database
    • Questa configurazione può essere specificata tramite file di configurazione o variabili di ambiente

Nota

Non tutti gli attributi nei file manifesto dell'applicazione e del servizio supportano parametri. In questi casi, è necessario ricorrere alla sostituzione di stringhe come parte del flusso di lavoro di distribuzione. In DevOps di Azure è possibile usare un'estensione come Replace token: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens oppure in Jenkins è possibile eseguire un'attività script per sostituire i valori.

Definizione dei parametri durante la creazione dell'applicazione

Quando si creano istanze di un'applicazione denominata in Service Fabric, si ha la possibilità di passare parametri. La modalità di esecuzione di questa operazione dipende da come si crea l'istanza dell'applicazione.

  • In PowerShell il cmdlet New-ServiceFabricApplication accetta i parametri delle applicazioni come tabella hash.
  • Se si usa sfctl, il comando sfctl application create accetta i parametri come stringa JSON. Lo script install.sh usa sfctl.
  • In Visual Studio, nella cartella Parametri del progetto dell'applicazione, è disponibile un set di file di parametri Questi file di parametri vengono usati durante la pubblicazione da Visual Studio, usando Azure DevOps Services o Azure DevOps Server. In Visual Studio i file di parametri vengono passati allo script Deploy-FabricApplication.ps1.

Passaggi successivi

Gli articoli seguenti illustrano come applicare alcuni dei concetti descritti in questo articolo: