|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Предыстория. Я пришел в коллектив, где было изначально не более 8 разрабов, где было принято, кто что написал, тот и накатил на основной сервак. Сейчас разрабов более 20, и встают организационные вопросы. Это и ошибки при накатке, и не оптимизированные запросы, это и доступ к важным данным, отключение логирования и тд. Грубо говоря, сейчас у нас каждый программер бог. Что хочет, то с базой и делает. Интересует рабочий алгоритм как в больших предприятиях происходит накатка скриптов и доступ к основному серваку. Если есть адмн БД, то какие обязанности в него входят и тд. Пасиб ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 12:37 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Ну... еще 10-ток тестировщиков + пара тестовых серверов + покрывающие тесты + система контроля версий. И твои проблемы рассеются. Но это недешево. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 12:53 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
aleks222 Ну... еще 10-ток тестировщиков + пара тестовых серверов + покрывающие тесты + система контроля версий. И твои проблемы рассеются. Но это недешево. Вообще как раз вот тут то проблемы и начинаются ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:06 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
тестировщики есть, тестовый тоже, тут прикол в том, что программеры неконтролируемо могут вносить правки на основной сервак. И мне интересно, как это реализовано в компаниях, где 20+ прогеров, которые работают над одним проектом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:06 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther, весь код заливается в git или какую-либо иную систему контроля версий. Выбор зависит от желания разработчиков. Проект для git можно сделать через любую компарилку (инструмент для сравнения баз/проектов): Visual Studio - проект базы данных, сравнение базы с проектом, Redgate SQL Compare - сравнение базы с папочкой с заливкой в нее исходников. Возможно, есть ещё инструменты. Я пользовался этими двумя, предпочитал Redgate. Основное правило работы с git: ветка master всегда должна совпадать с состоянием боевой базы - изменения напрямую в боевой базе не допускаются. Разработчики либо совсем не имеют доступа на бой, либо имеют доступ только на чтение/просмотр описаний объектов. Кроме боевой базы заводятся: предпрод - является копией прода и периодически с него переподнимается - например, раз в неделю. тест - контур для функционального тестирования бизнес-заказчиками/аналитиками/тестировщиками. Девелоп - контур для первоначального тестирования фич, тестирования совместимости изменений от разных разработчиков и т.д. В идеале - По одной разработческой базе на каждого разработчика. Можно некоторые пропустить, например, отдельные разработческие базы, оставить Девелоп для разработки, тест для тестирования только готовых фич. Процесс разработки: Разработчики под каждую задачу заводят веточку в git, в зависимости от сложности фичи, либо напрямую правят объекты базы в проекте, редактированием файликов, либо сначала накатывают проект на свою базу, разрабатывают в базе, потом через компарилку заливают изменения в проект, делают коммит. Коммит отправляется на code review либо выбранному ответственному за его проведение (если есть старшие/младшие разработчики), либо случайному коллеге (если уровень разработчиков в целом близок). Далее, при работе по gitflow или похожему процессу - создается релизная ветка, в нее включаются задачи, которые должны войти в релиз, коммиты этих веток сливаются в релизную, через средство автоматизации (в разных местах использовали TFS и Teamcity) собираются скрипты наката/отката релиза. Релиз накатывается на тест, проходит функциональное тестирование (новая фича работает), накатывается на предпрод, проходит регрессионное тестирование (старые фичи не сломались), накатывается на прод силами DBA, либо через автоматический инструмент, типа Octopus Deploy. Понятно, что все шаги максимально автоматизируются для удобства - например, создание веток под задачи делается одной кнопкой в Jira при установленном плагине работы с Git, заливка проекта в разработческую базу - делается отдельно написанным батником (если будет интересно - могу поделиться, где-то остались). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:12 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther тестировщики есть, тестовый тоже, тут прикол в том, что программеры неконтролируемо могут вносить правки на основной сервак. И мне интересно, как это реализовано в компаниях, где 20+ прогеров, которые работают над одним проектом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:15 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Гит есть, код ревью (какой никакой тоже), но только для фронта. SQL почти не мониторится, все никак не могу донести до начальства, что именно база это 90% проекта, а не клиент. Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:57 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Minamoto Единственный способ поддерживать порядок - лишить разработчиков доступа к проду ною об этом уже оооочень долго ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 13:58 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть? Иметь дежурного DBA, который имеет доступ к проду. Если разработчикам оставить доступ к проду на чтение - обычно этого достаточно, чтобы локализовать проблему, подготовить скрипты для исправления, они передаются DBA, DBA накатывает на прод. Если не оставлять, то разработчик подсаживается к DBA с его доступом и, под наблюдением, локализует причину и правит. Если исправление требует изменения объектов (хранимок, функций, вьюх) - обязать по факту исправления актуализировать мастер-ветку для слияния изменений. Если нет возможности/желания напрягать на это дело DBA - оставить паре самых ответственных разработчиков из тех, чьи графики максимально перекрывают все рабочее время, доступ на прод для исправления с наказом не пользоваться им кроме как для решения критических проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:20 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther ною об этом уже оооочень долго Достаточно внедрить правильный процесс разработки (это тоже нетривиальная задача, сил на это много может уйти) и перестать выдавать доступ новым разработчикам. Постепенно, если есть ротация кадров, за несколько лет останется не так много разработчиков с доступом - это уже будет легче, чем когда доступ есть у всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:25 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Minamoto, так же ныл по поводу DBA, ответ был прост. авторЕсли он один имеет доступ и завтра его собьет машина? Посему хотел собрать инфу из больших рабочих проектов и попытаться поныть еще раз. То есть теорию я и так понимаю, мне надо именно рабочий вариант, который работает как в обычном режиме и в режиме пи..ц ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:38 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther, Заберите сисадминов.. Закройте доступ к серверу разработчикам, хотя бы на ALTER. Разработку ведите в VS проекте, а не на сервере. Изучите Agile методики разработки, используйте версионирование. Назначьте ответственных за публикации, планируйте публикации. Изучите методики рефакторинга БД. Для тестирования установите локальные БД, создайте скрипты заполнения синтетическими данными. В общем, много работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 14:54 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Minamoto, так же ныл по поводу DBA, ответ был прост. авторЕсли он один имеет доступ и завтра его собьет машина? Ну, по факту, если DBA один - да, иметь ещё несколько разработчиков с доступом. По факту ни разу ещё не было такого, чтобы полностью получилось всех разработчиков лишить доступа. Но перевести разработку с боя в основном в проект - вполне - это вопрос воспитания культуры разработки, как любое другое воспитание - делается медленно и постепенно, спешить не стоит. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:06 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
просто проекту 15+ лет, из них 13 писалась в режиме "кто сделал, тот и накатил" и из основателей троих уже нет. Посему шанс ошибки всегда имеется, как минимум из за незнания процесса, ибо нагнуться может банально через неделю, и тогда начинается гарячка "ааа, все пропало, срочно чини" ПС а с культурой разработки именно sql все печально, в свое время разработчики набирались по принципу знаешь хорошо делфи - подходишь, а селект писать как два пальца в общем, примерную инфу собрал, пасиб, если у кого то еще есть практика работы большой команды в бесконечном проекте и правил работы с БД, буду рад почитать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 15:55 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Нууу года два понадобится, чтобы процесс устаканился. Но качество релизов на порядок вырастет, без преувеличения. Хотя немного страдает скорость. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 16:45 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Но тут есть нюанс, как быть, если случается жопа, внештатка, которую надо править только на основном серваке? у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть? Составляете график on-call дежурств. По этому графику добавляете/удаляете юзеров из AD группы, которая имеет sa на сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2019, 17:08 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Remind, И что в этом случае помешает организовать кому угодно абсолютно любой доступ вне всякого расписания? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 17:47 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther, Вам всё верно расписали выше, но есть одно большое "но" - это крайне дорого, начиная от кучи сред, до отдельных вакансий на поддержку всего этого дела + общее замедление работы. Это ежегодные расходы на несколько миллионов рублей. Посоветуйтесь с руководством по критичности вашей системы, может оно особо и не надо, а сбои вполне терпимы по сравнению с расходами. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 17:51 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
1. unit tests 2. pre-review назначенный 1-2 разработчика + тим лид 3. post review 1-2 уже других разработчика + тим лид ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 18:46 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther просто проекту 15+ лет, из них 13 писалась в режиме "кто сделал, тот и накатил" ... а с культурой разработки именно sql все печально, в свое время разработчики набирались по принципу знаешь хорошо делфи - подходишь, а селект писать как два пальца Когда базы небольшие, не очень сложные, и разработчики всё это делали с самого начала, то отсутствие правильных процессов и выделенных сиквелистов не приводят к особым проблемам, ну, максимум, что то перестанет работать пару раз в год, так и починят быстро, и вообще, все работы с сервером стараются вести в нерабочее время. Но когда система реально эксплуатируется, постоянно усложняется, и повышается нагрузка, а из разработчиков уже нет не только тех, кто это изначально делал, но и тех, кто это после них менял, то отсутствие специалиста (ов) становится критичным. А процессы, доступ, тестирование, версионное хранилище исходников - это уже следствие отсутствия специалиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 19:08 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
я вот читаю, и понимаю, что мне надо оооочень аккуратно собрать инфу, что бы не спугнуть начальство))) я уже пол года пробиваю тему повышения квалификации sql и отдельную должность dba. Но, судя по всему, все будет куда сложнее. Пасиб большое, куча полезной инфы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2019, 21:11 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Можно ещё почитать, что такое continuous integration и continuous delivery. Эти вещи вообще можно автоматизировать с помощью тулов типа Jenkins. Пока оно дойдёт до выкладки ревизии на прод, то участие разрабов будет и не нужно. У нас, например, разрабы вообще имеют доступ только к своим разработчитским серверам. Максимум к stage. А на прод они сами боятся ходить, да и нельзя - регулятор уши оборвёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 06:11 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther у нас база 24/7 и если в 11 вечера срака, то любой может поправить. Вот как в такой ситуации быть? инциденты надо фиксировать и после разбирать, почему в 11 вечера случилась срака, находить причину и предпринимать действия, чтобы этого больше не было ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 11:50 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
alexeyvg, соглашусь, что при наличии одной группы квалифицированных разработчиков 3-4 человека , работающих над одним проектом или разными в непересекающихся областях планирование выпусков не обязательно. Но обязательным остается тестирование и версионирование. Тесты гарантируют качество кода (а человек через две недели не вспомнит, что делал), версионирование позволяет отменить изменения без длительного копания в коде. практика показывала, что публикация без тестов - это 50% случаев промаха. Разве что последствия не всегда были фатальными, это снижает заметность проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 17:01 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Владислав Колосов alexeyvg, соглашусь, что при наличии одной группы квалифицированных разработчиков 3-4 человека , работающих над одним проектом или разными в непересекающихся областях планирование выпусков не обязательно. Но обязательным остается тестирование и версионирование. Тесты гарантируют качество кода (а человек через две недели не вспомнит, что делал), версионирование позволяет отменить изменения без длительного копания в коде. практика показывала, что публикация без тестов - это 50% случаев промаха. Разве что последствия не всегда были фатальными, это снижает заметность проблемы. Просто я говорил, что последствия для маленького проекта и небольшой команды будут не такие явные, кричащие, как в больших. У ТС, похоже, уже началась стадия большого проекта, когда недостатки в постановке процессов уже выперли во всю ширь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2019, 18:12 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
alexeyvg ther просто проекту 15+ лет, из них 13 писалась в режиме "кто сделал, тот и накатил" ... а с культурой разработки именно sql все печально, в свое время разработчики набирались по принципу знаешь хорошо делфи - подходишь, а селект писать как два пальца Мне кажется, это разговоры из серии - "зачем вы плохо делаете, надо делать хорошо". Понятно, что идеальный вариант - 20 профессионалов, каждый из которых уникальный специалист, не допускающий ошибок и изначально закладывающий наилучшую архитектуру под будущий рост. К сожалению, так не бывает, все мы учимся, растем в профессии, допускаем ошибки и их исправляем. Хорошие процессы, в т.ч. в разработке - это как раз один из способов снизить стоимость этих ошибок, отловить их на подходе и быстро поправить, не допустив на продуктивные сервера. Минус, конечно, в том, что с такими процессами любой новичок сможет разрабатывать, а поэтому любой новичок и будет, нивелируя выигрыш даже от лучших процессов) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 10:57 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
тема интересная имхо все таки 2 человека минимум должны иметь полный доступ к проду на случай отпуска-болезни кто это будет 2 DBA (по мне скорей 1 DBA + 1 Lead программер ) а накатыавть чейнжи желальтельно одному (ну или вместе) в вашем случае - вам виднее но по мне логичней отдать это как раз лиду ( елси он есть ) на случай если что не пошло у бизнеса - и НАДО откатывать ( у нас по кр. мере такие случаи ЧАСТЫ когда откатывается и T-SQL и версии апликухи ) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:21 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
все ответили верно. пока руководство будет думать - можете предложит своим 20+ разрабам на переходный период - вести дежурство. дежурный собирает все измения, собирает их в один скрипт, тестит и накатывает на бой ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:42 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Minamoto alexeyvg пропущено... Так проблема больше не в плохих процессах, а в отсутствии специалистов по сиквелу. Мне кажется, это разговоры из серии - "зачем вы плохо делаете, надо делать хорошо". Понятно, что идеальный вариант - 20 профессионалов, каждый из которых уникальный специалист, не допускающий ошибок и изначально закладывающий наилучшую архитектуру под будущий рост. К сожалению, так не бывает, все мы учимся, растем в профессии, допускаем ошибки и их исправляем. Хорошие процессы, в т.ч. в разработке - это как раз один из способов снизить стоимость этих ошибок, отловить их на подходе и быстро поправить, не допустив на продуктивные сервера. Минус, конечно, в том, что с такими процессами любой новичок сможет разрабатывать, а поэтому любой новичок и будет, нивелируя выигрыш даже от лучших процессов) Достаточно одного. Или нескольких, если для них есть работа именно по сиквелу. Пусть программисты пишут запросы, как писали, но изменения модели данных, обслуживание сервера, и постановку процесса разработки в части сиквела должен делать специалист, а не секретарши или веб-программисты. В данном случае компания нанимает профессионалов для разработке на чём то (например, на Дельфи или ASP.NET), но почему то не наняла профессионала для сиквела. Это же явно неправильно. Они же не нанимают сиквелистов или веб-дизайнеров для разработки сервера приложений на джаве, а наоборот почему то можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:20 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
alexeyvg Minamoto пропущено... Мне кажется, это разговоры из серии - "зачем вы плохо делаете, надо делать хорошо". Понятно, что идеальный вариант - 20 профессионалов, каждый из которых уникальный специалист, не допускающий ошибок и изначально закладывающий наилучшую архитектуру под будущий рост. К сожалению, так не бывает, все мы учимся, растем в профессии, допускаем ошибки и их исправляем. Хорошие процессы, в т.ч. в разработке - это как раз один из способов снизить стоимость этих ошибок, отловить их на подходе и быстро поправить, не допустив на продуктивные сервера. Минус, конечно, в том, что с такими процессами любой новичок сможет разрабатывать, а поэтому любой новичок и будет, нивелируя выигрыш даже от лучших процессов) Достаточно одного. Или нескольких, если для них есть работа именно по сиквелу. Из начального сообщения ТС я понял, что 20 разработчиков именно по SQL. Если это всего разработчиков - тогда, конечно, специализация решает, не надо пускать фронтендщиков и бэкендщиков в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:39 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Minamoto Из начального сообщения ТС я понял, что 20 разработчиков именно по SQL. Если это всего разработчиков - тогда, конечно, специализация решает, не надо пускать фронтендщиков и бэкендщиков в базу. если бы, 20 delphi + sql. Все. Причем если к делфи предъяв почти нет, то по sql просто вагон, от непонимания как строить запросы, до огромной избыточности из за непонимания как строить запросы. Излишние индексы и тд. Меня клиент вообще не интересует, только доступ к sql серверу и рабочие правила работы с ним. Доступы, накатка и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:55 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Minamoto Из начального сообщения ТС я понял, что 20 разработчиков именно по SQL. Если это всего разработчиков - тогда, конечно, специализация решает, не надо пускать фронтендщиков и бэкендщиков в базу. если бы, 20 delphi + sql. Все. Причем если к делфи предъяв почти нет, то по sql просто вагон, от непонимания как строить запросы, до огромной избыточности из за непонимания как строить запросы. Излишние индексы и тд. Меня клиент вообще не интересует, только доступ к sql серверу и рабочие правила работы с ним. Доступы, накатка и тд Вот и нужен хоть один, постарайтесь донести это до руководства. Тем более, что проблемы не только в отсутствии правильного процесса разработки, но и в самой разработке. Запросы писать не так сложно, там помощь сиквелиста понадобится эпизодически, а вот модель данных очень важна, ну и всё, что вы перечислили. Конечно, разработчики-дельфисты всего этого не знают. Наверняка они нормально разрабатывают на дельфях, хранят версии исходников, делают сборки версий, тестят. Но по сиквелу у них нету навыка, надо же этим заниматься постоянно, что бы он появился. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 15:55 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Пасиб, собрал инфу, завтра буду презентовать эту штуку. У меня остался последний вопрос. К примеру, мы ставим на каждого разраба свой сервак, разворачиваем через утилиту, которая сразу рандомит определенные данные (ЗП/финансы и тд). Таким образом у нас на каждого прогера свой сервак с "побитыми" данными. Но! приходит жалоба от пользователя, что отчет выводит неправильные данные. И что в этой колонке должно быть не 10, а 154. В настоящий момент прогер не выложит ообнову, пока значение не станет 154. Но если к основному серваку у него нет доступа, а локальные данные изменены, то, если процедура расчета сложная, он может ее править просто бесконечно. И такие вещи случаются достаточно часто, так как одним отчетом могут пользоваться разные отделы, один запросил изменения, а второй уже жалобу катает. Посему вопрос, как это разруливается? Ибо dba только тем и будет заниматься, что косяки править ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 22:43 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Пасиб, собрал инфу, завтра буду презентовать эту штуку. У меня остался последний вопрос. К примеру, мы ставим на каждого разраба свой сервак, разворачиваем через утилиту, которая сразу рандомит определенные данные (ЗП/финансы и тд). Таким образом у нас на каждого прогера свой сервак с "побитыми" данными. Но! приходит жалоба от пользователя, что отчет выводит неправильные данные. И что в этой колонке должно быть не 10, а 154. В настоящий момент прогер не выложит ообнову, пока значение не станет 154. Но если к основному серваку у него нет доступа, а локальные данные изменены, то, если процедура расчета сложная, он может ее править просто бесконечно. И такие вещи случаются достаточно часто, так как одним отчетом могут пользоваться разные отделы, один запросил изменения, а второй уже жалобу катает. Посему вопрос, как это разруливается? Ибо dba только тем и будет заниматься, что косяки править Один из классических схем: 3 уровня - дев, тест, и продакшен. Разработчики программируют на деве, потом, когда набирается некий пакет для апдэйта, то он накатывается на тест. При этом накатывание очередной версии на тест всегда начинается с восстановления бакапа продакшена на тест. Т.о. тестеры тестируют то, каким будет продакшен после обновления. Если всё нормально, этот апдэйт накатывается на продакшен. Это получается достаточно надёжно. При этом дев тоже иногда восстанавливается с продакшена, что бы не накапливалась большая разница. Если разработчикам приспичило поковыряться с конкретными данными, по запросу бизнеса, то они ковыряются на тесте. Дополнительный плюс схемы - тестируются бакапы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:59 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Пасиб, собрал инфу, завтра буду презентовать эту штуку. У меня остался последний вопрос. К примеру, мы ставим на каждого разраба свой сервак, разворачиваем через утилиту, которая сразу рандомит определенные данные (ЗП/финансы и тд). Таким образом у нас на каждого прогера свой сервак с "побитыми" данными. Но! приходит жалоба от пользователя, что отчет выводит неправильные данные. И что в этой колонке должно быть не 10, а 154. В настоящий момент прогер не выложит ообнову, пока значение не станет 154. Но если к основному серваку у него нет доступа, а локальные данные изменены, то, если процедура расчета сложная, он может ее править просто бесконечно. И такие вещи случаются достаточно часто, так как одним отчетом могут пользоваться разные отделы, один запросил изменения, а второй уже жалобу катает. Посему вопрос, как это разруливается? Ибо dba только тем и будет заниматься, что косяки править у вас должен быть тест сервер, который тестируют тестировщики. Каждый разраб, после того как у него на локальной машине все работает правильно, загружает свои изменения в master branch, тестировщики тянут эти изменения на тестовый сервер и прогоняют свои тесты, если все нормально - делается релиз в прод Т.к. очевидно, что у вас нет ни тестеров, ни тестов, то взять и 15-летнюю легаси систему перевести на правильные рельсы быстро не получится, а на практике не получится совершенно точно. Вам нужны для начала тестеры, которые проведут массированную работу по написанию интеграционных тестов и автоматизированных тестов, это огромная работа. Юнит тесты, если у вас вся логика в хранимках с сотнями строк и тем более не получится создать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:06 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
alexeyvg Это не самый лучший вариант, делать каждому разработчику по серваку. Один из классических схем: 3 уровня - дев, тест, и продакшен. Разработчики программируют на деве, потом, когда набирается некий пакет для апдэйта, то он накатывается на тест. При этом накатывание очередной версии на тест всегда начинается с восстановления бакапа продакшена на тест. Т.о. тестеры тестируют то, каким будет продакшен после обновления. Если всё нормально, этот апдэйт накатывается на продакшен. Это получается достаточно надёжно. При этом дев тоже иногда восстанавливается с продакшена, что бы не накапливалась большая разница. Если разработчикам приспичило поковыряться с конкретными данными, по запросу бизнеса, то они ковыряются на тесте. +1 У нас команда меньше 20 человек, но примерно так как-то и выглядит. Один из тестовых серверов обновляется ежедневно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 10:57 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther Пасиб, собрал инфу, завтра буду презентовать эту штуку. У меня остался последний вопрос. К примеру, мы ставим на каждого разраба свой сервак, разворачиваем через утилиту, которая сразу рандомит определенные данные (ЗП/финансы и тд). Таким образом у нас на каждого прогера свой сервак с "побитыми" данными. Но! приходит жалоба от пользователя, что отчет выводит неправильные данные. И что в этой колонке должно быть не 10, а 154. В настоящий момент прогер не выложит ообнову, пока значение не станет 154. Но если к основному серваку у него нет доступа, а локальные данные изменены, то, если процедура расчета сложная, он может ее править просто бесконечно. И такие вещи случаются достаточно часто, так как одним отчетом могут пользоваться разные отделы, один запросил изменения, а второй уже жалобу катает. Посему вопрос, как это разруливается? Ибо dba только тем и будет заниматься, что косяки править а вот тут имхо без доступа к проду с РЕАЛЬНЫМИ данными НИКАК т.е доступ на ЧТЕНИЕ должен быть (да на буржуйских конторах бывает и без - но это оч. большой гемор) ps про тестеров как бы вроде и правильно в пред. постах но имхо это НЕ реально в той ситуации что вы описали (т.е тестовый сервак сделать вполне реально и схему дев-тест-прод а вот набрать людей и написать тесты на проект 15 лет. давности - НЕ верю) если хочется навести порядок именно в БД - просто надо делать через 1-2 людей (а DBA или кто-то из лидов - это уж вдиней вм ) и деплоить чейнжи как описали ( м.б через тул какой-то - может руками вести историю ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:41 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
Гулин Федор а вот тут имхо без доступа к проду с РЕАЛЬНЫМИ данными НИКАК Гулин Федор а вот набрать людей и написать тесты на проект 15 лет. давности - НЕ верю) И в такой ситуации тестировать не на продакшене, а на его копии - вполне реально. Далее, вполне реально постепенно внести ещё одно изменение в процесс, нанять тестеров. Не обязательно "покрыть всё тестами к завтрашнему утру", в 15 летнем проекте, но можно привлечь профессионала, который по любому сделает лучше, чем непрофессионал. И так постепенно менять процессы, через какое то время они будут лучше отвечать требованиям бизнеса, и соответствовать пополневшему проекту. А то у вас какая то безысходность, раз ничего не было, то и делать ничего не надо, а надо просто махнуть рукой и всё закрыть :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:30 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
alexeyvg, так то оно так - и по хорошему хороший тестер это очень важный персонаж ИТ процесса я просто пишу что по разному на тек. месте работы - только-только создается тестовый контур ( тестеров нет как класс) частично роль выполянет один бизнес-аналитик конкертная проблема тут - что на проде куча репликаций (реально куча большинстов с мастер-даты на филиалы - но есть еще 10+ серверов других у к-х тоже куча обменов в различных направлениях) и вот реально воссоздать тест. окружение идентичное по структуре проду практически не возможно а смысл поста был прост т.е это РАЗНЫЕ задачи 1) Тестирование (тут я кстати пас - сам бы) 2) упорядочивание процесса наката DB изменений (а вот тут мне вообщем более менее все ясно ) они конечно связаны (по кр. мере косвенно) - но имхо НЕ на прямую зы представить чтобы кто-то писал какие-то юнит-тесты на тек.месте работы даже не смешно (хотя я НЕ утверждаю что это хорошо - но как есть) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 16:50 |
|
Интересует совет по доступу к основному серваку разрабов в большой команде
|
|||
---|---|---|---|
#18+
ther если бы, 20 delphi + sql. Все. Причем если к делфи предъяв почти нет, то по sql просто вагон, от непонимания как строить запросы, до огромной избыточности из за непонимания как строить запросы. Излишние индексы и тд. Меня клиент вообще не интересует, только доступ к sql серверу и рабочие правила работы с ним. Доступы, накатка и тд По-хорошему, до наката в прод пуш sql-кода должен code review пройти перед мёрджем, если это не что-то тривиальное. Ну и рефакторинг, раз это уже давно существует. + какие-то запросы могут даже с новым сервис-паком работать хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 20:01 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1686815]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 187ms |
0 / 0 |