Gerir as aplicações para vários ambientes

Os clusters do Azure Service Fabric permitem que você crie clusters usando de uma a muitos milhares de máquinas. Na maioria dos casos, você se vê tendo que implantar seu aplicativo em várias configurações de cluster: seu cluster de desenvolvimento local, um cluster de desenvolvimento compartilhado e seu cluster de produção. Todos esses clusters são considerados ambientes diferentes em que seu código deve ser executado. Os binários do aplicativo podem ser executados sem modificação nesse amplo espectro, mas você geralmente deseja configurar o aplicativo de forma diferente.

Considere dois exemplos simples:

  • Seu serviço escuta em uma porta definida, mas você precisa que essa porta seja diferente em todos os ambientes
  • Você precisa fornecer credenciais de vinculação diferentes para um banco de dados em todos os ambientes

Especificando a configuração

A configuração fornecida pode ser dividida em duas categorias:

  • Configuração que se aplica à forma como os serviços são executados
    • Por exemplo, o número da porta de um ponto de extremidade ou o número de instâncias de um serviço
    • Essa configuração é especificada no arquivo de manifesto do aplicativo ou do serviço
  • Configuração que se aplica ao código do seu aplicativo
    • Por exemplo, informações de vinculação para um banco de dados
    • Essa configuração pode ser fornecida por meio de arquivos de configuração ou variáveis de ambiente

Nota

Nem todos os atributos no arquivo de manifesto do aplicativo e do serviço suportam parâmetros. Nesses casos, você precisa confiar na substituição de cadeias de caracteres como parte do fluxo de trabalho de implantação. No Azure DevOps, você pode usar uma extensão como Substituir Tokens: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens ou no Jenkins você pode executar uma tarefa de script para substituir os valores.

Especificando parâmetros durante a criação do aplicativo

Ao criar instâncias de aplicativo nomeadas no Service Fabric, você tem a opção de passar parâmetros. A maneira como você faz isso depende de como você cria a instância do aplicativo.

  • No PowerShell, o cmdlet New-ServiceFabricApplication assume os parâmetros da aplicação como uma tabela hash.
  • Usando sfctl, o sfctl application create comando usa parâmetros como uma cadeia de caracteres JSON. O script install.sh usa sfctl.
  • Visual Studio fornece um conjunto de arquivos de parâmetro na pasta parâmetros no projeto de aplicativo. Esses arquivos de parâmetro são usados ao publicar do Visual Studio, usando os Serviços de DevOps do Azure ou o Servidor de DevOps do Azure. No Visual Studio, os arquivos de parâmetro estão sendo passados para o script Deploy-FabricApplication.ps1.

Próximos passos

Os artigos a seguir mostram como usar alguns dos conceitos descritos aqui: