Principes communs et environnement des services ############################################### Principes relatifs aux composants délivrés ========================================== .. caution:: Dans la suite, les composants développés dans le cadre du projet VITAM seront appelés les "services VITAM" ; les composants intégrés, mais non développés, seront appelés les "COTS". Nommage ******* Dans la suite, on distinguera les identifiants différents suivants : - ID de service (ou ``service_id``) : c'est une chaîne de caractères qui nomme de manière unique un service. Cette chaîne de caractère doit respecter l'expression régulière suivante : ``[a-z][a-z-]*``. - ID de package (ou ``package_id``) : il est de la forme ``vitam-``. C'est le nom du package à déployer. - ID d'instance (ou ``instance_id``) : c'est l'ID d'un service instancié dans un environnement ; ainsi, pour un même service, il peut exister plusieurs instances de manière concurrente dans un environnement donné. Cet ID a la forme suivante : ``-``, avec ```` respectant l'expression régulière suivante : ``[0-9]{2}``. Principles relatifs aux services VITAM ************************************** Les services développés dans le cadre du projet VITAM interagissent avec un ensemble de composants externes dédiés à leur exploitation : .. FIXME : les termes de la figure sont différents des termes de l'explication en-dessous. .. figure:: images/principles-vitamservice.* :align: center :height: 15 cm Environnement d'un service VITAM Les interactions entre ces services et leur environnement se séparent essentiellement en 2 grandes familles : * Les interactions avec des services externes ; on y trouve : - L'accès aux packages logiciels pour installation (Cf. :doc:`20-principles-packaging`) ; - Le déploiement, permettant l'orchestration du déploiement de la solution (Cf. :doc:`30-principles-deployment`) ; - L'annuaire de services, permettant à chaque service de localiser les services dont il dépend et d'y accéder de manière indépendante de la topologie de déploiement ; cette section intègre ainsi également les principes de load-balancing et de haute disponibilité (Cf. :doc:`10-principles-networking`) ; - Le monitoring, avec (Cf. :doc:`40-principles-monitoring`) : + l'accès offert au système de supervision aux données de monitoring exposées par les services (sur un port d'administration dédié) ; + l'export des logs applicatifs vers le sous-système de gestion des logs ; * Les interactions locales au serveur, notamment avec des fichiers (dont la nomenclature est précisée dans :doc:`une section dédiée <02-principles-users-rights>`) : - L'installation, avec l'exécution du gestionnaire de paquets de l'OS (Cf. :doc:`20-principles-packaging`) ; - La gestion des fichiers de configuration de l'application via l'outil de déploiement (Cf. :doc:`30-principles-deployment`) ; - Le démarrage / arrêt des services (Cf. :doc:`50-principles-technical-administration`) ; - La sauvegarde / restauration des données applicatives (Cf. :doc:`60-principles-data-management`). Principes relatifs aux COTS *************************** .. note:: Les :term:`COTS` correspondent aux éléments intégrés dans VITAM, mais dont le code source n'est pas maîtrisé par VITAM. Ils comprennent notamment les moteurs de base de données (ex: MongoDB, Elasticsearch) De manière générale, les distributions binaires utilisées sont celles fournies nativement par les distributions linux, ou à défaut les paquets fournis par l'éditeur du logiciel. Les :term:`COTS` respectent les principes énoncés ci-dessus dans la mesure de leurs possibilités ; les éléments suivants sont notamment respectés : - Le packaging logiciel : la nature des packages et les outils utilisés pour installer ces logiciels doivent être les mêmes que pour les autres composants VITAM. - Le déploiement : les outils et principes de déploiement doivent également être identiques à ceux utilisés pour déployer les autres composants VITAM. - L'arrêt / démarrage des services : ces logiciels doivent utiliser le même gestionnaire de services système que les autres composants VITAM. - L'export des logs : les logs de ces logiciels doivent être envoyés à la chaîne de gestion de logs suivant les mêmes protocoles que les autres services ; par contre, le format des messages de logs peut être différent. .. seealso:: Les principes non respectés par les :term:`COTS` (et qui concernent notamment les problématiques de LB/HA et de monitoring) sont détaillées dans :doc:`les sections de documentation associées `.