Implantar um executável existente no Service FabricDeploy an existing executable to Service Fabric

Você pode executar qualquer tipo de código, como Node.js, Java ou C++ no Service Fabric como um serviço.You can run any type of code, such as Node.js, Java, or C++ in Azure Service Fabric as a service. O Service Fabric se refere a esses tipos de serviço como executáveis convidados.Service Fabric refers to these types of services as guest executables.

Os executáveis convidados são tratados pela Service Fabric como serviços sem monitoração de estado.Guest executables are treated by Service Fabric like stateless services. Como resultado, eles são colocados em nós em um cluster, com base na disponibilidade e em outras métricas.As a result, they are placed on nodes in a cluster, based on availability and other metrics. 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.This article describes how to package and deploy a guest executable to a Service Fabric cluster, by using Visual Studio or a command-line utility.

Benefícios de executar um executável convidado no Service FabricBenefits of running a guest executable in Service Fabric

Há várias vantagens de executar um convidado executável em um cluster de Service Fabric:There are several advantages to running a guest executable in a Service Fabric cluster:

  • Alta disponibilidade.High availability. Os aplicativos que são executados no Service Fabric estão no modo de alta disponibilidade.Applications that run in Service Fabric are made highly available. O Service Fabric garante que as instâncias de um aplicativo estão em execução.Service Fabric ensures that instances of an application are running.
  • Monitoramento de integridade.Health monitoring. O monitoramento de integridade do Service Fabric detecta se um aplicativo está em execução e fornece informações de diagnóstico se houver uma falha.Service Fabric health monitoring detects if an application is running, and provides diagnostic information if there is a failure.
  • Gerenciamento do ciclo de vida do aplicativo.Application lifecycle management. Além de oferecer atualizações sem tempo de inatividade, o Service Fabric fornecerá reversão automática da versão anterior, se houver um evento de integridade deficiente durante uma atualização.Besides providing upgrades with no downtime, Service Fabric provides automatic rollback to the previous version if there is a bad health event reported during an upgrade.
  • Densidade.Density. Você pode executar vários aplicativos no cluster, o que elimina a necessidade um hardware próprio para a execução de cada aplicativo.You can run multiple applications in a cluster, which eliminates the need for each application to run on its own hardware.
  • Capacidade de descoberta: Usando o REST, você pode chamar o serviço de nomenclatura do Service Fabric para localizar outros serviços no cluster.Discoverability: Using REST you can call the Service Fabric Naming service to find other services in the cluster.

AmostrasSamples

Visão geral do aplicativo e dos arquivos de manifesto do serviçoOverview of application and service manifest files

Como parte da implantação de um executável convidado, é útil entender o modelo de implantação e empacotamento do Service Fabric conforme descrito no modelo de aplicativo.As part of deploying a guest executable, it is useful to understand the Service Fabric packaging and deployment model as described in application model. O modelo de empacotamento do Service Fabric depende de dois arquivos XML: o aplicativo e o manifesto do serviço.The Service Fabric packaging model relies on two XML files: the application and service manifests. A definição de esquema dos 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.The schema definition for the ApplicationManifest.xml and ServiceManifest.xml files is installed with the Service Fabric SDK into C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Manifesto do aplicativo O manifesto do aplicativo é usado para descrever o aplicativo.Application manifest The application manifest is used to describe the application. Ele lista os serviços que o compõem e os outros parâmetros usados para definir como um ou mais serviços devem ser implantados, como o número de instâncias.It lists the services that compose it, and other parameters that are used to define how one or more services should be deployed, such as the number of instances.

    No Service Fabric, um aplicativo é uma unidade de implantação e atualização.In Service Fabric, an application is a unit of deployment and upgrade. Um aplicativo pode ser atualizado como uma única unidade em que falhas e reversões potencias são gerenciadas.An application can be upgraded as a single unit where potential failures and potential rollbacks are managed. O Service Fabric garante que o processo de atualização seja completamente bem-sucedido ou, se a atualização falhar, ele não deixará o aplicativo em um estado desconhecido/instável.Service Fabric guarantees that the upgrade process is either successful, or, if the upgrade fails, does not leave the application in an unknown or unstable state.

  • Manifesto do serviço O manifesto do serviço descreve os componentes de um serviço.Service manifest The service manifest describes the components of a service. Ele inclui dados como o nome e o tipo do serviço e seu código e configuração.It includes data, such as the name and type of service, and its code and configuration. O manifesto do serviço também inclui alguns parâmetros adicionais que podem ser usados para configurar o serviço após sua implantação.The service manifest also includes some additional parameters that can be used to configure the service once it is deployed.

Estrutura de arquivos do pacote de aplicativosApplication package file structure

Para implantar um aplicativo no Service Fabric, o aplicativo deve seguir uma estrutura de diretórios predefinida.To deploy an application to Service Fabric, the application should follow a predefined directory structure. A seguir está um exemplo dessa estrutura.The following is an example of that structure.

|-- 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.The ApplicationPackageRoot contains the ApplicationManifest.xml file that defines the application. Um subdiretório para cada serviço incluído no aplicativo é usado para conter todos os artefatos que o serviço requer.A subdirectory for each service included in the application is used to contain all the artifacts that the service requires. Esses subdiretórios são ServiceManifest.xml e, normalmente, o seguinte:These subdirectories are the ServiceManifest.xml and, typically, the following:

  • Código.Code. Esse diretório contém o código de serviço.This directory contains the service code.
  • Config. Esse diretório contém o arquivo Settings.xml (e outros arquivos, se necessário) que o serviço pode acessar no tempo de execução para recuperar definições de configuração específicas.Config. This directory contains a Settings.xml file (and other files if necessary) that the service can access at runtime to retrieve specific configuration settings.
  • Dados.Data. Esse é um diretório adicional para armazenar dados locais adicionais que podem ser necessário para o serviço.This is an additional directory to store additional local data that the service may need. Os dados devem ser usados para armazenar somente dados efêmeros.Data should be used to store only ephemeral data. O Service Fabric não copia nem replica alterações ao diretório de dados se o serviço precisar ser realocado (por exemplo, durante o failover).Service Fabric does not copy or replicate changes to the data directory if the service needs to be relocated (for example, during failover).

Observação

Você não precisa criar os diretórios config e data se não precisar deles.You don't have to create the config and data directories if you don't need them.

Próximas etapasNext steps

Consulte os seguintes artigos para tarefas e informações relacionadas.See the following articles for related information and tasks.