Christophe Rémy-Néris et Édouard Prévost ont créé la société Carrick-Skills en novembre 2016 avec pour objectif de concevoir un moteur de workflow adapté aux spécificités de la diffusion TV pour le broadcast, la VOD et l’OTT. Pendant une dizaine d’années, ils ont participé à la mise en place des premiers services de VOD et de catch-up TV, puis au projet de dématérialisation globale d’un opérateur de chaînes TV français. Ils ont fait face à la complexité des process à gérer, défriché de nouvelles méthodes de travail et contourné une multitude d’obstacles.
Christophe Rémy-Néris explique que « les systèmes de workflows exploités jusqu’à présent dans le secteur du broadcast présentent deux inconvénients majeurs. Soit ce sont des sous-ensembles intégrés à des systèmes plus vastes comme les MAM, les automations ou des fermes de transcodage, et il faut développer des process spécifiques, liés à chaque constructeur. Soit on part de moteurs de workflow génériques conçus d’abord pour les process IT. Ils exécutent très vite des tâches élémentaires, très courtes et pour lesquelles la ressource technique est quasi infinie. Or, dans le broadcast, on manipule de gros fichiers et les opérations techniques comme des transcodages ou des contrôles qualité exigent du temps. Ce paramètre est rarement pris en compte. Les travaux sont aussi liés à des licences fort onéreuses et la capacité de traitement reste limitée. Il faut donc prendre en compte ces deux contraintes pour gérer efficacement la répartition et l’organisation des travaux à effectuer. »
Un orchestrateur indépendant des constructeurs et éditeurs de logiciels Pendant les premiers mois, les fondateurs de Carrick-Skills ont défini les principes de leur orchestrateur de workflow. Ils ont affiné leurs concepts qu’ils ont soumis aux principales chaînes TV françaises. L’accueil reçu les a convaincus de la pertinence de leur approche, confirmée par le soutien de BPI France, du réseau Entreprendre 92 et par le label accordé dans le cadre du projet RIAM du CNC. Cela leur a permis de lancer la première version de Carrick-Flow.
Ce moteur de workflow se place de manière transversale et indépendante sur une couche au-dessus des équipements et des traitements de contenus. Il n’est lié à aucun constructeur ou logiciel pour pouvoir fonctionner en totale indépendance des offres techniques. Il est basé sur un moteur de priorisation autonome et centralisé. Ainsi, si une tâche entraîne la surcharge d’une machine avec le risque de retarder les délais ou les « due dates », il doit pouvoir aller requérir un autre équipement disponible, qu’il soit ou non de la même marque, sur place, dans un autre data center, ou même lancer l’opération dans le cloud. L’autre caractéristique essentielle de Carrick-Flow est sa structure hiérarchique qui offre une vue globale de tous les travaux en cours, des priorités et des échéances. Ensuite, selon le niveau d’intervention de l’exploitant et ses compétences, le paramétrage ou le contrôle des états descendent dans la structure pyramidale du workflow.
Comme de nombreux systèmes informatiques modernes et la majorité des services Internet, le moteur de workflow est basé sur une architecture orientée services ou SOA, afin de le rendre interopérable et indépendant des diverses couches techniques intervenant dans le process. Les fondateurs de Carrick-Skills insistent sur cette structure hiérarchique et la granularité qu’offre leur logiciel. Dans le passé, ils ont souvent été confrontés à des workflows totalement imbriqués avec les équipements gérés et une organisation extrêmement touffue. La modification d’un seul paramètre pouvait conduire à des dysfonctionnements inattendus. Les corrections nécessaires exigeaient de revalider la totalité du workflow. Le choix d’une structure de type SOA fonctionnant en mode de services et organisée en classe d’objets indépendants, offre une meilleure lisibilité des opérations mises en œuvre. Pour cela, ils s’appuient également sur les travaux menés dans le cadre du projet FIMS (Framework for Interoperable Media Services) mené sous l’égide de l’AMWA et de l’EBU.
Un logiciel distribué en mode « SaaS »
L’orchestrateur de workflow Carrick-Flow est un logiciel distribué en mode SaaS (Software as a Service). Le tarif de location mensuelle dépend du nombre d’équipements à piloter par type d’opérations techniques. Le moteur du système peut être piloté et supervisé via des API de type RestFul ou des webservices. D’ores et déjà, Carrick-Flow fonctionne avec un grand nombre d’outils dédiés à la manipulation des médias (transport, transcodage, vérification, stockage…), qu’ils soient « on premise » ou dans le cloud. La liste des connecteurs s’enrichit régulièrement au gré des projets réalisés.
À partir du cahier des charges du client, Carrick-Skills rédige une offre en proposant une architecture de workflow. Si la proposition est acceptée, leurs équipes techniques effectuent l’intégration du système et configurent le premier workflow en association avec les équipes d’exploitation du client. Ce travail est accompagné d’une phase de formation pour leur faire découvrir toutes les ressources du moteur de workflow et la puissance qu’il recèle. Ensuite le client travaille en autonome pour adapter ses workflows existants ou en déployer de nouveaux. Selon les configurations techniques existantes et les modes d’exploitation, Carrick-Flow peut être déployé en local sur les installations du client ou exploité sur un cloud privé ou public.
Tester le cloud sans s’engager
La question du basculement des infrastructures de production et de diffusion dans le cloud est au cœur des préoccupations de nombreuses chaînes TV et de prestataires techniques. Pour Édouard Prévost, Carrick-Flow est un excellent outil pour tester ces nouvelles procédures et explorer l’immensité et la diversité du cloud. Il constate que « beaucoup de services techniques du cloud proposent des modèles économiques qui évoluent vite. Nos clients ont du mal à anticiper les conséquences indirectes en termes de coût, en particulier au niveau des exports pour récupérer les contenus. Les grilles de tarification sont un véritable maquis assez indéchiffrable. Malgré toutes les simulations effectuées sous Excel, on ne découvre le coût réel d’un service cloud qu’en l’utilisant réellement avec des vrais contenus. »
La souplesse et l’ouverture de Carrick-Flow permettent de monter rapidement un test grandeur nature et d’évaluer concrètement toutes les incidences de ce choix, sans risque pour le processus métier. La situation dans le cloud est en perpétuelle évolution. Il constate : « Entre le NAB et l’IBC, les avantages techniques et financiers apportés par un service donné par rapport à son concurrent peuvent se renverser complètement et ce dernier devenir plus performant et compétitif à l’automne. Il faut donc pouvoir changer très vite de services et de prestataires sans remettre en cause la structure du workflow. Juste en modifiant le paramétrage des connecteurs. »
L’une des fonctions essentielles de Carrick-Flow est son moteur de priorisation qui joue le rôle de chef d’orchestre entre tous les workflows qu’il gère. Les priorités peuvent être réévaluées en permanence en interrogeant des référentiels externes et en fonction des nouvelles demandes. Dans un futur proche, elles seront réévaluées à partir des remontées statistiques des temps de traitement réellement constatés lors des exécutions précédentes. Elles tiennent compte également des paramètres de contenu : une vidéo UHD exigera plus de temps que celle en résolution HD et le démarrage de son traitement devra être anticipé. Il faut également tenir compte de la charge des machines et des débits de transfert engendrés grâce à des sondes placées judicieusement sur les réseaux, et remonter ces données pour éviter leur blocage ou leur ralentissement.
Gérer les priorités
Face à une telle situation, l’orchestrateur pourra décider de transférer des traitements sur un équipement plus disponible ou même de le lancer dans le cloud pour une période limitée, le temps de passer le cap de la surcharge. Les charges de travail évoluent selon les programmations de la chaîne et des périodes récurrentes ou exceptionnelles comme le week-end pour les contenus sportifs, ou lors des grands évènements internationaux (Coupe du Monde, JO, etc.). Les tâches doivent être également réparties selon leurs exigences. Un encodage basse définition pour les réseaux sociaux exige moins de capacité que celui destiné à l’antenne ou à la VOD. Christophe Rémy-Néris cite l’exemple d’un prestataire dont tous les postes bureautiques tournent sur des machines virtuelles implantées dans son data center. Elles ne sont plus utilisées la nuit et leurs ressources sont disponibles. Carrick-Flow serait à même de transférer de manière automatique des tâches légères d’encodage FFMPEG sur ces machines et d’exploiter ainsi au mieux cette ressource inutilisée.
Carrick-Flow récupère et centralise dans une base de données certaines métadonnées incluses dans les fichiers traités par les outils qu’il pilote. Cela facilite le suivi des travaux et la localisation ou la récupération d’un fichier dans une phase intermédiaire et dont les dénominations établies de manière automatique sont souvent absconses et indéchiffrables.
L’univers de la diffusion TV est en plein bouleversement et, comme l’affirme Christophe Rémy-Néris : « La réalité d’aujourd’hui ne sera pas celle de demain ». Pour faire face à ces mutations permanentes, Carrick-Flow est un outil ouvert, exible et évolutif qui préserve les investissements effectués pour créer des workflows de plus en plus étendus et complexes.
* Article paru pour la première fois dans Mediakwest #25, p. 88-89. Abonnez-vous à Mediakwest (5 numéros/an + 1 Hors-Série « Guide du tournage ») pour accéder, dès leur sortie, à nos articles dans leur intégralité.