Transferencia automática de archivos con MASV y Docker

por Ankit Verma | 9/11/2021

Si eres el tipo de persona que trabaja habitualmente con archivos de gran tamaño, te beneficiarás de la transferencia automática de archivos. Podrías ser un editor que necesita mejorar su flujo de trabajo de vídeo (más adelante); un fotógrafo que envía imágenes de alta resolución a sus clientes; o incluso un desarrollador de juegos que empaqueta y comparte archivos FBX u OBJ.

La transferencia automática de archivos es una cuestión de comodidad. Mover archivos y esperar a que se suban/descarguen se come el día. Mi filosofía es que ninguna tarea que se realice varias veces al día debe completarse manualmente (si puedes evitarlo).

Con la lanzamiento de nuestro TransferAgent en DockerEl equipo de MASV quiere hablar de la transferencia automática de archivos y de su flujo de trabajo de envío y recepción de archivos.

Una rápida introducción

Fotografía de David Postlethwaite

Mi nombre es David Postlethwaite y me encanta escribir código para que haga mi trabajo. Como antiguo ingeniero de DevOps -ahora Developer Advocate en MASV- mi día a día consistía en escribir los flujos de trabajo automáticos para la creación de código, el despliegue de código, la ejecución de pruebas de integración y la optimización de imágenes para la entrega en la nube. Una de las principales razones por las que me incorporé a MASV fue porque adoptaron esa misma metodología de automatización. Eso incluye la maravillosa herramienta TransferAgent que el equipo ha construido con nuestra capacidad de transferencia automática de archivos.

Qué es MASV TransferAgent

MASV es un servicio de intercambio de archivos centrada en la entrega rápida de archivos pesados y en la transferencia automatizada de archivos. Tenemos una aplicación web, un cliente de escritorio y una API. Los usuarios no dejaban de pedirnos que utilizáramos nuestra API y, con el tiempo, nos dimos cuenta de que necesitábamos una solución más sencilla para las personas que sólo querían ponerse en marcha. Fue entonces cuando creamos TransferAgent.

El MASV TransferAgent es una herramienta diseñada para abstraer nuestra API web para nuestros usuarios. Soporta la carga y descarga de múltiples paquetes al mismo tiempo sin que nuestros usuarios tengan que averiguar las colas, las limitaciones de ancho de banda, y todo tipo de rarezas del sistema de archivos. TransferAgent funcionó tan bien, que decidimos construir nuestro cliente de escritorio alrededor de él. Haciendo que podamos tener un tiempo de respuesta rápido para nuestros usuarios y la mejor versión posible de nuestras herramientas en el mercado.

¿Qué son los contenedores Docker?

gestión de medios iconik colaboración

¿Qué es un contenedor? | Containerización de aplicaciones mediante Docker

Una de las cosas con las que se topará un nuevo automatizador es Docker y la contenerización. A continuación se presenta una propaganda de Docker:

Un contenedor es una unidad de software estándar que empaqueta el código y todas sus dependencias para que la aplicación se ejecute de forma rápida y fiable de un entorno informático a otro.

Puedes pensar en un contenedor como su propia aplicación autocontenida. Mientras exista un motor de contenedores (en nuestro caso Docker) esa aplicación autocontenida se ejecutará siempre de la misma manera sin importar el hardware en el que se encuentre. Tu equipo y el mío ya no tienen que preocuparse por las incompatibilidades entre Windows, Mac y Linux. Los contenedores nos permiten centrarnos en crear la mejor aplicación. Su equipo sólo tiene que preocuparse de cómo utilizar la aplicación (y no de dónde la ejecuta).

Lo que nos llevó a adoptar los contenedores es la forma en que pueden resolver los problemas de compatibilidad entre plataformas y mejorar los flujos de trabajo. Por ejemplo, antes de implantar los contenedores, una empresa tenía tres servidores locales distintos que ejecutaban su sitio web. Cada uno de esos servidores es gestionado manualmente por un administrador de sistemas. Un día, se introduce un error en la aplicación que requiere una actualización del paquete del proveedor y la modificación de los archivos de configuración manual. El administrador del sistema va y hace todos los cambios en cada servidor, pero se olvida de una sola línea en uno de los archivos de configuración. Ahora, sólo dos de los tres servidores funcionan.

Ahora, imagina que estos tres servidores estuvieran ejecutando Docker con el sitio web dentro de un contenedor. Un desarrollador lanza una nueva característica que requiere una nueva dependencia. Anteriormente, esto rompería el servidor ya que le falta la dependencia. En cambio, la imagen Docker se bloquea y se niega a ejecutarse. Permitiendo una fácil reversión a la versión anterior. La solución para los tres servidores es ahora cambiar un archivo en un lugar y reconstruir el contenedor Docker. Entonces todos los servidores pueden utilizar la versión adecuada.

MASV + Docker

"¿Podemos no hacerlo?" es una frase que he oído antes cuando se habla de minimizar la cantidad de trabajo necesario. Su esencia es averiguar si estamos sobre la ingeniería de algo. Mediante la adición de construcciones Docker, podemos dirigir a nuestros usuarios a utilizar la misma versión de TransferAgent. Con la mayoría de nuestros usuarios dirigidos a la versión de Linux, permite que los informes de errores se dirijan principalmente a un sistema operativo, ya que Docker se ejecuta en Mac, Linux y Windows. En otras palabras, Docker nos permite reducir nuestro vector de errores. 

Nota: Somos no eliminando cualquier construcción para las plataformas que actualmente utilizamos y soportamos. 

Los contenedores Docker son increíblemente fáciles de actualizar. Puedes quedarte en tu etiqueta de contenedor `latest`, que descargará la versión más reciente cuando reinicies. O incluso puedes seguir nuestro patrón semver y actualizar cuando lo necesites.

Si esperas trabajar en la construcción de una aplicación o script alrededor de nuestra aplicación TransferAgent, entonces no necesitas preocuparte por los problemas de compatibilidad en el lado de TransferAgent. Una transferencia fácil entre Mac, Linux y Windows es lo que esperamos proporcionar.

Edición de vídeo y automatización

Los editores de vídeo son un grupo creciente de profesionales que buscan automatizar sus flujos de trabajo. Docker es compatible con todo tipo de herramientas, desde FFmpeg, freno de manoe incluso TransferAgent. Con las secuencias de comandos y los archivos adecuados en el lugar correcto, estas herramientas pueden hacer que el renderizado, el acabado y la transferencia final de archivos automatizada sean una brisa.

Si eres un editor de vídeo, un videógrafo, o cualquier tipo de adicto a la tecnología, probablemente tengas algún hardware extra por ahí para poner Docker. Ya sea una Raspberry Pi, tu propio NAS casero o incluso algún viejo portátil que tengas tirado en un rincón. 

Esperamos que permanezcas atento al próximo artículo en el que pondremos en marcha TransferAgent en Docker y que pienses en nosotros para tu próxima transferencia de archivos.

Consulte nuestros documentos para desarrolladores

Si estás preparado para probar el MASV, inscríbase aquí y obtenga 100 GB gratis para su transferencia.