Я нахожусь в процессе предложения среды размещения базы данных для моего ИТ-отдела. Идея заключается в том, что такой человек, как я (аналитик данных общественных работ), может найти место для тестирования решений, а затем либо сам внедрить их в живую среду, либо попросить ИТ-специалистов внедрить их при необходимости. Есть несколько причин / сценариев, в которых эта среда была бы полезна:
- У меня есть некоторые основные привилегии базы данных в нашей реальной среде базы данных (
create table
,create view
и т.д.). Я делаю изменения схемы примерно раз в неделю, но мне кажется безумным тестировать и применять эти изменения в реальной среде. Существует бесчисленное множество зависимостей от базы данных, поэтому, если что-то пойдет не так, это может иметь катастрофические последствия. Я бы предпочел проверить вещи заранее в отдельной среде. - У меня нет некоторых более продвинутых привилегий, таких как
create trigger
илиcreate function
в реальной базе данных. Это нормально, но у меня есть несколько проблем, которые могут быть решены с помощью триггеров и / или функций. Я планирую предложить, чтобы мне были предоставлены эти разрешения в промежуточной среде, чтобы я мог разрабатывать и тестировать некоторые идеи, и, если они работают, предложить ИТ-специалистам реализовать их в реальной среде. - В общем, у моего ИТ-отдела нет времени или ресурсов для разработки решений для меня. Это действительно так просто. Так что, если я смогу выполнить работу самостоятельно, то мои проблемы с большей вероятностью будут решены.
«Промежуточная среда для не-ИТ-персонала» кажется мне достаточно разумным подходом, но, если честно, я просто выдвинул эту идею. Я понятия не имею, как это обычно делается в мире ИТ / баз данных.
Существует ли какая-либо установленная практика ИТ / баз данных, которая бы соответствовала этому сценарию? (Правильно ли я нахожусь на правильном пути, предлагая промежуточную среду базы данных для не ИТ-персонала?)
источник
Ответы:
Я согласен с ответом @Marcin Gminiski о том, что в идеале вы хотите иметь среду, которая имитирует функциональность, доступную в вашей производственной среде. Хотя мои 2 цента по этому вопросу сводятся к: «Что вы можете себе позволить?» Бюджетные ограничения часто являются убийцей хорошего процесса, поэтому то, что вы можете себе позволить, определит сложность / элегантность вашего окончательного решения.
Поскольку вы упоминаете, что вашему ИТ-отделу не хватает времени и персонала, чтобы подготовить для вас среду, можете ли вы (или, скорее, ваш отдел / менеджер) привлечь какое-либо финансирование? Приобретение небольшого количества ежегодного финансирования откроет возможность взглянуть на облако. Облачные провайдеры предлагают все, что вам нужно, а некоторые решения даже включают в себя соответствующие лицензии, которые часто являются вашей самой большой ценой в сравнении с Oracle. Если вы не выбрасываете конфиденциальные данные в эту среду, облако становится еще более привлекательным.
Существуют всевозможные варианты облачных вычислений, но я укажу вам на экземпляры Oracle RDS в AWS исключительно потому, что они предлагают опцию « Включенная лицензия» , и вы можете отключить ее, если не используете ее, чтобы дополнительно минимизировать затраты. Эквивалент может существовать у других облачных провайдеров, но многие облачные провайдеры, с которыми я знаком, требуют, чтобы вы принесли свою собственную лицензию (BYOL) для решений на основе Oracle вместо того, чтобы предлагать инклюзивную лицензию.
Последнее замечание: экземпляр AWS RDS является ТОЛЬКО базой данных, поэтому любая инфраструктура сервера приложений, в которой вы также нуждаетесь, должна учитываться дополнительно. Облако - отличный вариант, если вам нужна быстрая среда для тестирования функциональности, и все это при этом является экономически эффективным подходом; просто убедитесь, что вы держите его в руках и выключаете, чтобы не платить за незанятые серверы.
источник
Обычно приличная среда состоит как минимум из DEV -> TEST -> PRE-PROD -> PROD. Разработка обычно имеет доступ к разработке в DEV, приемочное тестирование в TEST и IT для выпуска в PRE и PROD. Если вы используете управление исходным кодом, вы избежите проблем с редактированием одного и того же фрагмента кода разными разработчиками одновременно.
Технически, вам нужно только, чтобы схема была такой же, как в prod, и вам не нужны производственные данные ниже pred prod, но если вы согласны с наличием данных prod вне среды prod, вы можете выполнить автоматическое восстановление в dev / test. Я проделал аналогичную работу с Visual Cron, и он творит чудеса.
Скорее всего, для того, чтобы оставаться совместимым, ИТ-персоналу придется вносить изменения в pre и prod, чтобы сделать это проще и более гибким, чтобы вы могли пойти по пути автоматизированного развертывания.
источник
Вот мой опыт:
Первоначально у нас была центральная среда разработки под названием
simserver
. Разработчики тестировали бы вещи одновременно, и это становилось грязным .Теперь у каждого разработчика есть локальная
simserver
среда, которую они развернули для тестирования. Как только они говорят, что оно готово, его подталкивают кquality assurance (QA) environment
. У нас естьjira
тесты для всего, что нужно проверить, плюс мы снова тестируем новые дополнения (у нас есть специальный персонал QA, который не занимается разработкой; просто QA).Тогда это толкается вживую.
Создание локального
simserver
логично и легко. Как только вы подготовитеVM
шаблоны, разработчики просто развернут их на своем персональном компьютере (без доступа к остальной части сети - только на своем локальном компьютере).источник