Implantar um executável existente no Service Fabric

Você pode executar qualquer tipo de código, como Node.js, Java ou C++ no Azure Service Fabric como um serviço. O Service Fabric refere-se a esses tipos de serviços como executáveis convidados.

Os executáveis convidados são tratados pelo Service Fabric como serviços sem monitoração de estado. Como resultado, eles são colocados em nós em um cluster, com base na disponibilidade e em outras métricas. Este artigo descreve como empacotar e implantar um executável convidado em um cluster do Service Fabric, usando o Visual Studio ou um utilitário de linha de comando.

Nota

Um cluster do Service Fabric é um único locatário por design e os aplicativos hospedados são considerados confiáveis. Se você estiver pensando em hospedar aplicativos não confiáveis, consulte Hospedando aplicativos não confiáveis em um cluster do Service Fabric.

Benefícios da execução de um executável convidado no Service Fabric

Há várias vantagens em executar um executável convidado em um cluster do Service Fabric:

  • Elevada disponibilidade. Os aplicativos executados no Service Fabric são altamente disponíveis. O Service Fabric garante que as instâncias de um aplicativo estejam em execução.
  • Monitorização do estado de funcionamento. O monitoramento da integridade do Service Fabric deteta se um aplicativo está em execução e fornece informações de diagnóstico se houver uma falha.
  • Gerenciamento do ciclo de vida do aplicativo. Além de fornecer atualizações sem tempo de inatividade, o Service Fabric fornece reversão automática para a versão anterior se houver um evento de integridade ruim relatado durante uma atualização.
  • Densidade. Você pode executar vários aplicativos em um cluster, o que elimina a necessidade de cada aplicativo ser executado em seu próprio hardware.
  • Capacidade de descoberta: usando REST, você pode chamar o serviço de Nomenclatura do Service Fabric para localizar outros serviços no cluster.

Exemplos

Visão geral dos arquivos de manifesto do aplicativo e do serviço

Como parte da implantação de um executável convidado, é útil entender o modelo de empacotamento e implantação do Service Fabric conforme descrito no modelo de aplicativo. O modelo de empacotamento do Service Fabric depende de dois arquivos XML: o aplicativo e os manifestos de serviço. A definição de esquema para os arquivos ApplicationManifest.xml e ServiceManifest.xml é instalada com o SDK do Service Fabric em C:\Arquivos de Programas\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Manifesto do aplicativo O manifesto do aplicativo é usado para descrever o aplicativo. Ele lista os serviços que o compõem e outros parâmetros que são usados para definir como um ou mais serviços devem ser implantados, como o número de instâncias.

    No Service Fabric, um aplicativo é uma unidade de implantação e atualização. Um aplicativo pode ser atualizado como uma única unidade onde possíveis falhas e possíveis reversões são gerenciadas. O Service Fabric garante que o processo de atualização seja bem-sucedido ou, se a atualização falhar, não deixe o aplicativo em um estado desconhecido ou instável.

  • Manifesto de serviço O manifesto de serviço descreve os componentes de um serviço. Inclui dados, como o nome e o tipo de serviço, o seu código e configuração. O manifesto de serviço também inclui alguns parâmetros adicionais que podem ser usados para configurar o serviço depois de implantado.

Estrutura do arquivo do pacote de aplicativos

Para implantar um aplicativo no Service Fabric, o aplicativo deve seguir uma estrutura de diretórios predefinida. Segue-se um exemplo dessa estrutura.

|-- ApplicationPackageRoot
    |-- GuestService1Pkg
        |-- Code
            |-- existingapp.exe
        |-- Config
            |-- Settings.xml
        |-- Data
        |-- ServiceManifest.xml
    |-- ApplicationManifest.xml

O ApplicationPackageRoot contém o arquivo ApplicationManifest.xml que define o aplicativo. Um subdiretório para cada serviço incluído no aplicativo é usado para conter todos os artefatos que o serviço requer. Esses subdiretórios são os ServiceManifest.xml e, normalmente, os seguintes:

  • Código. Este diretório contém o código de serviço.
  • Configuração. Este diretório contém um arquivo Settings.xml (e outros arquivos, se necessário) que o serviço pode acessar em tempo de execução para recuperar definições de configuração específicas.
  • Dados. Este é um diretório adicional para armazenar dados locais adicionais que o serviço pode precisar. Os dados devem ser usados para armazenar apenas dados efêmeros. O Service Fabric não copia nem replica alterações no diretório de dados se o serviço precisar ser realocado (por exemplo, durante o failover).

Nota

Você não precisa criar os config diretórios e data se não precisar deles.

Próximos passos

Consulte os seguintes artigos para obter informações e tarefas relacionadas.