Déployer un fichier exécutable existant sur Service Fabric

Vous pouvez exécuter n’importe quel type de code, comme Node.js, Java ou C++ dans Azure Service Fabric en tant que service. Dans la terminologie Service Fabric, ces types de service sont appelés des exécutables invités.

Les invités exécutables sont traités par le Service Fabric comme des services sans état. En conséquence, ils sont placés dans des nœuds dans un cluster, sur la base de la disponibilité et d’autres mesures. Cet article explique comment empaqueter et déployer un exécutable invité dans un cluster Service Fabric, en utilisant Visual Studio ou un utilitaire en ligne de commande.

Notes

Un cluster Service Fabric est monolocataire par conception et les applications hébergées sont considérées comme approuvées. Si vous envisagez d’héberger des applications non approuvées, consultez Héberger des d’applications non approuvées dans un cluster Service Fabric.

Avantages de l'exécution d'un exécutable invité dans Service Fabric

L’exécution d’un exécutable invité dans un cluster Service Fabric présente plusieurs avantages :

  • Haute disponibilité : Les applications qui sont exécutées dans Service Fabric sont hautement disponibles. Service Fabric s’assure que les instances d’une application sont en cours d’exécution.
  • Contrôle d'intégrité. La fonction d’analyse du fonctionnement de Service Fabric détecte si une application est en cours d’exécution et fournit des informations de diagnostic en cas d’échec.
  • Gestion du cycle de vie des applications. Outre les mises à niveau sans temps d’arrêt, Service Fabric assure la restauration automatique de la version précédente en cas d’événement signalant un problème d’intégrité lors d’une mise à niveau.
  • Densité. Vous pouvez exécuter plusieurs applications dans un cluster, ce qui élimine le besoin d’exécuter chaque application sur son propre matériel.
  • Découvertabilité : À l’aide de REST, vous pouvez appeler le service de nommage de Service Fabric pour trouver d’autres services dans le cluster.

Exemples

Vue d’ensemble des fichiers du manifeste de service et d’application

Dans le cadre du déploiement d’un exécutable invité, il est utile de comprendre le modèle d’empaquetage et de déploiement Service Fabric tel que décrit dans Modèle d’application. Le modèle d’empaquetage Service Fabric repose sur deux fichiers XML : les manifestes d’application et de service. La définition de schéma pour les fichiers ApplicationManifest.xml et ServiceManifest.xml est installée avec le Kit de développement logiciel (SDK) Service Fabric sous C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Manifeste d’application : le manifeste d’application permet de décrire l’application. Il répertorie les services qui la composent, ainsi que d’autres paramètres utilisés pour définir la manière dont les services doivent être déployés (comme le nombre d’instances).

    Dans Service Fabric, une application est une unité de déploiement et de mise à niveau. Une application peut être mise à niveau en tant qu’unité simple, dans laquelle les défaillances (et restaurations) potentielles sont gérées. Service Fabric garantit la réussite de la mise à niveau. En cas d’échec, elle fait en sorte que l’application ne reste pas dans un état inconnu ou instable.

  • Manifeste de service : le manifeste de service décrit les composants d’un service. Il inclut des données telles que le nom et le type du service, ainsi que son code et sa configuration. Le manifeste de service inclut également des paramètres supplémentaires qui peuvent être utilisés pour configurer le service après son déploiement.

Structure de fichier d'un package d'application

Pour que vous puissiez la déployer sur Service Fabric, votre application doit respecter une structure de répertoire prédéfinie. Voici un exemple de structure de ce type.

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

Le paramètre ApplicationPackageRoot contient le fichier ApplicationManifest.xml, qui définit l’application. Un sous-répertoire pour chaque service inclus dans l’application est utilisé pour contenir tous les artefacts nécessaires au service. Ces sous-répertoires correspondent au fichier ServiceManifest.xml et généralement aux éléments suivants :

  • Code. Ce répertoire contient le code du service.
  • Config. Ce répertoire contient un fichier Settings.xml (et d’autres fichiers si nécessaire) auquel le service peut accéder lors de l’exécution pour récupérer des paramètres de configuration spécifiques.
  • Data. Il s’agit d’un répertoire supplémentaire pour stocker des données locales supplémentaires dont le service peut avoir besoin. Le répertoire Data doit être utilisé uniquement pour stocker des données éphémères. Service Fabric ne copie et ne réplique pas les modifications dans le répertoire des données si le service doit être déplacé, par exemple, pendant le basculement.

Notes

Il est inutile de créer les répertoires config et data si vous n’en avez pas besoin.

Étapes suivantes

Consultez les articles suivants pour obtenir des informations supplémentaires et connaître les tâches connexes.