Надежный простой дистрибутив файлов / приложений в глобальной интрасети?

Я работаю в компании с большой медленной глобальной сетью, охватывающей множество разных мест на всех континентах.

Релизы конкретного внутреннего приложения состоят из DLL и файлов данных, которые могут в совокупности превысить 100 МБ, и есть разговоры о росте приложения. На каждом настольном компьютере есть программа запуска, которая проверяет наличие новой версии, загружает новые файлы и запускает современное приложение.

В идеале было бы неплохо скопировать новую версию приложения на один "главный" сервер. Затем он будет эффективно и надежно распространяться на локальные серверы по всему миру. Средство запуска рабочего стола затем получит приложение с подходящего локального сервера. В идеале это было бы хорошо для частей WAN, выходящих из строя, для локальных серверов, находящихся в нерабочем состоянии, или передачи с сервера на сервер или с сервера на клиент, прерываемые на полпути.

В настоящее время программа загрузки загружает приложение с одного сервера и не определяет, где находится клиент. Это медленно и может раздавить WAN с частыми выпусками.

Я видел точно такое же (плохое) решение у предыдущего работодателя. Должно быть лучшее решение!

Являются ли существующие простые надежные решения для этого идеально подходящими для настольных клиентов под управлением Windows XP и Windows 7?

Похоже, что Microsoft использует в своей BranchCache некоторые изящные технологии ( http://www.microsoft.com/en-us/server-cloud/windows-server/branchcache.aspx), особенно в распределенном кэше. Но большинство наших клиентов (к сожалению) Windows XP.

1 ответ

Если все ваши клиенты являются членами домена, вам следует использовать достаточно сложное решение для распространения программного обеспечения, такое как System Center Configuration Manager, которое обеспечивает инфраструктуру кэширования и дифференциальные обновления.

Как решение для бедного человека, вы должны иметь возможность использовать Dfs вместе с репликацией для получения копий установщика в близлежащие местоположения. Информация о сайте встроена в Dfs, поэтому клиенты будут пытаться сначала получить доступ к серверу на своем собственном сайте и переключиться на произвольный сервер или сервер, который можно указать, если локальный сервер недоступен.

Вы также можете попытаться подойти к этой проблеме с точки зрения разработчика. Методы для эффективного развертывания самообновляющихся приложений существуют, см. ClickOnce/ блок приложения обновления - в идеале, вам нужно найти что-то, что вписывается в ваш текущий код установщика. Введение локального HTTP-прокси в это уравнение даст желаемый эффект.

Другим интересным вариантом без существенных изменений в инфраструктуре было бы использование одноранговых протоколов для развертывания программного обеспечения. В этом случае все ваши клиенты, которые в данный момент находятся в сети, действуют как локальные кэши сайтов. Это делает коммерческий продукт под названием DistriApps, есть также Murder, который имеет открытый исходный код, но имеет зависимости от Python и, скорее, написан для серверов Linux - хотя вы можете заставить его работать в вашем сценарии.

Другие вопросы по тегам