Хоть я и интроверт, но с soft skills у меня неплохо. Поэтому я стараюсь придерживаться принципа:
True wisdom:
-
Having a lot to say.
-
Not saying it.
Вариацией пункта 2 являются неотправленные письма менеджерам. Для ускорения процесса они пишутся в голове. Однако иногда хочется поделиться рассуждениями, чтобы не держать все в себе.
Небольшая предыстория
Пару лет назад я помогал одной команде, ниша которой ближе всего к классической DBA team, с автоматизацией их деятельности. Было очень интересно, но использовать предложенное они не стали - разве что раз в год и на 1/10. Потом судьба нас разнесла не только по разным подразделениям фирмы, но и даже по разным фирмам.
И вот мне приходят сообщения от jobs, что их пытались выполнить, а они failed. Ну, думаю, сейчас попросят чинить. А я уже там подзабыл много и лезть в этот проект снова желания нет. И, главное, есть понимание, что это и не нужно.
Я представил, что получил письмо от бывшего босса с просьбой починить системку, и в голове уже стал зреть ответ. Так как письмо мысленное, то оно более откровенно. Поэтому я сейчас заставлю тебя, американец, выпить водочки, а потом расскажу, в чем сила.
О прогрессорстве в кровавом Enterprise
На самом деле, американец, я благодарен за ту задачу. Это была "вкусная" задача. Мне было интересно, и я многое узнал. Конечно, обидно, что то что я сделал, почти не использовали. Но теперь я понимаю, что это было неизбежно.
Такого рода системы не живут сами по себе в вакууме. Это не WinZip и не Total Commander. У них есть привязка к Active directory, пермиссии пользователей, каталог серверов и многое другое, за чем кто-то должен следить.
Представь, что на некоей планете высадились прогрессоры - ну как у Стругацких. Читал? Да, конечно читал, ты же воображаемый американец. На планете раннее средневековье. Прогрессоры задерживаться на планете долго не могут, но могут оставить что-то в подарок. Что имеет смысл оставить?
Завод по производству роботов? Да уже через пару дней он остановится. Разве что из силовых балок строения сделают мечи. Технология должна быть адекватна умениям туземцев. иначе она не приживется. Ну или приживется только как карго культ.
Нет, нет, я не произносил слово "бисер". Дело не в том, что туземцы глупы - многие из них вполне ничего. Многие из них очень смышлены, но... тут мы подходим к еще более грустной теме
Автоматизация никому не нужна
Одна из частей автоматизации, которую я делал, делала бэкапы и восстанавливала базы по цепочке PROD -> UAT -> QA -> DEV. Я с радостью имплементировал ваши хотелки - на каждом этапе применять к базам скрипты, которые меняют config в некоторых таблицах под конкретный environment и прячут/удаляют sensitive data. Базы можно было переименовывать (чтобы, например, на QA иметь несколько копий), а некоторые шаги (например, UAT) можно было пропускать - но все равно по пути применяя все скрипты. Эти пожелания были логичны их было приятно делать.
Я ждал первого использования этих jobs, вопросов и возможных проблем. Документация на Confluence ждала своего часа
Кто делал такие вещи то знает, что их довольно неудобно отлаживать - ведь вы не можете сделать 'DEV environment' набора реальных DEV, QA, UAT и PROD со всех их спецификой. Достаточно быстро отладка переходит на реальные серверах в режиме 'dry run', а потом и реальные прогоны на тестовых базахпотому что отлаживать это сложно
эту job не запустили ни разу. Зато я видел митинг с названием "Копируем базу с ... на ..." с приглашением 20 или 30 человек. Конечно, я им напомнил про существование автоматизации. Но потом был и второй подобный митинг и третий.
Не нужна им эта джоба. Ведь тот, кто ее запустит, возьмет на себя ответственность. Значительно комфортнее это делать вручную на митинге. Ну и что, что надо сидеть три часа, глядя на экран, который кто-то шарит. Зато вся ответственность размазалась по всем равномерно.
В другой части фирмы у меня автоматизации работает и используются. Такой уютный пузырь. Конечно, если я уйду из фирмы, или меня уйдут из фирмы, то вскоре все это перестанет работать. Но на функционирование enterprise это никак не повлияет.
Вот ко мне пришел один менеджер и предложил на всех серверах и всех базах прогнать скрипт, который ищет данные, похожие на персональные. Одна минута - и процесс пошел. Через полчаса отчет готов. А как бы было без меня? Да замечательно. Берут одного или двух линейных DBA из страны песен и плясок, и они "какой такой механизм, все вручную" (c) дня за два обходят все сервера и базы. Все сделано, и люди при деле. Win-win.
Теория гандикапа
Не знаю, американец, что тебе посоветовать. У меня есть хотя бы возможность на какое-то время самоизолироваться в уютном математическом пузыре, где все устроено логично и правильно. У тебя такой возможности нет. Приходится работать с теми, кто есть. И знаешь, что плохо? У них нет павлиньего хвоста
Зачем павлину хвост? Ведь это же неудобно. Ответ дает теория гандикапа. Самец демонстрирует признак, который показывает, что он не только способен выжить, но и имеет дополнительные ресурсы, а это важно при размножении.
Огромные рога оленей и другие признаки, подверженные половому отбору, которые всегда казались парадоксальными, поскольку они создают очевидные помехи своим обладателям, возникли в процессе эволюции именно потому, что они создают помехи. Самец с длинным и громоздким хвостом демонстрирует самкам своё мужество, доказывая это тем, что несмотря на такой хвост, он выжил. Представьте себе женщину, наблюдающую за двумя мужчинами, которые бегут наперегонки. Если они достигают финиша одновременно, но при этом один из них умышленно взвалил себе на плечо мешок с углем, то женщина естественно придет к заключению, что мужчина с мешком на самом деле бегает лучше.
У homo sapiens, с его экстремально сильным поведенческим половым диморфизмом, это проявляется во всей красе. Пропустим Бентли у мужчины, который представляет тот самый мешок с углем и перейдем к самкам.
Свойство |
Суть гандикапа |
Message |
Длинные волосы |
Требуют времени для ухода Цепляются за ветки в первобытном лесу Надо мыть, а то заведутся вши |
Индикатор здоровья Живет в безопасности, по лесу бегать не надо Чистый дом - важно для детей |
Высокие каблуки |
Не может быстро бегать |
"я живу в безопасных условиях" |
Узкая юбка/платье |
Не может быстро бегать |
"я живу в безопасных условиях" |
Длинные ногти |
Не могу работать и защищать себя |
Есть ресурсы Безопасные условия жизни |
Заметная одежда с рюшечками |
Видима для хищников Требует ухода/стирки |
Безопасные условия жизни Чистый дом (для детей) |
Но я отвлекся. У программистов тоже должен быть гандикап - лень и свободное время. Время для саморазвития, для того, чтобы перевести дух и оглянуться назад, чтобы оптимизировать свою деятельность и узнавать новые технологии
У меня есть коллега, который в пятницу почти не работает. Ну только если что-то супер срочное. А так он по пятницам саморазвивается, скачивает программы, читает статьи, проводит эксперименты. А это возможно, если у людей есть свободное время - то есть если они не загнаны, как лошади. А у тебя, американец, линейный DBA это робот, который работает только по инцидентам, они примитивны, зато их поток нескончаем - убить spid (процесс в SQL server), применить скрипт, восстановить бэкап. И все это с учетом on-call в выходные. И потом у них всех потухшие глаза и ненависть к профессии.
Я не знаю, что тебе посоветовать американец. Ну пока, бывай, я полез в свой маленький пузырь здравого смысла.
Автор: Дмитрий EvilDBA