Я приближаюсь к тому моменту, когда хочу сказать «давай запустим» систему клиента, над которой я работал последние несколько месяцев, в основном это несколько автономных сервисов, включая общедоступный веб-сайт, интранет-сайт, почасовой экспортер из устаревшего OLTP DB на основе модифицированных флагов/триггеров и т. д. и нескольких других служб, составляющих систему, каждая со своей собственной специализированной базой данных и т. д., взаимодействующих друг с другом посредством сообщений (NServiceBus).
Когда я начинал, я пытался поддерживать локальную репликацию всего, но это оказывалось все более и более трудным, и, по размышлении, вероятно, это был главный вопрос последних нескольких недель. Мне нравится регулярно обновляться, поскольку унаследованная база данных растет и вызывает сотни события ежедневно. Наличие высокой задержки и посредственной пропускной способности (между мной и сайтом клиента, я нахожусь в Юго-Восточной Азии, где пропускная способность в любом случае дерьмовая) также является проблемой для RDP, инструментов SQL, строк удаленного подключения и т. д. Отслеживание ошибок интеграции и понимание сценариев они представляют во время обратной связи/интеграции/контроля качества, также сложно, поскольку мои данные не отражают текущее состояние БД клиента (персонал клиента работал и совершенствовал данные в конце) и означает еще один перерыв, кофе и снова длительную синхронизацию . Было бы идеально сделать все это локально, а затем развернуть в конце, но я должен доставлять части постепенно (чтобы получить чек), а некоторые части даже используются (хотя и не критично), поэтому исправление ошибок на используемых патчах требует поворота вокруг быстро, и поскольку это небольшая компания, постепенная обратная связь помогает избавиться от некоторых из наиболее расплывчатых требований на этом пути (будь я проклят).
Я подумал, что было бы хорошо иметь два раза в день синхронизацию между средами (их БД с моей), я в некоторой степени контролирую дизайн всего, кроме устаревшей базы данных SQL-сервера.
Каковы наилучшие варианты для пользователей SO?
Я думал о настройке облегченной виртуальной машины Windows 2003 на моем устройстве разработки. И при этом установите ту же настройку клиентских сайтов (но, очевидно, не распределенную по нескольким серверам). И тогда для синхронизации баз данных я думал о репликации SQL Server? или пакетные скрипты? Или есть какие-нибудь инструменты получше - те, которые обеспечивают быстрое и хорошее сжатие? Я не хочу, чтобы мои изменения возвращались в производство (у меня есть отдельная процедура CI и развертывания), я просто хочу (думаю, что хочу... скажите, если идея лучше), чтобы мои базы данных обновлялись каждую ночь или два раза в день. (возможно, пока я обедаю, если позволяет пропускная способность).
Как все относятся к этому?