powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересует совет по доступу к основному серваку разрабов в большой команде
25 сообщений из 40, страница 1 из 2
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898533
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предыстория. Я пришел в коллектив, где было изначально не более 8 разрабов, где было принято, кто что написал, тот и накатил на основной сервак. Сейчас разрабов более 20, и встают организационные вопросы. Это и ошибки при накатке, и не оптимизированные запросы, это и доступ к важным данным, отключение логирования и тд. Грубо говоря, сейчас у нас каждый программер бог. Что хочет, то с базой и делает.

Интересует рабочий алгоритм как в больших предприятиях происходит накатка скриптов и доступ к основному серваку. Если есть адмн БД, то какие обязанности в него входят и тд.
Пасиб
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898540
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... еще 10-ток тестировщиков + пара тестовых серверов + покрывающие тесты + система контроля версий.
И твои проблемы рассеются.

Но это недешево.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898547
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Ну... еще 10-ток тестировщиков + пара тестовых серверов + покрывающие тесты + система контроля версий.
И твои проблемы рассеются.

Но это недешево.


Вообще как раз вот тут то проблемы и начинаются
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898548
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тестировщики есть, тестовый тоже, тут прикол в том, что программеры неконтролируемо могут вносить правки на основной сервак. И мне интересно, как это реализовано в компаниях, где 20+ прогеров, которые работают над одним проектом
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898552
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther, весь код заливается в git или какую-либо иную систему контроля версий. Выбор зависит от желания разработчиков. Проект для git можно сделать через любую компарилку (инструмент для сравнения баз/проектов): Visual Studio - проект базы данных, сравнение базы с проектом, Redgate SQL Compare - сравнение базы с папочкой с заливкой в нее исходников. Возможно, есть ещё инструменты. Я пользовался этими двумя, предпочитал Redgate.
Основное правило работы с git: ветка master всегда должна совпадать с состоянием боевой базы - изменения напрямую в боевой базе не допускаются.
Разработчики либо совсем не имеют доступа на бой, либо имеют доступ только на чтение/просмотр описаний объектов.

Кроме боевой базы заводятся:
предпрод - является копией прода и периодически с него переподнимается - например, раз в неделю.
тест - контур для функционального тестирования бизнес-заказчиками/аналитиками/тестировщиками.
Девелоп - контур для первоначального тестирования фич, тестирования совместимости изменений от разных разработчиков и т.д.
В идеале - По одной разработческой базе на каждого разработчика.

Можно некоторые пропустить, например, отдельные разработческие базы, оставить Девелоп для разработки, тест для тестирования только готовых фич.

Процесс разработки:
Разработчики под каждую задачу заводят веточку в git, в зависимости от сложности фичи, либо напрямую правят объекты базы в проекте, редактированием файликов, либо сначала накатывают проект на свою базу, разрабатывают в базе, потом через компарилку заливают изменения в проект, делают коммит.
Коммит отправляется на code review либо выбранному ответственному за его проведение (если есть старшие/младшие разработчики), либо случайному коллеге (если уровень разработчиков в целом близок).
Далее, при работе по gitflow или похожему процессу - создается релизная ветка, в нее включаются задачи, которые должны войти в релиз, коммиты этих веток сливаются в релизную, через средство автоматизации (в разных местах использовали TFS и Teamcity) собираются скрипты наката/отката релиза.
Релиз накатывается на тест, проходит функциональное тестирование (новая фича работает), накатывается на предпрод, проходит регрессионное тестирование (старые фичи не сломались), накатывается на прод силами DBA, либо через автоматический инструмент, типа Octopus Deploy.

Понятно, что все шаги максимально автоматизируются для удобства - например, создание веток под задачи делается одной кнопкой в Jira при установленном плагине работы с Git, заливка проекта в разработческую базу - делается отдельно написанным батником (если будет интересно - могу поделиться, где-то остались).
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898554
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
тестировщики есть, тестовый тоже, тут прикол в том, что программеры неконтролируемо могут вносить правки на основной сервак. И мне интересно, как это реализовано в компаниях, где 20+ прогеров, которые работают над одним проектом
Единственный способ поддерживать порядок - лишить разработчиков доступа к проду. Как накатывать изменения - описал выше )
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898577
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гит есть, код ревью (какой никакой тоже), но только для фронта. SQL почти не мониторится, все никак не могу донести до начальства, что именно база это 90% проекта, а не клиент. Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть?
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898579
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto
Единственный способ поддерживать порядок - лишить разработчиков доступа к проду

ною об этом уже оооочень долго
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898594
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть?

Иметь дежурного DBA, который имеет доступ к проду. Если разработчикам оставить доступ к проду на чтение - обычно этого достаточно, чтобы локализовать проблему, подготовить скрипты для исправления, они передаются DBA, DBA накатывает на прод.
Если не оставлять, то разработчик подсаживается к DBA с его доступом и, под наблюдением, локализует причину и правит.
Если исправление требует изменения объектов (хранимок, функций, вьюх) - обязать по факту исправления актуализировать мастер-ветку для слияния изменений.

Если нет возможности/желания напрягать на это дело DBA - оставить паре самых ответственных разработчиков из тех, чьи графики максимально перекрывают все рабочее время, доступ на прод для исправления с наказом не пользоваться им кроме как для решения критических проблем.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898596
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
ною об этом уже оооочень долго

Достаточно внедрить правильный процесс разработки (это тоже нетривиальная задача, сил на это много может уйти) и перестать выдавать доступ новым разработчикам. Постепенно, если есть ротация кадров, за несколько лет останется не так много разработчиков с доступом - это уже будет легче, чем когда доступ есть у всех.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898607
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto,

так же ныл по поводу DBA, ответ был прост. авторЕсли он один имеет доступ и завтра его собьет машина? Посему хотел собрать инфу из больших рабочих проектов и попытаться поныть еще раз. То есть теорию я и так понимаю, мне надо именно рабочий вариант, который работает как в обычном режиме и в режиме пи..ц
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898624
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther,

Заберите сисадминов.. Закройте доступ к серверу разработчикам, хотя бы на ALTER.
Разработку ведите в VS проекте, а не на сервере. Изучите Agile методики разработки, используйте версионирование. Назначьте ответственных за публикации, планируйте публикации. Изучите методики рефакторинга БД. Для тестирования установите локальные БД, создайте скрипты заполнения синтетическими данными. В общем, много работы.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898637
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
Minamoto,

так же ныл по поводу DBA, ответ был прост. авторЕсли он один имеет доступ и завтра его собьет машина?
Посему хотел собрать инфу из больших рабочих проектов и попытаться поныть еще раз. То есть теорию я и так понимаю, мне надо именно рабочий вариант, который работает как в обычном режиме и в режиме пи..ц
Ну, по факту, если DBA один - да, иметь ещё несколько разработчиков с доступом. По факту ни разу ещё не было такого, чтобы полностью получилось всех разработчиков лишить доступа. Но перевести разработку с боя в основном в проект - вполне - это вопрос воспитания культуры разработки, как любое другое воспитание - делается медленно и постепенно, спешить не стоит.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898681
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто проекту 15+ лет, из них 13 писалась в режиме "кто сделал, тот и накатил" и из основателей троих уже нет. Посему шанс ошибки всегда имеется, как минимум из за незнания процесса, ибо нагнуться может банально через неделю, и тогда начинается гарячка "ааа, все пропало, срочно чини"
ПС
а с культурой разработки именно sql все печально, в свое время разработчики набирались по принципу знаешь хорошо делфи - подходишь, а селект писать как два пальца

в общем, примерную инфу собрал, пасиб, если у кого то еще есть практика работы большой команды в бесконечном проекте и правил работы с БД, буду рад почитать
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898729
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нууу года два понадобится, чтобы процесс устаканился. Но качество релизов на порядок вырастет, без преувеличения. Хотя немного страдает скорость.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39898740
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть?

Составляете график on-call дежурств. По этому графику добавляете/удаляете юзеров из AD группы, которая имеет sa на сервере.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899231
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Remind,

И что в этом случае помешает организовать кому угодно абсолютно любой доступ вне всякого расписания?
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899234
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther,

Вам всё верно расписали выше, но есть одно большое "но" - это крайне дорого, начиная от кучи сред, до отдельных вакансий на поддержку всего этого дела + общее замедление работы. Это ежегодные расходы на несколько миллионов рублей. Посоветуйтесь с руководством по критичности вашей системы, может оно особо и не надо, а сбои вполне терпимы по сравнению с расходами.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899244
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. unit tests
2. pre-review назначенный 1-2 разработчика + тим лид
3. post review 1-2 уже других разработчика + тим лид
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899256
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
просто проекту 15+ лет, из них 13 писалась в режиме "кто сделал, тот и накатил"
...
а с культурой разработки именно sql все печально, в свое время разработчики набирались по принципу знаешь хорошо делфи - подходишь, а селект писать как два пальца
Так проблема больше не в плохих процессах, а в отсутствии специалистов по сиквелу.

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

Но когда система реально эксплуатируется, постоянно усложняется, и повышается нагрузка, а из разработчиков уже нет не только тех, кто это изначально делал, но и тех, кто это после них менял, то отсутствие специалиста (ов) становится критичным. А процессы, доступ, тестирование, версионное хранилище исходников - это уже следствие отсутствия специалиста.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899295
ther
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вот читаю, и понимаю, что мне надо оооочень аккуратно собрать инфу, что бы не спугнуть начальство))) я уже пол года пробиваю тему повышения квалификации sql и отдельную должность dba. Но, судя по всему, все будет куда сложнее. Пасиб большое, куча полезной инфы
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899348
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ещё почитать, что такое continuous integration и continuous delivery. Эти вещи вообще можно автоматизировать с помощью тулов типа Jenkins. Пока оно дойдёт до выкладки ревизии на прод, то участие разрабов будет и не нужно. У нас, например, разрабы вообще имеют доступ только к своим разработчитским серверам. Максимум к stage. А на прод они сами боятся ходить, да и нельзя - регулятор уши оборвёт.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899369
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ther
у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть?

инциденты надо фиксировать и после разбирать, почему в 11 вечера случилась срака, находить причину и предпринимать действия, чтобы этого больше не было
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899420
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

соглашусь, что при наличии одной группы квалифицированных разработчиков 3-4 человека , работающих над одним проектом или разными в непересекающихся областях планирование выпусков не обязательно. Но обязательным остается тестирование и версионирование. Тесты гарантируют качество кода (а человек через две недели не вспомнит, что делал), версионирование позволяет отменить изменения без длительного копания в коде. практика показывала, что публикация без тестов - это 50% случаев промаха. Разве что последствия не всегда были фатальными, это снижает заметность проблемы.
...
Рейтинг: 0 / 0
Интересует совет по доступу к основному серваку разрабов в большой команде
    #39899431
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
alexeyvg,

соглашусь, что при наличии одной группы квалифицированных разработчиков 3-4 человека , работающих над одним проектом или разными в непересекающихся областях планирование выпусков не обязательно. Но обязательным остается тестирование и версионирование. Тесты гарантируют качество кода (а человек через две недели не вспомнит, что делал), версионирование позволяет отменить изменения без длительного копания в коде. практика показывала, что публикация без тестов - это 50% случаев промаха. Разве что последствия не всегда были фатальными, это снижает заметность проблемы.
Конечно, я, даже когда один что то программирую, использую версионный контроль, и дев-сервер.

Просто я говорил, что последствия для маленького проекта и небольшой команды будут не такие явные, кричащие, как в больших. У ТС, похоже, уже началась стадия большого проекта, когда недостатки в постановке процессов уже выперли во всю ширь.
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересует совет по доступу к основному серваку разрабов в большой команде
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]