Transfert de fichiers automatisé avec MASV et Docker

par Ankit Verma | 9 novembre 2021

Si vous êtes le type de personne qui travaille régulièrement avec des fichiers volumineux, vous tirerez profit du transfert automatisé de fichiers. Il peut s'agir d'un monteur qui a besoin d'améliorer son flux de travail vidéo (voir ci-dessous), d'un photographe qui envoie des images en haute résolution à ses clients ou même d'un développeur de jeux qui emballe et partage des fichiers FBX ou OBJ.

Le transfert de fichiers automatisé est une question de commodité. Déplacer des fichiers et attendre des chargements/téléchargements grignote la journée. Ma philosophie est qu'aucune tâche effectuée plusieurs fois par jour ne doit être réalisée manuellement (si vous pouvez l'éviter).

Avec le lancement de notre TransferAgent sur DockerL'équipe de MASV veut parler du transfert automatisé de fichiers et de votre flux de travail d'envoi et de réception de fichiers.

Une introduction rapide

David Postlethwaite headshot

Mon nom est David Postlethwaite et j'adore écrire du code pour faire mon travail à ma place. En tant qu'ancien ingénieur DevOps - aujourd'hui défenseur des développeurs chez MASV - mon travail quotidien consistait à écrire les flux de travail automatiques pour la construction du code, le déploiement du code, l'exécution des tests d'intégration et l'optimisation des images pour la livraison dans le nuage. L'une des principales raisons pour lesquelles j'ai rejoint le MASV est qu'ils ont adopté la même méthodologie d'automatisation. Cela inclut le merveilleux outil TransferAgent que l'équipe a construit avec notre capacité de transfert de fichiers automatisé.

Qu'est-ce que MASV TransferAgent ?

MASV est un service de partage de fichiers axé sur la livraison rapide de fichiers lourds et les transferts de fichiers automatisés. Nous disposons d'une application Web, d'un client de bureau et d'une API. Les utilisateurs n'ont cessé de nous demander d'utiliser notre API et, au fil du temps, nous avons réalisé que nous avions besoin d'une solution plus simple pour les personnes qui souhaitaient simplement se lancer. C'est alors que nous avons créé TransferAgent.

Le MASV TransferAgent est un outil conçu pour abstraire notre API web pour nos utilisateurs. Il permet de charger et de télécharger plusieurs paquets en même temps sans que nos utilisateurs aient à se soucier des files d'attente, des limitations de bande passante et de toutes sortes de bizarreries du système de fichiers. TransferAgent a si bien fonctionné que nous avons décidé de construire notre client de bureau autour de lui. Nous avons donc décidé de construire notre client de bureau autour de lui, afin d'offrir un délai d'exécution rapide à nos utilisateurs et la meilleure version possible de notre outil sur le marché.

Que sont les conteneurs Docker ?

iconik gestion des médias collaboration

Qu'est-ce qu'un conteneur ? | Conteneurisation d'applications par Docker

L'une des choses qu'un nouvel automate rencontrera est Docker et la conteneurisation. Vous trouverez ci-dessous un Présentation de Docker:

Un conteneur est une unité logicielle standard qui regroupe le code et toutes ses dépendances afin que l'application fonctionne rapidement et de manière fiable d'un environnement informatique à un autre.

Vous pouvez considérer un conteneur comme sa propre application autonome. Tant qu'il existe un moteur de conteneur (dans notre cas, Docker), cette application autonome fonctionnera de la même manière à chaque fois, quel que soit le matériel sur lequel elle se trouve. Votre équipe et la mienne n'ont plus à se soucier des incompatibilités entre Windows, Mac et Linux. Les conteneurs nous permettent de nous concentrer sur la création de la meilleure application. Votre équipe doit uniquement se préoccuper de la manière d'utiliser l'application (et non de l'endroit où vous l'exécutez).

Ce qui nous a incités à adopter les conteneurs, c'est la façon dont ils peuvent résoudre les problèmes de compatibilité entre les plateformes et améliorer les flux de travail. Par exemple, avant de mettre en œuvre les conteneurs, une entreprise disposait de trois serveurs distincts sur site pour gérer son site Web. Chacun de ces serveurs est géré manuellement par un administrateur système. Un jour, un bogue est introduit dans l'application et nécessite une mise à jour du paquetage du fournisseur et la modification des fichiers de configuration manuels. L'administrateur système procède à toutes les modifications sur chaque serveur, mais il oublie une seule ligne dans l'un des fichiers de configuration. À présent, seuls deux serveurs sur trois fonctionnent.

Imaginez maintenant que ces trois serveurs utilisent Docker et que le site Web se trouve dans un conteneur. Un développeur propose une nouvelle fonctionnalité nécessitant une nouvelle dépendance. Auparavant, cela aurait cassé le serveur car il lui manque la dépendance. Au lieu de cela, l'image Docker se bloque et refuse de fonctionner. Ce qui permet de revenir facilement à la version précédente. La solution pour les trois serveurs consiste maintenant à modifier un fichier à un seul endroit et à reconstruire le conteneur Docker. Ensuite, tous les serveurs peuvent utiliser la bonne version.

MASV + Docker

"Peut-on ne pas le faire ?" est une phrase que j'ai déjà entendue lorsqu'on parle de minimiser la quantité de travail nécessaire. Il s'agit essentiellement de déterminer si nous ne sommes pas en train de surinventer quelque chose. En ajoutant des constructions Docker, nous pouvons demander à nos utilisateurs d'utiliser tous la même version de TransferAgent. La plupart de nos utilisateurs étant orientés vers la version Linux, cela permet aux rapports de bogues de cibler principalement un système d'exploitation puisque Docker fonctionne sur Mac, Linux et Windows. En d'autres termes, Docker nous permet de réduire notre vecteur de bogues. 

Note : Nous sommes pas supprimer toute construction pour les plateformes que nous utilisons et supportons actuellement. 

Les conteneurs Docker sont incroyablement faciles à mettre à jour. Vous pouvez rester sur votre balise de conteneur `latest`, qui téléchargera la version la plus récente lorsque vous redémarrerez. Ou vous pouvez même suivre notre modèle semver et mettre à jour selon vos besoins.

Si vous espérez travailler à la création d'une application ou d'un script autour de notre application TransferAgent, vous n'avez pas à vous soucier des problèmes de compatibilité du côté de TransferAgent. Un transfert facile entre Mac, Linux et Windows est ce que nous espérons fournir.

Montage vidéo et automatisation

Les monteurs vidéo constituent un groupe croissant de professionnels qui cherchent à automatiser leurs flux de travail. Docker peut prendre en charge toutes sortes d'outils allant de FFmpeg, frein à mainet même TransferAgent. Avec les bons scripts et les bons fichiers au bon endroit, ces outils peuvent faire du rendu, de la finition et du transfert automatisé final des fichiers un jeu d'enfant.

Si vous êtes un monteur vidéo, un vidéaste ou un passionné de technologie, vous avez probablement du matériel supplémentaire sur lequel vous pouvez installer Docker. Qu'il s'agisse d'un Raspberry Pi, de votre NAS personnel ou même d'un vieil ordinateur portable que vous rangez dans un coin. 

Nous espérons que vous resterez à l'écoute pour le prochain article où nous mettrons TransferAgent en service sur Docker et pensez à nous pour votre prochain transfert de fichiers.

Consultez nos documents destinés aux développeurs

Si vous êtes prêt à essayer le MASV, Inscrivez-vous ici et obtenez 100 Go gratuits pour votre transfert.