Comment gérer ses pics de production avec TWIST Queueing ?

Littéralement, nous le traduisons par : faire la queue. Pour donner une définition plus complète, nous pourrions dire qu’il s’agit d’un modèle de file d’attente, construit de sorte que les longueurs et les temps des files d’attentes puissent être prédits. “La théorie des files d’attente est généralement considérée comme une branche de la recherche opérationnelle, car les résultats sont souvent utilisés lors de la prise de décisions concernant les ressources nécessaires à la fourniture d’un service.”

Appliqué à la production marketing, le Queueing prend tout son sens. Si nous considérons la somme des tâches qui doivent être traitées, suivant une certaine productivité et en fonction de certains paramètres (urgences, priorités, règles métiers, etc.), l’idéal est de pouvoir gérer la manière dont les tâches seront traitées.

Pour répondre aux exigences de production de nos clients, nous avons imaginé le module TWIST Queueing. Positionné en amont d’un moteur d’automatisation (ici DALIM TWIST), il a pour objectif la gestion et l’orchestration des tâches, avant de solliciter les moteurs d’applications pour lancer les traitements.

Nous retraçons pour vous le chemin parcouru qui nous a amené à déployer ce nouveau module de nos Plateformes de Production Marketing. De la problématique métier à la solution apportée, en passant par les principales fonctionnalités et les cas d’usage concrets, on vous dit tout !

Module Twist Queueing pour la production avec DALIM SOFTWARE

Quelques explications pour débuter…

Pour bien comprendre TWIST Queueing, il est fondamental de s’imprégner de DALIM TWIST et de ses fonctionnalités.

TWIST est le flux de production automatisé de DALIM SOFTWARE. C’est un moteur de workflow qui rassemble plus de 120 outils, qui peuvent-être associés pour délivrer les flux de production les plus divers. Ces mêmes flux permettront d’automatiser la création de l’essentiel des fichiers requis, PDF, images de tous formats, impressions, validations, mais aussi des tâches techniques, telles que le contrôle de fichier (preflight) ou encore le design des packagings.

Associé à des capacités de personnalisation, comme par exemple CHILI publisher, TWIST est aussi un puissant moteur pour les besoins d’individualisation du marketing.

Quelle a été la problématique métier qui a mené au développement de TWIST Queueing ?

DALIM TWIST permet de gérer de la priorité par flux, il permet de définir quels sont les fichiers qui doivent être traités par tel flux et lesquels sont prioritaires. Ceci dit, dès lors que les fichiers sont pris en charge, il n’est plus possible d’agir sur leur priorités.

Comme tout moteur de traitement, il offre la possibilité de traiter en parallèle plusieurs fichiers, à concurrence de la productivité qui est la sienne. Cette dernière est définie par une notion de puissance du flux, exprimée en hardworker (moteur de productivité).

Par exemple, si j’ai 4 hardworkers, je peux traiter jusqu’à 4 fichiers en même temps dans l’outil. Si nous nous concentrons ici sur TWIST, cela peut-être différent en fonction du moteur d’application concerné, mais la logique sera la même.

La problématique que l’on peut rencontrer dans ce cas d’usage, lorsque l’on dispose de plusieurs moteurs et de beaucoup de fichiers à traiter est la suivante : si j’ai 100 fichiers dans mon outil avec 4 moteurs, 4 fichiers seront traités en même temps dans mes moteurs et les 96 autres fichiers se mettront automatiquement dans la file d’attente. Une fois les 96 mis en file d’attente, nous ne pouvons plus agir dessus. Ils sont en attente qu’un moteur soit disponible.

Prenons un exemple concret…

Un imprimeur gère des fichiers à imprimer pour ses clients. Parmi eux, il y a des cartes de visite mais aussi une brochure de plusieurs pages. L’imprimeur dispose de 4 moteurs de traitement : 5 cartes de visite arrivent, puis la brochure, puis de nouveau 100 cartes de visite.

Que va-t-il se passer ? Les 4 premières cartes de visite vont être traitées, puis 1 carte de visite et la brochure qui va être découpée en autant de fichiers que son nombre de pages. Cette brochure va donc générer de nombreux fichiers dans la file d’attente, qui vont être plus longs à se traiter car plus gros. Pendant ce temps de traitement, mes moteurs TWIST ne pourront pas traiter la moindre carte de visite, alors que ce traitement peut être plus prioritaire d’un point de vue commercial, car c’est typiquement des produits pour lesquels la livraison doit être rapide.

La seconde réflexion relève de pouvoir assigner mes moteurs de traitements à des types de production. Ainsi, je souhaiterais pouvoir disposer d’un flux spécifique pour les images web, un autre pour les PDF print ou les images destinées au grand format, etc.

C’est à partir de ces problématiques que s’est imposé TWIST Queueing, avec la possibilité d’agir dynamiquement sur les priorités.

À l’échelle de certains de nos clients, ce sont des dizaines de milliers de processus qui vont consommer les moteurs, pour certains allant jusqu’à plus de 40 000 fichiers par jour et jusqu’à 6 000 fichiers à traiter dans un temps court.

"Le point fort de TWIST Queueing est de pouvoir apporter dans DALIM TWIST des règles métiers de gestion de priorité qui permettent d’optimiser au mieux l’utilisation des ressources."

Emmanuel Arcesilas – Directeur des infrastructures & responsable produit à Galilée

Recevez votre modèle de cahier des charges pour le packaging !

Concrètement, qu’est-ce que TWIST Queueing, la solution apportée ?

TWIST Queueing permet de gérer la mise en attente des fichiers dans un système en amont de DALIM TWIST et non plus au sein du moteur lui-même. Les fichiers ne sont envoyés dans DALIM TWIST que lorsqu’un moteur de traitement est disponible.

Ce qui permet de gérer dynamiquement les files d’attente et d’agir en temps réel sur l’affectation des moteurs, d’augmenter la priorité sur un type de workflow, d’associer des moteurs à des clients, etc.

Pour que cela fonctionne, nous sommes partis sur le principe d’avoir un minimum de moteurs par serveur, un serveur pour un moteur. Ainsi, lorsqu’un hardworker traitera un job, celui-ci n’aura aucun impact sur les autres. Si tous les moteurs sont sur le même serveur, le job va ralentir les autres, cela permettra aussi de mieux sécuriser l’ensemble des processus, en définissant des atomes plus petits et donc moins critiques.

La gestion du cluster de moteurs ainsi créé (c’est-à-dire l’ensemble des serveurs constituant le nouveau moteur global) est simplifiée grâce à TWIST Queueing, qui propose une interface permettant de gérer en même temps l’ensemble des serveurs, sans avoir à se connecter sur chacun d’eux.

Un cas d’application

Pour le premier client que nous avons équipé du module TWIST Queueing, le besoin était de pouvoir traiter jusqu’à 45 000 fichiers par jour, ce qui nécessitait quelques 16 moteurs de traitements. Ainsi, nous avons pu répartir le moteur global en 16 moteurs distincts, tous gérés depuis le module TWIST Queueing.

Ce module propose une interface utilisateur de suivi des tâches qui indique en temps réel où en sont les fichiers, à quelle étape du workflow, si des erreurs ont été signalées, etc. L’application permet également de télécharger le rapport de contrôle des PDF (preflight) et de voir en détails les processus. Nous proposons à l’utilisateur d’avoir accès à des informations métiers plutôt qu’à des informations techniques.

TWIST Queueing gère la mise en file d’attente des jobs en amont, ce qui permet une organisation des moteurs plus fine et dynamique au fil de la production, mais aussi d’avoir la main sur les priorités. Cette approche permet aussi de pouvoir agréger plus de moteurs sans que leur gestion ne soit rendue plus compliquée pour les administrateurs.

Qu’est-ce qui définit le nombre de moteurs ?

Tout simplement, le nombre de traitements à réaliser par jour, associé à la complexité des tâches à accomplir pour l’outil DALIM TWIST.

Un hardworker permet d’avoir un fichier à un instant T dans une étape de traitement d’un flux. Un flux est une succession d’étapes (transformer un fichier en PDF, extraire la liste des couleurs, faire un preflight, fabriquer un JPEG, envoyer le JPEG sur un FTP). Quand un fichier est dans une étape, il y a un traitement. Avoir 4 hardworkers permettra d’avoir 4 fichiers en parallèle en traitement.

Quelles sont les fonctionnalités à retenir de TWIST Queueing ?

Les principales fonctionnalités du module sont les suivantes :

  • La gestion des priorités pour faire face aux pics de production
  • La gestion de la redondance
  • Disposer d’une interface utilisateur avec la possibilité de filtrer, rechercher, télécharger des rapports afin de suivre les jobs d’un point de vue métier
  • La gestion de son moteur d’application métier en fonction de ses impératifs business

Les avantages pour les utilisateurs sont véritablement une meilleure exploitation des ressources et notamment des moteurs de traitements, la gestion des règles business avec la priorisation de la file d’attente, une sécurité renforcée avec autant de serveurs que de moteurs et l’interface utilisateur permettant une réelle visibilité des travaux en cours.

Ce qui est exposé ici, appliqué à un moteur de traitement comme DALIM TWIST, peut se transposer sur d’autres moteurs. Assujettis à des règles métiers et à des exigences de production fluctuantes, ceux-ci sont au service du développement business et en mesure d’être programmés pour les satisfaire au mieux.

HAUT