Copiando archivos entre computadoras eficientemente
Introducción al concepto de peer-to-peer (p2p) file sharing y como implementarlo en su empresa a un bajo costo

Una necesidad común entre las compañías es la de copiar archivos entre diferentes computadoras. Por lo general se recurre al uso de los comandos que provee el sistema operativo unido a una tarea calendarizada para lograr el objetivo, pero existen muchas consideraciones que se deben de tomar en cuenta para resolver un problema que inicialmente parece trivial:
Reanudar la copia cuando se cae la red o alguno de los servidores falla
Maximizar el ancho de banda para disminuir el tiempo de copia
Copiar únicamente archivos que han cambiado
Asegurarse de que la copia se haga de manera segura
Recibir notificaciones cuando han ocurrido problemas con el proceso de copia
Permitir copiar archivos entre diferentes plataformas y sistemas operativos
Permitir hacer múltiples copias simultáneas, inclusive a lugares físicamente distantes
Habilitar la copia de archivos a dispositivos tanto en la red empresarial como a servidores en la nube
Pues bien, existe una manera de cumplir con los objetivos listados anteriormente y más, utilizando un programa gratuito llamado Syncthing.
¿Como funciona Syncthing?
Desde el punto de vista tecnológico, Syncthing utiliza el protocolo de comunicación BitTorrent. Sin embargo, esto no significa que cualquiera en el Internet puede ver sus archivos a través de la red Torrent, por el contrario, Syncthing permite que estos archivos sean intercambiados de manera privada, pero manteniendo todas las ventajas tecnológicas que una red peer-to-peer como Torrent puede traer.
La instalación de Syncthing se puede hacer en diferentes dispositivos, desde máquinas físicas o virtuales corriendo Windows, Linux, Mac OS X, etc. hasta dispositivos especializados como un NAS, un teléfono celular y muchos más. Syncthing le permite escoger cuales archivos o folders van a ser compartidos utilizando configuraciones simples o complejas que usted mismo puede especificar en detalle.

Instalando Syncthing en Windows
Los siguientes pasos detallan una guía de instalación básica de Syncthing. Por favor note que este método no es recomendable para ser usado en un servidor de producción, este es simplemente un ejemplo de como poner a correr Syncthing de una forma rápida y simple.
Baje el archivo instalador con la versión mas reciente de Syncthing: https://github.com/syncthing/syncthing/releases
Nota: El archivo de instalación para Windows tiene un nombre que comienza con “syncthing-windows-amd64“, seguido por la versión. La extensión del archivo es .zipCopie el archivo .zip a todas las computadoras que van a formar parte de la copia de archivos privados.
Extraiga los archivos del .zip, y ejecute el archivo syncthing.exe en cada computadora
Se abrirá una pantalla de consola y adicionalmente se abrirá una nueva ventana en su Internet browser apuntando a la página de configuración de Syncthing en: http://127.0.0.1:8384/


Operando Syncthing
Una vez que el servicio está corriendo en los servidores que van a participar en la copia de archivos, es necesario ejecutar dos acciones adicionales: agregar los dispositivos a la red Syncthing y especificar lo que se quiere compartir.
Agregar el dispositivo a la red Syncthing
Desde la página principal de Syncthing:
Obtenga la identificación de cada dispositivo, esta identificación única es creada por Syncthing y se puede ver haciendo click al hyperlink ubicado dentro de la sección “This Device”, al lado derecho de “Identification”

El siguiente paso es agregar este primer dispositivo a los demás dispositivos en la red. Esto se logra haciendo click al botón “+ Add Remote Devices“ en los otros dispositivos de la red, e introduciendo el Device ID así como el Device Name. Finalmente haga click en el botón Save para salvar los datos:

De vuelta en el primer servidor, deberá confirmar que desea establecer la conexión":

Una conexión correcta será confirmada por Syncthing en la sección de Remote Devices

Especificar lo que se quiere compartir
De vuelta en la página principal:
Haga click en el botón Add Folder e introduzca los datos solicitados en el formulario

Haga click en el tab Sharing, y especifique el servidor que va a tener acceso a este folder

Una vez completada esta configuración del folder, deberá aceptar el Sharing:

- Finalmente Syncthing mostrará el folder con su estado actual en la pantalla principal:

A partir de este momento, Syncthing se va a encargar de mantener ambos folders sincronizados. Para conocer en detalle otras formas de configurar Syncthing, recomendamos referirse a la documentación oficial.
Ecosistema y futuro de Syncthing
Los líderes técnicos dentro de las empresas conocen bien la importancia de entender no solo cómo funciona una tecnología, sino el ecosistema que la rodea y su visión a futuro.
En el caso de Syncthing, existe la posibilidad de obtener soporte tanto comercialmente, o bajo la sombrilla de código abierto. Es importante entender que una instalación exitosa de este tipo de soluciones requiere de una planeación técnica y de negocio, además es importante preparar planes de contingencia y un proceso de emergencias que describa las acciones a tomar si algo sale mal.
Syncthing tiene a disposición un roadmap abierto, el cual puede ser influenciado, para el desarrollo y futura dirección de las capacidades ofrecidas por la plataforma.
Debido a su amplia adopción en el mercado y robusto soporte por parte de la comunidad de código abierto, Syncthing no presenta riesgos en el corto o mediano plazo.

Conclusión
Syncthing es una solución tecnológica madura, segura y gratuita para resolver el problema de copia de archivos entre computadoras. Puede ser utilizada en una alta diversidad de dispositivos y se adapta a un sinnúmero de casos de uso, los cuales son comunes en las empresas modernas.




