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: