Bonjour tout le monde,
Avec La Contre-Voie, on lance petit à petit notre première instance PeerTube, qui servira pour nos vidéos et pour nos membres qui souscriront à ce service.
Héberger des vidéos implique de faire du transcodage, qui implique d’avoir le matériel pour ; et un petit VPS ou un petit micro-ordinateur de faible capacité ne pourra pas forcément réaliser cette opération. Quant aux serveurs plus gros : réaliser le transcodage directement sur ces serveurs peut monopoliser le CPU pendant plusieurs heures ou minutes, ce qui peut dégrader l’expérience d’utilisation des autres services par des ralentissements.
La FAQ de PeerTube indique qu’il faudrait idéalement avoir un serveur à 8 vCore et 8 Go de RAM pour faire de l’encodage dessus. Ça pourrait être onéreux pour une structure seule de louer un serveur spécifiquement pour ce besoin, alors que le serveur ne sera pas utilisé tout le temps (seulement pendant les opérations de transcodage…).
Le programme utilisé par les runners PeerTube permet de gérer les paramètres d’encodage de manière relativement granulaire, et peut servir de runner pour plusieurs instances.
Et si on mutualisait entre CHATONS ?
Budget
L’idéal serait d’estimer le coût d’un bon serveur qui servirait à tout le monde, et de voir pour combien de structures ça serait envisageable sur le plan financier.
Admettons que l’on parte sur un serveur dédié chez un gros fournisseur comme OVH ou Hetzner ; cela nous coûterait entre 35€ et 50€ par mois. Disons 40€ par mois comme montant de départ.
(Bien sûr, je pars du principe qu’on fait comme la majorité des CHATONS et qu’on utilise du gros cloud capitaliste, mais si on a des solutions plus éthiques ça peut s’envisager, tant que ça reste globalement fiable)
Si nous sommes 5 structures : le dédié nous coûterait 8€ par mois et par structure.
Si nous sommes 10 : 4€ par mois et par structure. (40 divisé par 10… attention le niveau de maths vole haut !!!)
Je pense qu’on peut se fixer un minimum de départ à 5 structures pour lancer cette mutualisation (en dessous, ça serait peut-être des efforts investis pour pas grand-chose), et un maximum de 10-15 structures, même si cela dépend fortement du volume de vidéos traité par chaque. Et puis, si l’idée marche vraiment bien, on pourra toujours mettre en place un deuxième runner !
Modèle de contribution
Idéalement, une structure payerait le dédié pour tout le monde, et les autres structures contribueraient à la hauteur de leur consommation de ressources ou de leurs moyens.
Les modalités restent à définir : est-ce que la structure qui loue refacture partiellement le dédié aux autres, ou est-ce qu’on fait du prix libre en espérant atteindre assez de contributions financières pour couvrir les frais de la location ?
Pour ma part je pense que c’est OK d’envisager le prix libre entre nous. (Ça a un autre avantage, qui est de pouvoir potentiellement comptabiliser cette contribution en dons plutôt qu’en facture )
Par contre, il nous faut quand même pouvoir réaliser une vague estimation des contributions pour éviter que la structure qui loue se retrouve avec un surplus significatif (ou au contraire, doive tout payer pour les autres).
CHATONS, Pas-CHATONS ?
Pour ma part si tout le monde est d’accord, je ne vois pas forcément l’inconvénient de mutualiser le runner avec d’autres structures non membres CHATONS ; typiquement, si des évènements libristes (JDLL, CdL, ou admettons PSES…) ont une instance PeerTube, ça pourrait être chouette que notre travail de mutualisation leur serve même si ces structures ne sont pas CHATONS.
Cela implique toutefois d’avoir confiance en ces structures, parce que ça reste un runner (donc, un outil qui exécute du code plus ou moins arbitraire pour un serveur distant).
Qu’est-ce qui serait mutualisé ?
Plusieurs tâches sont mutualisables avec le runner, à en croire la CLI :
vod-web-video-transcoding
vod-hls-transcoding
vod-audio-merge-transcoding
live-rtmp-hls-transcoding
video-studio-transcoding
video-transcription
Certaines tâches dans le lot semblent nécessiter une vigilance particulière :
video-transcription
: la transcription vidéo avec Whisper, qui semble plus coûteuse que les autres, notamment en RAM ;video-studio-transcoding
: la transcription depuis le studio, qui implique que les utilisateur·ices de chaque instance de la pool peuvent déclencher cette tâche très facilement et potentiellement monopoliser les ressources, plus facilement qu’avec un upload classique ;live-rtmp-hls-transcoding
: si j’ai bien compris c’est la tâche du live, qui monopoliserait le runner pour toute la durée du live, qui nécessite que le serveur ne faiblisse pas au risque de dégrader la qualité des lives (il pourrait faiblir avec trop de tâches concurrentes ?) ; aussi, comment ça se passe s’il y a plusieurs lives en même temps sur des instances différentes, quelle serait la capacité maximale du runner ?
Bref, sur le plan technique, une telle mutualisation soulève des problématiques qu’il nous reste encore à trancher. Avoir des retours de gens qui maîtrisent bien le sujet des runners PeerTube sur une grosse instance pourraient bien nous aider.
Qui fait quoi ?
Si personne ne se propose pour administrer l’instance qui gère le runner, je peux me porter volontaire pour m’en occuper et faire les maintenances qui vont avec (on en a besoin à LCV, donc ça nous intéresse).
La structure qui loue pourrait être La Contre-Voie, mais nous avons des contraintes budgétaires assez complexes pour le moment : on est toujours en phase d’hypercroissance, prout et on demande pas mal de subventions, donc on ne peut pas ajouter une dépense sans la budgétiser 1 an à l’avance…
Donc ça nous arrangerait si c’est une autre structure qui porte la responsabilité de louer la machine.
Donc, je récapitule ici les structures engagées dans le processus, et tâcherai de mettre à jour petit à petit.
Qui gère l’adminsys ?
Besoin : idéalement une personne + deux personnes en « support »
- Personne pour l’instant, à défaut neil (La Contre-Voie)
Quelle structure porte la location du serveur ?
Besoin : une structure
- Aucune structure pour l’instant
Quelles structures sont intéressées pour bénéficier d’une instance ?
(Pour quel volume prévu et pour quels montants de contribution ?)
Nom | Volume prévu | Montant de la contribution | Besoin de live ? |
---|---|---|---|
La Contre-Voie | Encore inconnu | 5-10€ par mois, peut-être plus par la suite | Probablement |
BOC47 | Inconnu | Inconnu | Inconnu |
Quelles structures sont intéressées pour fournir une instance ?
Nom | Specs | Modalités de partage |
---|---|---|
Picasoft | VM Caribou, vCore sur Xeon E-2276G 6C 12T, ??? RAM | Non définies |
Liberta | VM Hetzner, 6 vCore i7-7700, 1GBit | Non définies |
À vous