Лучший инструмент для передачи байтов (копирование файлов, сжатие, загрузка и т. д.)

Это будет длинная история :)
В течение последнего десятилетия команда инженеров (мы) поддерживала доморощенный инструмент для команды инженеров по развертыванию, написанный на C # для передачи файлов между центрами обработки данных, а недавно и в облако. Он достаточно гибкий и способен передавать большие объемы данных. однако это устаревший код с низкой ремонтопригодностью, к тому же написание такого инструмента не является компетенцией команды SE и не является основным делом. Я провел пару дней в поисках такого инструмента, но безрезультатно. Никто не делает все, что нам нужно, и, поскольку это очень очевидные задачи, я думаю, что просто проглядел это или искал не в том месте.
Итак, что я искал?
Инструмент должен уметь копировать файлы из нескольких источников в одно место назначения и наоборот, копировать (или перемещать) файлы из одного источника в несколько мест назначения. Иногда (обычно при отправке по сети за пределы центра обработки данных) его следует сжать перед отправкой, инструмент на принимающей стороне должен иметь возможность распаковывать входящие файлы и отправлять их дальше одному или нескольким адресатам.
Кроме того, он должен иметь возможность загружать/загружать файлы на/с FTP (сжатие перед загрузкой, распаковка после загрузки). Он должен иметь возможность настройки для поддержки резервного копирования отправляемых файлов, например, сжатия файлов, загрузки на FTP, загрузки несжатых файлов в облако (например, S3) для резервного копирования, удаления локальных исходных файлов.
Что касается надежности, он должен обнаруживать частично загруженные/скопированные файлы (например, проверять целостность сжатых файлов). Кроме того, при выполнении операций с интенсивным использованием ЦП (например, при сжатии) он должен иметь возможность использовать несколько устройств чтения/записи, иначе полоса пропускания не будет использоваться полностью. И последнее, но не менее важное: несколько экземпляров такого инструмента, работающего на нескольких машинах, должны иметь возможность извлекать файлы из общей общей папки (да, ракетостроение)

. Типичные варианты использования:
Thingy instance01 — копирование файлов из нескольких папок на сервере в несколько папок . на NAS, реплицируя структуру папок.
Thingy instance02 — сжать файлы, скопированные ранее на NAS, загрузить на FTP, загрузить в облако, сделать резервные копии на другое хранилище NAS, удалить источник.
Thingy instance03 — загрузка с FTP, распаковка, копирование файлов в общую папку.
Thingy instance04..10 — вытащить файлы из общей папки на другую машину, где анализатор файлов ожидает входящих материалов.
Thingy instance11 — собрать файлы, обработанные на предыдущем шаге, сжать и скопировать на машину DWH, загрузить в Hadoop, скопировать в место резервной копии

Теперь вопрос, поскольку вся эта «передача байтов» туда и обратно не является чем-то необычным в большой интернет-компании. , существует ли инструмент COTS, который может выполнить все вышеперечисленное?

Вам нужно сжатие с любым FTP-сервером, даже с теми, которые не поддерживают Mode Z?
Что вы подразумеваете под «общей общей папкой»? СИФС?
Да, так как мы упаковываем несколько файлов в один сжатый архив для достижения лучших коэффициентов сжатия.
@NicolasRaoul, общая общая папка - это папка на физическом носителе, доступная с использованием пути UNC для многих экземпляров «переносчика файлов», поэтому он должен позаботиться о случае, когда два или более экземпляра пытаются извлечь один и тот же файл.
Если FTP-сервер, отличный от Mode-Z, доступен только через FTP, вы не сможете распаковать его после загрузки. Этот сервер также доступен, например, через SSH, или вы можете установить на него своего рода агент?
@NicolasRaoul Думаю, произошло недоразумение, я не ожидаю, что FTP сможет что-то сделать, это просто способ передачи файлов по глобальной сети, «штучка» будет сжимать и загружать, а другой экземпляр «штучки», который работает в другом месте будет скачивать и распаковывать

Ответы (1)

Эй, я думаю, у меня есть решение для вас — Cloud FastPath, он подключается ко всем этим системам и имеет проприетарное сжатие и оптимизацию WAN. У него действительно отличные отчеты для частично переданных и сбойных файлов, а также множество средств автоматизации.

* редактировать - я работаю в Cloud FastPath

Вау звучит как то, что нам нужно. Проверим позже. Подождите пару дней, прежде чем я отмечу ваш ответ как ответ
это недешево, должен признать :) сотни ТБ в месяц обойдутся нам дороже, чем наем выделенного разработчика для нашего самодельного решения
Принятие в качестве ответа, несмотря на то, что SaaS — это не то, что мы ищем.