Découvrir les moteurs dynamiques de FME Server
Alexandre Roy on Actualités
Depuis Mai 2020, Safe Software propose les moteurs dynamiques, un nouveau type de moteurs pour FME Server qui se base sur une facturation à l’usage. Une solution idéale pour optimiser vos coûts et que nous vous proposons de découvrir en détail.
Avant-propos
• Cet article est l’adaptation française de l’article “Getting Started With Dynamic Engines” (publié le 28/07/2020) consultable sur FME Community.
• MISE A JOUR – 08/08/2022 : Depuis août 2022, l’offre de moteur dynamique a été renommée en tarification selon « Utilisation CPU ». Les principes évoqués dans l’article ci-dessous ne changent cependant pas.
Que sont les moteurs dynamiques ?
Les moteurs dynamiques ont les mêmes capacités de traitement que les moteurs FME « standard » (communément et simplement dénommés “moteurs”). Toutefois, contrairement au paiement d’une licence fixe par moteur, les moteurs dynamiques fonctionnent avec des crédits. Cela vous donne la possibilité d’acquérir d’une toute nouvelle manière une puissance de traitement supplémentaire pour FME Server.
Un crédit équivaut à une heure de temps processeur du moteur. Vous ne payez que pour le temps CPU que le moteur passe à exécuter un travail : pendant que les moteurs sont inactifs, vous ne payez rien !
Le temps CPU est ici important : dans de nombreux flux de travail, un moteur peut être en train d’exécuter un traitement, mais passer une grande partie de son temps à attendre des données. Avec les moteurs dynamiques, vous ne payez que pour la durée de traitement des données et non pour la durée d’exécution complète du travail.
Vous pouvez identifier le temps CPU utilisé par un moteur à la fin du log d’un traitement. Par exemple, d’après l’extrait de log ci-dessous, le temps CPU représente environ 25 % de la durée totale du traitement, et c’est tout ce que vous paieriez.
FME Session Duration: 58.6 seconds. (CPU: 16.4s user, 4.5s system)
Les moteurs dynamiques sont indépendants de vos moteurs standards, vous pouvez en lancer autant que vous le souhaitez, quand vous le souhaitez.
Cela vous permet d’avoir un nombre illimité de moteurs disponibles immédiatement pour diverses tâches de traitement de données. Les administrateurs FME Server peuvent ajuster le nombre de moteurs dynamiques à tout moment.
Types de moteurs
FME Server a 2 types de moteurs qui sont fonctionnellement équivalents :
- Moteurs standard – Ce type de moteur a toujours existé sur FME Server. Avant FME Server 2020, ils étaient simplement référencés comme « moteurs ».
- Moteurs dynamiques – Ces moteurs sont licenciés par temps CPU (appelés « crédits »). Ce type de moteur a été introduit dans FME Server 2020.0.
Dans quels cas utiliser les moteurs dynamiques ?
Il peut parfois être plus pertinent financièrement d’utiliser des moteurs dynamiques que des moteurs standard, et ce en raison de la flexibilité qu’ils offrent. Quelques exemples d’utilisation :
Surcharge de travail
Il peut arriver que la demande sur FME Server dépasse la capacité disponible. Cela oblige les organisations à dépenser de précieuses ressources pour trouver des moyens de diminuer la charge de travail afin de répondre à cette demande.
Il se peut que les données que vous recevez soient groupées en volumes importants, arrivant de manière imprévisible et/ou sporadique. Il est alors onéreux et peu optimisé d’acheter plusieurs moteurs standards car la plupart d’entre eux ne seront pas pleinement utilisés. C’est là qu’interviennent les moteurs dynamiques : ils fournissent une puissance de traitement supplémentaire immédiatement tout en optimisant les coûts.
En utilisant une combinaison de moteurs dynamiques, de files d’attente de traitements ainsi que des points de terminaisons de l’API Rest de FME Server, vous pouvez commencer à automatiser l’attribution des files d’attente de moteurs en fonction de la charge de travail. Cela peut aider à résoudre les problèmes d’intégration des applications d’entreprise et de traitement parallèle à la demande. Consultez l’article « The Power of Dynamic Engines« (anglais) pour un exemple détaillé de la manière dont cela peut fonctionner.
Transfert important de données
Parfois, les organisations ont besoin de transférer une grande quantité de données d’un système à l’autre, ce qui peut nécessiter des dizaines voire centaines de moteurs. Bien que ce problème puisse être résolu par l’achat de moteurs supplémentaires, le coût est important pour une activité ponctuelle ou peu fréquente. Au lieu de cela, l’achat de crédits de moteur dynamique vous permet de démarrer autant de moteurs dynamiques que nécessaire.
Applications FME Server
Les Applications FME Server fournissent une méthode de libre-service aux utilisateurs finaux pour télécharger des données en amont ou en aval. Si une application est destinée à renvoyer un résultat, il est important qu’elle soit rapide. Cependant, si tous vos moteurs sont occupés ou s’il y a un certain nombre de traitements en attente, l’utilisateur final devra patienter.
Cela peut devenir de plus en plus difficile si l’Application FME Server gagne en popularité. En lançant des moteurs dynamiques dédiés au traitement des requêtes de cette application, vous pouvez mieux gérer la charge et supprimer tout temps d’attente potentiel tout en vous assurant que vous optimisez l’utilisation de votre moteur standard.
IoT/Diffusion de données en continu
Si vous disposez d’un traitement qui surveille un service de données en continu, un moteur dédié est nécessaire pour que celui-ci fonctionne en permanence, prêt à recevoir le trafic entrant. Cependant, il est probable qu’il y aura des périodes de calme où ce traitement ne fera peut-être rien d’autre que d’attendre simplement de recevoir de nouvelles données (saisonnalité de l’utilisation, périodes de congés, etc.).
L’utilisation de moteurs dynamiques, puisque vous ne payez que pour le temps CPU, constitue une solution rentable pour surveiller ce service même pendant les périodes de faible activité.
FAQ sur le moteur dynamique
Quelles sont les conditions d’utilisation des moteurs dynamiques ?
- Un environnement qui supporte FME Server 2020.0 ou plus récent
- Des crédits de moteur dynamique
- FME Server 2020.0 nécessite une licence en ligne pour synchroniser les crédits restants avec Safe Software. Depuis de 2020.1, la prise en charge des environnements hors ligne a été ajoutée. Veuillez consulter cet article (anglais) pour savoir avec quelles URLs FME Server communique pour l’obtention de licences.
Puis-je essayer les moteurs dynamiques ?
Oui, vous pouvez essayer FME Server pendant 60 jours et, depuis FME Server 2020.1, si vous utilisez le processus de licence en ligne, 100 heures de crédits Dynamic Engine sont incluses en plus des deux moteurs standard. Pour connaître les conditions de licence en ligne de FME Server, veuillez consulter cet article (anglais).
Si vous avez besoin d’informations supplémentaires, veuillez contacter notre service commercial.
Comment puis-je contrôler quels sont les traitements exécutés sur mes moteurs dynamiques ?
La fonctionnalité de file d’attente des traitements dans FME Server a été conçue pour vous permettre d’envoyer des traitements à des moteurs FME spécifiques. De cette façon, vous pouvez réserver des moteurs dynamiques pour des traitements selon le dépôt. Un seul moteur peut être affecté à plusieurs files d’attente, et plusieurs moteurs à une seule file d’attente.
L’API de FME Server permet la récupération du nombre de traitements actuellement en attente dans chaque file. Une Automation de FME Server peut être créée autour de cette API pour réaffecter les moteurs à différentes files d’attente en fonction de la charge de travail actuelle. Regardez les vidéos au bas de cet article pour un exemple d’utilisation.
Comment puis-je modifier le nombre de moteurs dynamiques ?
Les administrateurs de FME Server peuvent modifier le nombre de moteurs dynamiques disponibles à tout moment, sans aucune restriction.
Vous pouvez lancer de nouveaux moteurs en modifiant leur nombre sur la page de licence de l’interface utilisateur web de FME Server. Vous aurez besoin des privilèges d’administrateur pour accéder à cette page. N’oubliez pas que vous pouvez démarrer autant de moteurs que vous le souhaitez, car vous ne payez que pour le temps qu’ils passent à exécuter des traitements !
Si votre FME Server tourne sur Docker ou Kubernetes, cette option n’est pas disponible dans l’interface web, vous devrez plutôt augmenter le nombre de moteurs via la ligne de commande en utilisant :
docker-compose -f docker-compose.yaml -f docker-compose-Dynamic-engine.yaml up -d --scale fmeserverengineDynamic=<number of Engines to start>
Comment puis-je savoir si mon travail a été effectué sur un moteur dynamique ?
Lorsque vous lancez un moteur dynamique, un nom du type <hôte>_Dynamic_Engine<n> lui est attribué alors que les moteurs standard sont appelés <hôte>_Engine<n>. Cela vous permet d’identifier facilement, à partir de la page des travaux en cours/terminés, le type de moteur qui a été utilisé.
Quelles sont les prérequis matériels ?
Sur le plan fonctionnel, les moteurs dynamiques fonctionnent exactement de la même manière que les moteurs standard. Par conséquent, même si vous pouvez lancer un nombre illimité de moteurs dynamiques supplémentaires, vous devez prendre en considération le matériel de votre système d’exploitation.
Assurez-vous qu’il y a suffisamment de ressources physiques ou virtuelles (CPU, RAM) pour supporter la demande de traitement – qui variera selon les flux de travail/traitement de données.
Puis-je répartir les moteurs dynamiques sur différentes machines hôtes ?
Oui, de la même manière qu’avec les moteurs standard, vous pouvez ajouter des moteurs dynamiques distribués à votre architecture de FME Server. Voir la documentation de Safe Software pour les instructions étape par étape pour la mise en place.
Exemple : Comment exploiter les moteurs dynamiques
Consultez cette série de vidéos issues de l’article « The Power of Dynamic Engines » pour avoir un exemple de la façon dont vous pourriez utiliser les moteurs dynamiques.
La première vidéo montre comment configurer un traitement dans FME Desktop pour surveiller la charge de la file d’attente de FME Server, puis réaffecter les moteurs dynamiques à ces files d’attente pour fournir une puissance de traitement supplémentaire en cas de surcharge de la demande.
Dans la deuxième vidéo, vous pourrez voir comment nous intégrons ce flux de travail dans une Automation FME Server, et découvrir nos moteurs dynamiques en action lorsque nous déclenchons une surcharge de travail.