ДЕВОПСИНА | DevOps | Linux – Telegram
ДЕВОПСИНА | DevOps | Linux
24.9K subscribers
1.89K photos
11K videos
14 files
8.63K links
Авторский канал. Юморим и поднимаем айтишные темы.

Реклама: @maxgrue

MAX: https://max.ru/devopsina

Сисадмин, Девопс, Devops, Linux, SRE, Kubernetes, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin
Download Telegram
Как и обещал, скриншоты к этому посту. Думал будет больше, но особо и показывать нечего. Кидайте заявки, кто, что хочет посмотреть, нафоткаю еще.
1. Windows Terminal с запущенным WSL Ubuntu 18.04 + Оболочка fish с темой agnoster. На скриншоте выведены некоторые параметры matebook d14. Не отображен второй ssd диск с остатком от 512 гигабайт.

2. Это VSCode, минимализм, убрано все ненужное. Теперь это не новогодняя елка и в нем можно комфортно работать. IDE подключен к удаленной машине где хранятся все необходимые мне репозитории для работы.
Слушай, а Давай посрем на ретроспективе? Короче, как говорят блогеры чтобы их не въебали — это моё личное оценочное мнение и оно нихуя не будет совпадать с твоим. А если ты вообще скрам мастер, мне походу пизда. Я кнопочку специально для комментов внизу оставлю, пиши, будем спорить.

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

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

Во-вторых, если есть какая-то проблема касающаяся моего отдела, эта проблема без моего участия протоколируется в google sheets и после ретроспективы я могу взглянуть в этот документ и понять о чем шла речь. Но обычно ребята из команд разработки и тестирования сами до ретроспективы накидывают на вентилятор и часть вопросов решается до их раздутия в слона.

В третьих, это итоги ретроспективы. Итоги подводятся, есть план что нужно изменить и кто ответственный. Но в 99% ничего не меняется и всем вообще похую, что были какие-то договоренности. 1% иногда исполняется, но если это регулярная задача, то через неделю на нее забивается махеровый хуй.

АААА, забыл, самое охуенное. Это чекин. У тебя спрашивают например как у тебя настроение, либо какая погода в городе, в общем любую бесполезную хуйню. Сразу вспоминается диалог из фильма Брат-2:

— А как переводится «How are you»?
— «Как дела, как поживаешь».
— И что, всем интересно, как у меня дела?
— Нет.
— А чего тогда спрашивают?
— Просто так. Здесь вообще всё просто так, кроме денег.

Продолжение ниже, опять сука не влазиет в один пост...
Ну что я могу сказать, резюмирую

Получается сначала тебе задают вопрос, который совсем не имеет смысла и твой ответ всем будет по барабану. Но все сделают вид, что им интересно. Лично мне похуй какая в москве погода и кто победил печенегов.

Потом каждый рассказывает какой он охуенный и как сильно гордится, то что сделал за спринт. Сука, да я и так вижу какие все охуенные, я хожу на стендапы, вижу то что деплоится, смотрю комиты в гите, иногда заглядываю в код. Зачем этот сапопиар??? Для чего??? На крайний случай есть демо, где можно этими результатами похвалиться перед бизнесом. А команда сама знает кто охуенный, а кто старый осел который тонет в болоте.

Далее идет блок с проёбами, кто где въебался и почему. А самое главное — как сделать чтобы больше не въебываться? Ну вот сука никому не интересно, как я жопу буду по другому вытирать. Возможно есть такой парень, который заинтересуется, но к концу ретро он и про жопу забудет, потому что вымотался от бесконечных встреч и ему вообще на всех срать с высокой колокольни.

Итоги. Сделали список, кто что меняет к лучшему. В итоге никто ничего не меняет и не делает, потому что опять же всем похуй. Дно, днище!!! А знаете почему никто ничего не делает? Потому, что люди безответственные и им нужен надсмотрщик. Не все конечно такие уебаны, но большинство.

Изюминка. Нужно поблагодарить коллег. Сука, сука, сука. Тут реально угар. Нельзя говорить — спасибо ВСЕМ. Сначала нужно прочитать книгу «семь преобразующих языков» и только потом сказать по правильному паттерну — Спасибо. И даже если нарушить это правильно, сказав неискреннее спасибо коллеге, ты остаешься лицемером. Короче твои спасибо на ретроспективе нахуй ненужны. Лучше во время работы поблагодари лично. К чему вся эта показуха.

Никто не любит ходить на ретро, туда ходят потому, что скрам мастера вкручивают в твой календарь эти встречи и делают их обязательными. Надо же как-то свою ЗП отрабатывать.

Agile и Scrum это какая-то ебанная секта. Где сначала все песенки поют, потом является лик Святого Патрика, а потом мастер проходит с пустой шапкой между рядами и отнимает твоё время и твою душу.

Короче не люблю я ретро и весь ваш срам с аджайлом. И по традиции — Идите на хуй.
Скрам мастера — кнопочку для комментов сделать не получается, похуй, пишите в @ceops
Не могу не выложить этот фидбек на предыдущий пост и по своим внутренним чатам пацанам тоже как-то неправильно будет это репостить. Спасибо ГГ за конструктивную обратную связь.

---

Спасибо за пост про скрам-мастеров ;) я повеселился. В твоей компании не умеют в скрам и никогда не сумеют.

Чекин полная хуета, благодарности по кигану примерно там же. В твоей компании скрам и не нужен. Скрам про честность, открытость, смелость и уважение в первую очередь, про доверие. В узких кругах это есть, но в целом по компании не приветствуется.

Вот почему тебе не пойти к скрам-мастеру и не сказать, что чекин про погоду это херь собачья. Это противоречит корпоративному духу? Или потому что ничего не поменяется? Или почему на той же ретроспективе не поднять вопрос про то что ретроспективы не работают?

Самое место на мой взгляд. Скрам-мастер никогда не узнает, что он делает херово свою работу, если ему об этом не сказать, как и про других членов команды.

Я в твоём посте со всем согласен кроме того, что всем нужны надсмотрщики. Я считаю, что тут история про культуру. Если есть культура держать своё слово, то ты когда пообещал — сделаешь (уважение к себе и окружающим). Если не можешь сделать, наберёшься смелости и попросишь помощи (смелость и открытость).

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

Вообще, спасибо тебе, дам своим почитать твой пост, поищу свои точки роста ;)
Что будет с человечеством если у всех одновременно, хотя бы на сутки, включится здравый смысл?

Сдается мне, что цивилизации пришла бы ПИЗДА.

Интриги, скандалы... Ну а я готовлю для вас материальчик на тему — а давайте-ка перепишем весь наш код с нуля. Ретроспективы катком переехали, прём дальше. Ждите маленько, чо...
Здарова, любопытные. Давно хотел затронуть эту тему, но все руки не доходили и тут представляете, дошли, вот нихуяж себе.

А было это так. Примерно год назад я написал микро сервис, который снял с меня часть ежедневной рутины и делал это в автоматическом режиме. В сервис был заложен базовый функционал, некое MVP, со своими багами и фичами.

Вскоре моим сервисом стали пользоваться другие люди и MVP стало не хватать, нужно было фиксить баги и делать нормальный UI. А этого делать мне совсем не хотелось и я не рассчитывал на такой успех.

Сервис был написан на nodejs в рамках изучения базовых принципов языка и прокачивания моих профессиональных скилов. Соответственно через год я забыл этот язык, а учить его заново — да ну его нахуй.

Но люди требуют зрелищ. И я придумал выход — я перепишу сервис с нуля, но уже на golang. Как раз гошка для серверов заебись, а питон стал как бейсик и до блевоты заебал.

Хули, гошка так гошка. Переписал за неделю, благо там 200 строк кода. Больше времени ушло на войну с типизацией и отлов багов. Закончил, выкатил в кубер, заебись, все счастливы. А знаешь почему все счастливы?

Потому, что — когда ты переписываешь проект с нуля, оставь работоспособным старую версию. Новая версия продукта должна составлять конкуренцию старой версии, а не заменять ее. Если ты похоронишь старую версию, твой бизнес скорее всего прогорит. По этому не стоит злить людей — предложи им альтернативу.

Не забирай любимую игрушку у ребенка, пока не убедишься что ему нравится новая.

Вспомни например, что произошло когда Кинопоиск переписали, а старую версию к хуям закрыли. Ничего хорошего не произошло. Пользователи хлебнули окрошки из блевоты, а акции яндекса неплохо уебались. Поняв весь трагизм ситуации, яндекс вернул старый root path в nginx. А ситуация с акциями потом еще долго приходила реабилитацию.

Про переписывание больших проектов

Если ты не дай бог переписываешь большой монолит, по теории вероятности произойдут забавные вещи:

— Проект станет намного сложнее. Ты ведь любишь сука все усложнять
— За 6 месяцев нереально хорошо переписать с нуля, то что создавалось и вылизывалось годами. Все будет отвратное и этим невозможно будет пользоваться
— Ты просрешь все дедлайны и тебя перестанут уважать
— Избавляясь от одного говнокода, ты будешь создавать другой говнокод
— Быстрее работать не будет, вот хоть усрись
— Через несколько месяцев такой работы, ты потеряешь мотивацию и выгоришь

В итоге ты положишь себе хуй на воротник и смиришься с неизбежным. Охуенные перспективки? правда?

Что делать?

У тебя есть единственный вариант — предложи альтернативу и выпусти новый продукт в параллель старому. Вариант с модульным переписыванием и замены этих модулей в старом продукте не канает.

Ну а если ты отбитый во всю голову, ну давай, перепиши и подмени, поржем вместе. Хотя шансов, что ты вообще закончишь работу, практически нет.

Башкой думать надо, а не жопой. Учись на ошибках других компаний.
1
В дополнении к посту. Порассуждаем малеха.

Почему вообще принимается решение, переписать все с нуля? Очевидно это происходит так:

1. Сайт начинает хуевничать и плохо себя чувствовать, а бизнес начинает терять деньги.

2. Используются старые технологии, а не современные фреймворки. Сложно найти новых разработчиков в команду, потому что новые разработчики далеко ушли вперед и не хотят работать с засохшими фекалиями.

3. Текущие разработчики заебались копаться в чужом говне без документации и хотят сделать свое гавно с документацией. В перспективе пихануть например swagger, потому что это мейнстрим и так все делают.

Возможно ты еще какие-то варианты можешь накидать. Но мне достаточно этих трех, чтобы объяснить тебе как это работает.

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

Какая тут ошибка? Ошибка в том, что заказчик не вникает в суть вопроса. Но бизнес и не должен вникать в эту суть, нужен результат. А вникают пусть другие, деньги чо зря платим. Вооот.

Вопрос переписывания с нуля не подвергся экспертизе. Не была проделана аналитическая работа, все сходилось к тем трем аргументам, которые я привел выше. И эти аргументы успешно были проданы бизнесу.

Но если посмотреть еще шире, основная ценность для бизнеса — чтобы инструмент приносил деньги. А фреймворки и прочая ересь это второстепенные вещи.

Нужно лишь понять в каком месте инструмент начинает работать неправильно и затем укрепить его. Сделать текущий продукт стабильным и дальше на нем зарабатывать деньги. А не кидаться во все тяжкие, наябывать бизнес своими доводами и просто сливать деньги в унитаз.

Если очень хочется что-то переписать, перепиши, но перепиши это хорошо, без дедлайнов, на своем энтузиазме, в свое свободное время. Ну или как я писал постом выше, делай новое, чтобы это новое никак не касалось старого.

А из-под палки и с четким дедлайном, никто и никогда не будет работать хорошо, тем более не может идти речь о новом хорошем продукте.

Разработчики делают хорошо, только тогда, когда заинтересованы в этом. А в данном контексте заинтересованность имеет лишь бизнес.

Кто виноват? Виноваты необразованные люди, которые принимают такие решения.

Если ты присутствуешь на таких встречах где бизнесу ссут в уши, встань и скажи — вы ебанутые? Ну и открой всем глаза как все на самом деле устроено. Тебя конечно же пошлют на большой сочный хуй и сделают по своему. Но есть еще вариант и тебя могут сделать Техдиром.

Но зато когда просрутся все дедлайны и продукт будет готов на 2.5%, ты сможешь гордо сказать на ретроспективе — в рот я вас всех ебал, съели сука кактус, а я вам говорил, ухожу в отпуск.

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

Ну я наивный, хули, говорю — а чо давайте, кидайте инфу чо делать, хочу в топчик. Ну они и кидают. Мол, давай чувачок нам 300 рублей за услуги, потом другие пришли просят уже 500, вчера приходят и уже просят 1000. Ну охуеть.

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

Кинул 300р, позырить чо будет. А ничего не будет. Моя анкетка собрала от силы 200 просмотров и наша берлога пополнилась 1м подписчиком. Этот подписчик был, тот кто взял с меня 300 рублей. Ну охуеть ))) Хотя там где опубликовали мою анкетку, 2500 подписчиков. А где сука еще 2200 просмотров моего красивого личика?

Короче все эти пиарщики наебщики, бармалеи ебанные. Но зато теперь знаю как эта хуита работает.

И тут я подумал, а я чем хуже этих пирщиков. Я могу всем помочь. Ну и разработал свой уникальный продукт по привлечению аудитории в каналы. Легально, быстро и без вложений. Проверил свою же схему (4 раза) и убедился что она рабочая.

Самая крутая киллерфича в моем решении — к вам придут лояльные люди, то есть те кто действительно интересуется темой о которой вы пишите. Я пишу про IT и привлек IT аудиторию с конкретной выборкой (devops, sysadmins, teamleads). Если ты пишешь про вышивку, к тебе придут люди, которые тоже интересуются вышивкой.

А это был всего лишь анонс. На неделе оформлю все это в продукт ну и продам тебе всего за 5000 рублей. И ты сможешь без особого гемора крутануть свой уютненький канал и разжиться лояльными читателями. Жди, я быстро.

PS: Первым трем кто напишет в @ceops слово «ЕБИГУСЕЙ» дам скидку в 2500рублей. Тарапись.
🤣1
Мазафака. Закину децл правильных мыслей про инфраструктуру.

Нихуя нельзя вырасти в заебачего девопс инженера если ты до сих пор настраиваешь инфраструктурный периметр вручную. А про управление современным технологическим стеком даже и говорить не стоит. Это своего рода аксиома.

Поэтому убедись, что все что ты настраиваешь являться версионным артефактом и разворачивается через CI.

Это best practice и все что по другому это — ХУИТА. А лучший способ развертывания кода — это вообще его не развертывать.

Все ваши сервера и ржавые шкафы это «рабочая скотина». Если скотина заболела, ты должен ее захуярить на мясо или закапать в лесу. Ну и завести новую скотину.

Нахуй ее лечить и терять время. Дешевле и проще поднять новый инстанс за пару минут.

Сервера это не домашние питомцы и даже не твоя вторая половинка, не нужно их выхаживать и отлизывать письку. Ты просто потратишь время и нихуя не добьешься результата.

Ну и охуенный пятничный совет — прекращай ремонтировать свою дырявую инфраструктуру, просто исправь свою разработку и все повторно разверни. Аминь сука.
Закину про ansible для разнообразия. Много вопросов эта штуковина создает. Но не так много, как говнявый puppet.

Самый распространенный вопрос, на который меня заебло отвечать (гуглить же и читать по английски никто не умеет) — А как с помощью ansible, я могу достучаться до серверов, которые не имеют статического IP адреса?

Кто не понял, объясняю на пальцах. Предположим у тебя есть трех комнатная квартира и один вход. Но коридора нет. То есть попасть в комнаты ты не можешь. Соответственно нужно каким-то хером срукожопить коридор.

Inventory файл выглядит таким образом:

[balancer]
jessy-h1 ansible_host=888.888.888.888 local_ip=192.168.0.2

[backend]
alba-ap1 ansible_host=192.168.0.3
roksy-ap2 ansible_host=192.168.0.4

То есть суть задачи, нам нужно войти через 888.888.888.888 и попасть на сервера с IPшниками 192.168.0.3 и 192.168.0.4. Хуйня война.

Добавляешь в Inventory файл это самое:

[backend:vars]

bastion_host = {{ hostvars[groups['balancer'][0]].ansible_host }}
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q root@{{ bastion_host }}"'

Закидываешь паблик ключи с jessy-h1 на alba-ap1 и roksy-ap2 ну и запускаешь всю эту тему. Тем самым ты создаешь коридор и спокойно перемещаешся по своей трех комнатной квартире.

Есть масса вариантов проделать то же самое, но это пока самый заебачий вариант. Ну либо на каждый сервер, присваивай статику, что вовсе глупо и избыточно.

А следующий вопрос обычно звучит так — блядь, а как мне тогда файлы на сервер перекинуть без статического IP. Да также епта:

rsync -v -e "ssh -A -t user@jessy-h1 ssh -A -t user@alba-ap1" /tmp/file.txt :/tmp/file.txt

Вот и закончили хуйней заниматься. Забирайте себе в избранное и больше ко мне не приходите с этой поеботой.
​​Если быстро говорить — банка, банка, банка, банка, банка, банка. То к тебе придет — кабан. А если быстро говорить — долбаеб, долбаеб, долбаеб, долбаеб, долбаеб. То никто не придет.

Так и в управлении командой, если регулярно несёшь хуйню, то ты херовый лидер, а иногда и пидер.
Кто по серединке у того говно в корзинке. Привет, любопытные. Сегодня поговорим про такую штуку как «Осьминожка навыков». Впервые я про нее услышал от нашего арт-директора ВБ и немного прихуел от такого креативного подхода. А вообще первоисточник упоминается у Коляна Товеровского, мол это он все придумал и переложил на осьминожку. А как на самом деле было мне ваще до пизды.

Ну поехали чо...

Чтобы быть в контексте, расскажу немного теории. Осьминожка это такая херовина где ты визуально показываешь свои скилы (щупальца) и даешь им объективную оценку.

У осьминожки есть голова и щупальца. Щупальца можно качать и растить новые. Чем больше башка у осьминога, тем больше щупалец можно нарастить. Чем длиннее и толще щупальца, тем мощнее навык.

Принято производить оценку по 5ти бальной системе. Но можно сделать свою и распидарасить осьминожку в кракена. Тут уже сам экспериментируй какая шкала тебе удобнее.

Ноль: Ты в душе не ебешь про этот навык. К примеру ты суровый фулстек, но даже не слышал про то, что можно трахаться с девочками.

Единица: Навык отсутствует. Ты представляешь что можно трахаться с девочками, но как это делать хуй бы его знал. Просто знаешь и все.

Обычно когда ты знаешь на единичку, ты в эту тему не лезешь и все у тебя заебись. Я не знаю как менять ремень ГРМ и соответственно не лезу этого делать, потому что мне проще отдать деньги за эту работу.

Двойка: Самая ебливая оценка. Означает, что ты нихера не вдупляешь в теме, но каким-то хером лезишь в это. Например ты посрал и вытер жопу об стену, либо сидишь и ждешь пока жопа сама высохнет и можно надеть штанишки. Ну или как вариант протираешься трусами. В любом случае твоей жопе жопа и она покраснеет от раздражения.

Так и в жизни, если качаешься с двойки на тройку лучше это делать через курсы или с каким-то ментором (твоим тимлидом), чтобы в хуям все не сломать и не отправить продакшен в преисподнюю.

До двойки можно прокачаться за несколько дней или недель.

Тройка: Ты можешь этим заниматься. Понимаешь как оно работает и опыта наработано достаточно, чтобы решить простую задачку для деревенской местности. Ну например, качественно подоить коровку, или там огурцы засолить. Накидать скриптик или что-то там минимально автоматизировать.

У большинства людей скилы раскачены до 3ки, пожрать приготовить, гантельки потягать, с ребенком поиграть. Тут особая подготовка не нужна, но и оценка соответствует.

Качнуться до тройки можно за полгода, год.

Четверка: Ты зарабатываешь тем, что делаешь. Сильный и уверенный специалист. Решаешь сложные задачи и помогаешь другим расти.

Чтобы стать уверенной четверкой, нужно как минимум проработать навык в 10000 часов. Соответственно чем больше качаешься и жрешь протеин, тем больше ты стоишь.

Пятерка: Ну это вообще пиздец гении, лучший из лучших. Ты сворачиваешь горы и крутишь на хуе планету. Тут больше ничего не скажешь.

Чтобы качнуться до пятерки, надо потратить всю свою жизнь.

Что можно подчерпнуть из прочинанного?

Нужно качать тот скил к которому у тебя есть способности и талант. Если у тебя нет таланта, ты так и зависнешь на двойке. Не обязательно качать что-то одно, можно равномерно отращивать щупальца и доводить их до уверенной четверки. Ну если ты совсем уж упоротый, расти навык до пятерки.

Я лично не ставлю целей прокачать что-то до пятерки. Технологии меняются и каждый год у меня появляются новые щупальца, которые в течение года я качаю до твердой четверки.

Продолжение следует...