Как синхронизировать развертывания (особенно изменения объектов базы данных) в нескольких средах

У меня есть этот вызов. Я являюсь инженером DevOps и разработчиком программного обеспечения в команде, где месяцы назад разработчики перешли от использования центральной базы данных Oracle к размещению базы данных на виртуальной машине CentOS на своих отдельных ноутбуках. Переход от центральной БД состоял в том, чтобы уменьшить зависимость от администраторов баз данных, а также устранить проблемы, возникающие из-за противоречивых данных.

План для совместного использования и обеспечения синхронизации базы данных со всеми в команде состоял в том, что каждый человек поделится сценариями изменений со всеми. Проблема в том, что мы используем Skype для связи (мы просто настроили слабину, но еще не начали полностью его использовать), и хотя люди иногда публикуют текст сценариев изменения БД, некоторые могут его пропустить. Другая проблема заключается в том, что некоторые разработчики не публикуют изменения. Кроме того, новые выпуски развертываются в Production без развертывания в тестовой и демонстрационной средах.

Это создало серьезную проблему для нас, особенно для меня самого, который в последнее время стал ответственным за обеспечение того, чтобы наши демонстрационные развертывания были синхронизированы с производственными развертываниями. Большинство проблем синхронизации граничат с отсутствием синхронизации базы данных из-за отсутствующих сценариев изменений или отсутствующих объектов БД. Oracle - наша предпочтительная БД.

Типичное развертывание в демо-среде - это очень болезненный процесс, который включает в себя тестирование приложения, и когда возникают проблемы из-за отсутствующих столбцов таблицы БД, функций, хранимых процедур, мы должны искать недостающие объекты БД, применять их к БД, а затем продолжайте, пока все проблемы не будут решены.

Как я могу решить эту проблему, чтобы обеспечить плавное, безболезненное и менее трудоемкое развертывание? Может ли перенос наших приложений в Docker помочь с проблемами синхронизации БД и связанной с этим дисциплиной разработчиков? Какой процесс мы можем внедрить для улучшения в этой области?

Заранее большое спасибо за вашу помощь.

1 ответ

Посмотрите @ http://www.dbmaestro.com/ Я настоятельно рекомендую вам присоединиться к демонстрационной сессии в реальном времени DBmaetro TeamWork может помочь вам объединить изменения из нескольких БД в одну общую БД и безопасно перенести изменения из одной среды в Другой
Дэнни

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