Happy Devops — сообщество адекватных инженеров – Telegram
Happy Devops — сообщество адекватных инженеров
1.91K subscribers
182 photos
8 videos
2 files
298 links
Сообщество адекватных инженеров | Все про DevOps и эксплуатацию.

Культура, инструменты, подходы и решения

Живо общаемся (чат): https://news.1rj.ru/str/+eNGNnbY_2mVkZTEy

По всем вопросам в бота: @HDFeedBackBot
Web: https://happydevops.ru
Download Telegram
Пациент скорее жив?

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

Итак, замониторить состояние сервисов — задача привычная и тривиальная. Сервис работает, трафик ходит, БД отзывается, значит все ок. Рисуем зелененький кружочек. Но вот только пользователям, как правило, все равно, что у вас все работает. Если не работает пользовательский сценарий, значит не работает приложение (или его часть). И то, что инфраструктура у вас в полном порядке, не говорит, ровным счетом, ни о чем

Значит, нужно мониторить сценарий бизнес-логики. И вот тут начинается самое интересное. Зачастую люди полагаются на золотые сигналы или, например, считают, что достаточно дернуть хвост API и померить там лэтенси или вообще, сам факт того, что он отвечает. Но, зачастую, бизнес-процесс является распределенной транзакцией, ходит в несколько сервисов, да еще и в определенной последовательности. А еще круче, если у вас, например, внутри есть какие-то p2p-транзакции между инстансами одного сервиса или между сервисами.

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

Ну и че делать-то, в итоге? В итоге, я сделал так.

Каждый сервис, абсолютно каждый, умеет отдавать ровно 2 метрики (на самом деле гораздо больше конечно, но нас интересуют две): это лэтенси последнего запроса и средний лэтенси за последние N единиц времени. К сервисам все это подключается на уровне дополнительной либы просто и не требует от разрабов вообще никаких телодвижений. Ну и на уровне мониторинга мы просто собираем цепочку вызовов для проверки любой последовательности обращения к API. Сумма (или перцентиль, тут уж от ситуации зависит) наших метрик и будет нашим пиком на графике

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

А еще такие дашборды очень любит бизнес, потому что там все реально понятно
👍82
Должен ли %профессия% знать %дисциплина%?

Вот простой довольно вопрос. Что такое драйвер?

Очень многие знают, что это программа для общения операционной системы с железкой. Все, дальше многие не знают.

Для чего нужен такой интерфейс? Как именно он работает? Каким образом операционная система понимает возможности железа? Как программы могут использовать возможности этого драйвера и могут ли вообще? На эти вопросы ответов уже прям вот на порядки меньше

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

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

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

Ну а мог бы просто спать, в принципе. Аэропорт и аэропорт, хуле.
👍16
Не кати в одно жало

У любой, я подчеркиваю, любой активности на проде, должно быть две пары глаз.

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

То есть это просто подтверждение: действие посмотрел кто-то еще и оно не выглядит опасным. Это банальная защита от дурака, которая позволяет сэкономить немало нервов на самом деле.
👍161
"Яхта — это выемка в поверхности воды, в которую можно бесконечно бросать деньги"
Юра-капитан

Яхтингом я заболел в 2019. Тогда я решил устроить себе необычный отпуск после адского впахивания и погнал на средиземку на яхте, вместо обычного своего бухания где-нибудь в Европе с друзьями.
"И понял — попал..." — как говаривал Борис Борисыч Гребенщиков. С тех пор я влюбился в лодки, научился ходить на спортивных и на круизных лодках, разобрался с парусами, такелажем и рангоутом и научился выполнять повороты со странно звучащими голландско-русскими названиями

А сейчас сбылась еще одна моя мечта, я сходил в поход на яхтах по Белому морю. Русский Север невероятно красив, но ни одна фотка не передаст этого очарования конечно. Чистый кайф, абсолютно дикий поход — без оборудованных стоянок, без возможности пополнить запасы, без электричества и мобильной связи. На неделю я абсолютно вывалился из цифрового пространства и новостей, а мой любимый айфончик стал просто фотоаппаратом (бтв, 6 суток работает айфон 11 без подзарядки в авиарежиме и с включенным Low power mode).

На маршруте мы заходили на биологическую станцию и нам там рассказывал про фауну Белого моря профессор Кирилл Владимирович Галактионов. И так он круто и интересно рассказывал, что я прям сидел не шелохнувшись и дико ему завидовал, даж думал, что стал кем-то не тем в жизни. Чувак живет на краю света, занимается важной научной работой, прям видно, как его прет! А потом я подумал, что я такой же задрот по сути. Я также готов часами рассказывать про свою работу (если кто-то готов слушать конечно😁), также очень люблю то, что я делаю и готов ради этого на многое. Подумал, что, наверное, не так важно, чем именно ты занимаешься, важно просто искренне любить то, что ты делаешь
👍2010
Про телеграм

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

1. В последнее время я заметил, что меня прям физически тошнит порой от того, что я пишу. Задумался. Думал-думал и понял. Конечно же, я читаю некоторое количество людей, которые являются для меня авторитетами и к чьему мнению я прислушиваюсь. Заметил, что частенько пытаюсь копировать этот стиль и получается откровенно плохо😁 Причем, когда кто-то еще так делает, то это очень бросается в глаза и выглядит, скажем так, не оч... А в своем глазу бревно и не заметил

2. Ответил себе на вопрос, зачем мне этот канал :) Да, это все таки останется личным пространством, я хочу писать про то, что интересно мне. Писать исключительно про ойти оказалось довольно пресно и без четких целей канала это делать вообще неинтересно. Четких целей для этого канала у меня пока нет, поэтому посты подут совершенно на вольные темы

3. Органического трафика в ТГ фактически нет. Можно быть трижды золотым контент-мейкером, без договоренностей с другими админами и/или без покупки трафика канал останется в жопе навсегда.

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

5. Бабло в ТГ есть, но надо прям работать. Если есть идея прикупить пару канальчиков и палец о палец не ударять, то нет, не получится. В одно лицо не потянуть много, чтобы поперли хоть какие-то ощутимые доходы, то надо собирать команду.

6. И опять: бабло в ТГ есть :) Я влил некоторое количество денег в три канала, в принципе, ROI меня порадовал (хотя прям о врзврате говорить пока рано, но бабло там явно есть и понятен путь, которым идти). Автоматизируется очень много всего, если руки не из жопы, то можно много работы спихнуть на роботов

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

Продолжаю наблюдение :)
👍15
И опять про найм

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

Это гораздо страшнее, должен я вам сказать :) Риск переходит с довольно абстрактного бабла работодателя на вполне себе конкретный мой собственный карман и поговорка про "лучше не взять хорошего, чем взять плохого" играет новыми красками. Когда живешь без инвесторских денег, то все гораздо страшнее и игра красок, прямо-таки, феерическая

Брать страшно! А вдруг просто мудак/чемпион по собесам/прокачал гугл-фу и еще 100500 сомнений на самом деле. А главное — отобьются ли бабки? И не жалко денег, на самом деле, жалко (деньги + время = развитие) упущенных возможностей развития
Не брать тоже страшно! Очевидно понятно, что большие вещи делаются именно командами и (деньги + время = развитие) опять мы можем получить упущенные возможности развития, но уже с лагом со стороны времени.

Поэтому нанимаю очень и очень осторожно, тщательно оценивая, готов ли я провести с этим человеком полгода на подводной лодке например) Утрирую конечно, но месседж понятен.

И это я еще не закрываю ключевые компетенции (до этого расти еще очень и очень долго), а ищу просто рядовых работников ойти
👍14
Проблема активности

В моей молодости был у меня коллега, который говаривал замечательную фразу "заебет безвекторным энтузиазмом". И очень часто всякие "человеческие" активности в командах, которые обычно продуцируются HR-отделом, превращаются именно вот в такой безвекторный энтузиазм.

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

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

И, может быть, даже принесут вам эти бумажульки в срок. Но вряд ли.
👍19
Just a friendly reminder

Ровно через неделю выступаю (наконец-то) на TDConf.
Конференция переносилась 3 раза и наконец стабилизировалась в районе метро Кропоткинская :)
Москва, 27-28 июня, Инфопространство. Олды, бывавшие на первых хайлоадах, оценят выбор площадки :)

Я буду рассказывать про то, что кубернетес это не страшно и как обратить его себе на пользу при организации процессов тестирования
https://tdconf.ru/2022/abstracts/7993

PS Видео с моим докладом будет, выложу на канале, как только оно появится у меня в руках :)
👍19
"Каждый член экипажа, несогласный с приказом капитана, обязан выполнить поступивший приказ, после чего имеет право сделать соответствующую запись в судовом журнале и покинуть судно в ближайшем порту"

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

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

Ну и вообще, с какого хера Vox Populi автоматически означает правильность решения? Большинство, к сожалению, дальше собственного хера ничего не видит и предпочитает решать проблемы ad-hoc, вместо стратегического планирования.

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

Ко мне люди приходят работать и работать хорошо. В демократию можно поиграть где-нибудь еще. Те, кто не согласен, могут покинуть судно в блихайшем порту. Остальные получают шанс прокачать себя как специалиста, умеющего решать проблемы, а не просто говорящего об этом в рабочих чатиках.
👍31👎13
Иллюстрация к предыдущему посту😁 А то как-то это все... too serious
14
Ну что, поехали :) заодно спалил новое место работы😁
👍23
По следам конференции

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

Конференции это клево, туда имеет смысл идти именно за нетворкингом. За "попиздеть", если позволите. Опытом обменяться, завести какие-нибудь знакомства полезные. Я довольно замкнутый интроверт и не люблю сам к кому-то подходить, поэтому когда я прихожу как участник, то довольно редко вытаскиваю пользу. Поэтому я стал ходить как спикер😁 И билет покупать не надо и люди сами подходят!

В 2010-2012 я работал с Олегом Буниным и сам делал эти конференции. У меня до сих пор хранятся бейджи с первых "хайлоадов" и "РИТ". Олег молодец конечно, протащил эту тему и создал, в итоге, отличный продукт на очень высоком уровне. Бунина только ленивый не хейтил в свое время, ругали за все :) За оверпрайс на билет, за хреновый вайфай, за давки за еду. А он тупо делал и делал свое дело и сделал, надо сказать, очень хорошо. Дорого только😁 Но тут уж just a business, nothing personal

Так что друзья, если хотите вытащить меня куда-нибудь что-нибудь порассказывать, пишите, приглашайте, я с удовольствием приду! Я с удовольствием выступаю на самых разных площадках и мероприятиях с 2010 года и могу рассказать всякого про эксплуатацию, девопс и все вот это

Видео доклада уже есть, но сырое. Через 2 недели закончат монтаж и я тогда выложу :)
👍11
Это я пытаюсь показать на пальцах как работает этот ваш кубернетес
👍104
Не LetsEncrypt'ом единым

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

По протоколу ACME работает не только LE, но еще и несколько других провайдеров :)
BuyPass из Норвегии
ZeroSSL
SSL.Com
(Ну и помимо сертбота есть еще и другие клиенты)

Для работы с новым провайдером достаточно поменять URL API. Кроме ссл.ком, там надо зарегаться и выполнить немножко действий
ZeroSSL не любит ру-домены https://help.zerossl.com/hc/en-us/articles/360060119833-Restricted-Countries
Лучше в прозе и не скажешь. Вообще очень и очень ценю подход Лебедева к работе. Очень многому у него научился и хорошо, что он умеет транслировать свои мысли в таком "доходящем" виде
Главное правило про хорошую работу

Есть люди, которые говорят «как нам платят, так мы и работаем». И делают говно.

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

И наоборот - если человек хуево работает (под предлогом, что ему мало платят), то он ничему не учится. И если ему предложить большие деньги, то он все равно сделает говно.

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

Ну и еще простой совет: не нравится работа - уйди. А если работаешь, то не пизди, а работай хорошо.
👍19
Друзья, нужна помощь!

Точнее, подсказка :) Я решил поделать немного медиаконтента и сейчас в процессе подбора оборудования.

Микрофон купил, а вот с камерой чето затык. Макбучная родная что-то совсем ни о чем, посоветуйте камеру для макбука не за сотни денег :)
Хочется написать грустно-гневный пост) Про людей

Вот есть у меня знакомый. Хороший знакомый очень, почти друг, знаемся уже стопицот лет.

И договорились мы с ним одну движуху вместе замутить. Ну и процесс у нас такой должен был быть, итеративный. Я свою итерацию сделал, жду синка, а его нет и нет. Не было его недели три наверное. А потом пишет мне знакомый: "сорри, мол, дорогой друг, я чето тут все передумал и не буду с тобой ничего делать"

😳

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

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

Не надо так.
👍13
Неожиданно хорошие люди позвали выступить в Минск

https://itg.by/speakers/sinic/

Тот же доклад, что и на TestDriven (новый подготовить физически не успеваю), а конференция — бесплатная и в субботу.
Так что го все в Беларусь, есть драники, знакомиться и просто гулять по прекраснейшему Минску
👍4
А вот и подъехала видеоверсия моего докладика :)
https://www.youtube.com/watch?v=B8aOT5qn8l4

Уровень аудитории middle, предупреждаю сразу :) Прям прожженые сеньоры вряд ли найдут что-то новое для себя
Приезжайте в Минск, обсудим поподробнее)

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

Для примера, сейчас мы медитируем над потоком логов овер 10 ГБитс и мониторингом с десятками миллионов метрик в секунду. Задачки интересные, команда очень дружная, бонусом я как тимлид😁 Можно удаленно, можно в офисе (Мск, Питер, Сочи), можно совмещать эти два режима
Если интересно, то шлите сивишки на andrey@sinits.in
👍103
Отпустить и отдохнуть

Хочется вспомнить бессмертную сцену с Сашей Демидовым из "О чем говорят мужчины"

Последние два месяца выдались капец какими жаркими. ВНЕЗАПНО заработало всё.

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

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

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

Пока еще у меня нет того объема ресурсов, чтобы тащить вообще все, что как-то стреляет. А очень жаль.
👍7