I hate overtime – Telegram
I hate overtime
866 subscribers
129 photos
4 videos
54 files
961 links
Some DevOps, SRE and IT development stuff
Download Telegram
Очень даже познавательный такой лонгрид о комплексном мониторинге https://brunonetid.github.io/2019/07/09/camel-observability-openshift.html Почитаю еще раз на досуге, более внимательно
Forwarded from HighLoad++
Linux уверенно завоёвывает позиции основной ОС для баз данных. Это понятно, так как open source баз данных всё больше. Но есть одна проблема — производительность IO. Хорошо, что в Linux последние годы идет капитальный ремонт IO-стека и есть надежда на просветление.

Подробности — в расшифровке доклада Ильи Космодемьянского (Data Egret) на HighLoad++ 2018.
HighLoad++
Linux уверенно завоёвывает позиции основной ОС для баз данных. Это понятно, так как open source баз данных всё больше. Но есть одна проблема — производительность IO. Хорошо, что в Linux последние годы идет капитальный ремонт IO-стека и есть надежда на просветление.…
#devops #database
С IO действительно очень много проблем и очень сложно продраться через огромную кучу абстракций. Очень радует, что сейчас начали что-то делать с IO-стеком и есть подвижки. На счет баз, из моего(скудного) опыта, хочется посоветывать выбрать нормальную FS(ваш кэп). Лишние журналы, люто жрущие диск, не очень помогают базенке.
kubernetes_cheat_sheet_r1v1.pdf
110.4 KB
#k8s
Очередной набор cheat-sheetов подъехал, на этот раз от RedHat
Что-то очень орнул сегодня:
Две команды разрабатывает 2 "микросервиса". По лучшим традициям, сервисы связаны максимально жестко: практически на каждый call сервиса А идет запрос данных из сервиса В и наоборот. И вот в одном из сервисов, допустим В, парни придумали хранить несколько типов сущностей в одной скуль-таблице(Кодд, прости, мы все про...), но, со временем все же исправились и решили нормализовать. Вот только к таблице была прикреплена APIшка для сервиса А, которая теперь гордо возвращает 404 для большей половины запросов.
Дальше больше: дефект заметила команда сервиса В, которая добропорядочно отрепортила его в А а-ля чет у вас там пятисотит. После недолгого инвестигейта находится источник(404 из В) и тикет летит через забор. Но тут ребята категорично ответили, что ничего не меняли и ваще "сами мейнтейньте" и кинули обратно. Такой себе джира пинг-понг.
Мораль... если не умеешь в распределенные архитектуры, то может и не надо? А вот за Кодда обидно, конечно
#monitoring
Тут недавно произошла интересная история. Модно-молодежно собирая метрики в пром и прикрутив к нему графану и алертинг мы стали спокойно спать по ночам. Помимо традиционных алертов на ресурсы, кубер и каких-то бизнесовых показателей мы везде поставили алерты на отсутствие данных(сервис помер и ничего не отправляет). И вот в один прекрасный день в слак прилетает пачка зеленых алертов из категории "все пропало". Сразу зеленых, красных не было. Пошли разбираться: оказывается кубер решил перезагрузить прометеус и графана на несколько минут потеряла связь с промом что и вызвало недопонимание с ее стороны. Но! Так как алерты на отсутствие данных у нас были, а вот алертов на недоступность data source не было, то о падении мы узнали только пост-фактум.
История смешная, а ситуация страшная: если бы в этот момент свалился еще и прод или вырубился бы весь куб-кластер, то об этом бы мы узнали только от пользователей.
Кароч выводы мы сделали такие: алерты надо тестировать. Причем, перед этим, надо тщательно продумать и приоритезировать все кейсы. Ну и вот парочка крутых видосов про мониторинг\алертинг от Контура: раз два
Ну и куда же без пятничных мемесов
Forwarded from Evil Martians
Смотрите видео с выступления Сергея Долганова на #ДАМП с докладом про то, как типы и функциональный подход могут вдохнуть новую жизнь в создание контрактов для API:

https://www.youtube.com/watch?v=x_vN2a1BldY
📝 Коротко о том, что такое path юниты, и как с помощью systemd можно мониторить файлы в системе. https://www.redhat.com/sysadmin/introduction-path-units

#systemd #будничное #напочитать
⚙️ Любители sed'а, тут для вас интересное принесли - sed дебаггер - https://aurelio.net/projects/sedsed/ Занятная штука, попробуйте надосуге. 🙂

#bash #sed #фидбечат
Forwarded from Хекслет
Есть что-то в программировании красивое и завораживающее. Особенно, когда это круто визуализировано.

50+ алгоритмов сортировки за полчаса: https://youtu.be/FZ8FaztJGEo
Анкита Масанд написала статью про использование API для интернационализации приложений в JS — "New Intl APIs in JavaScript".

API интернационализации живёт в глобальном объекте Intl. В статье рассматривается несколько кейсов, где оно может быть полезно. Например, можно использовать Intl.RelativeTimeFormat для форматирования относительных дат ("минуту назад", "день назад", "через 10 дней" и т.п.). Intl.ListFormat для форматирования списков (можно использовать списки с конъюнкцией, дизъюнкцией или с обычным перечислением через запятую). Intl.NumberFormat используется для форматирования больших целых чисел (между разрядами числа в русскоязычном формате добавляются пробелы, в англоязычном — запятые). Для форматирования времени и дат используется Intl.DateTimeFormat.

Intl доступен во всех актуальных браузерах, но полнота имплементации от браузера к браузеру отличается. Например, Intl.RelativeTimeFormat не поддерживается в IE11 и Edge.

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

#js #i18n

https://blog.bitsrc.io/new-intl-apis-in-javanoscript-c50dc89d2cf3
Forwarded from oleg_log (Oleg Kovalov)
Elements of Programming by Alexander Stepanov and Paul McJones is now free.

Книга чуток математичная, но вдруг кому-то надо. Кстати 2019, то есть самая новенькая.

http://elementsofprogramming.com/
I hate overtime
Ох, люблю я такие блеймы: https://m.habr.com/ru/post/459992/ и все вроде бы по делу и правильно(хоть и не очень своевременно, все уже "сотку" сто лет как обхаяли), но чет все равно смешно
Если кто не в курсе, то предистория такая:
во времена позднего палеолита дяденьки задумались как бы описать ландшафт сложных IT систем, что бы понимать что от чего зависит, какие данные откуда куда текут, что где развернуто и т.д. Было много попыток, но щас канонической считается модель Кручтена(ну и куча других, построенных на ее основе). Упомянутый на хабре ISO — адаптация трудов Кручтена, а пресловутая "сотка" — вольный перевод этой адаптации.
ИМХО, сложно было ожидать качества от такого глухого телефона, но тем не менее.
#azure
У Azure в Azure SQL Database есть такая неприятная вещь как DTU: это некий попугай, измеряющий нагрузку на базу. Самое неприятное, что при прайс-модели в DTU(есть еще нормальный vCore, но за конский ценник) при привышении DTU-лимита ваши запросы к базе просто не будут обрабатываться.
Что такое DTU и как это посчитать\сконвертировать в обычные mcpu\iops'ы инфы тащем-то нету, но опытным путем было установлено, что огибающая DTU-графика совпадает с наиболее загруженной подсистемой базы. Т.е. если вы насилуете CPU, то DTU будет вести себя как CPU, а если диски в полке, то в полке будет и DTU.
Замониторить этот ад можно только ажуровскими средствами(как ажуровский мониторнг подружить с промом мы чет так и не разобрались)
Вобщем боль, ужас и бесперспективняк.
И вот тут дядя, наконец-то более-менее адекватно описал что и как с Azure'вским, прости господи, DBaaS'ом