HighLoad++
Linux уверенно завоёвывает позиции основной ОС для баз данных. Это понятно, так как open source баз данных всё больше. Но есть одна проблема — производительность IO. Хорошо, что в Linux последние годы идет капитальный ремонт IO-стека и есть надежда на просветление.…
#devops #database
С IO действительно очень много проблем и очень сложно продраться через огромную кучу абстракций. Очень радует, что сейчас начали что-то делать с IO-стеком и есть подвижки. На счет баз, из моего(скудного) опыта, хочется посоветывать выбрать нормальную FS(ваш кэп). Лишние журналы, люто жрущие диск, не очень помогают базенке.
С IO действительно очень много проблем и очень сложно продраться через огромную кучу абстракций. Очень радует, что сейчас начали что-то делать с IO-стеком и есть подвижки. На счет баз, из моего(скудного) опыта, хочется посоветывать выбрать нормальную FS(ваш кэп). Лишние журналы, люто жрущие диск, не очень помогают базенке.
kubernetes_cheat_sheet_r1v1.pdf
110.4 KB
#k8s
Очередной набор cheat-sheetов подъехал, на этот раз от RedHat
Очередной набор cheat-sheetов подъехал, на этот раз от RedHat
Что-то очень орнул сегодня:
Две команды разрабатывает 2 "микросервиса". По лучшим традициям, сервисы связаны максимально жестко: практически на каждый call сервиса А идет запрос данных из сервиса В и наоборот. И вот в одном из сервисов, допустим В, парни придумали хранить несколько типов сущностей в одной скуль-таблице(Кодд, прости, мы все про...), но, со временем все же исправились и решили нормализовать. Вот только к таблице была прикреплена APIшка для сервиса А, которая теперь гордо возвращает 404 для большей половины запросов.
Дальше больше: дефект заметила команда сервиса В, которая добропорядочно отрепортила его в А а-ля чет у вас там пятисотит. После недолгого инвестигейта находится источник(404 из В) и тикет летит через забор. Но тут ребята категорично ответили, что ничего не меняли и ваще "сами мейнтейньте" и кинули обратно. Такой себе джира пинг-понг.
Мораль... если не умеешь в распределенные архитектуры, то может и не надо? А вот за Кодда обидно, конечно
Две команды разрабатывает 2 "микросервиса". По лучшим традициям, сервисы связаны максимально жестко: практически на каждый call сервиса А идет запрос данных из сервиса В и наоборот. И вот в одном из сервисов, допустим В, парни придумали хранить несколько типов сущностей в одной скуль-таблице(Кодд, прости, мы все про...), но, со временем все же исправились и решили нормализовать. Вот только к таблице была прикреплена APIшка для сервиса А, которая теперь гордо возвращает 404 для большей половины запросов.
Дальше больше: дефект заметила команда сервиса В, которая добропорядочно отрепортила его в А а-ля чет у вас там пятисотит. После недолгого инвестигейта находится источник(404 из В) и тикет летит через забор. Но тут ребята категорично ответили, что ничего не меняли и ваще "сами мейнтейньте" и кинули обратно. Такой себе джира пинг-понг.
Мораль... если не умеешь в распределенные архитектуры, то может и не надо? А вот за Кодда обидно, конечно
#monitoring
Тут недавно произошла интересная история. Модно-молодежно собирая метрики в пром и прикрутив к нему графану и алертинг мы стали спокойно спать по ночам. Помимо традиционных алертов на ресурсы, кубер и каких-то бизнесовых показателей мы везде поставили алерты на отсутствие данных(сервис помер и ничего не отправляет). И вот в один прекрасный день в слак прилетает пачка зеленых алертов из категории "все пропало". Сразу зеленых, красных не было. Пошли разбираться: оказывается кубер решил перезагрузить прометеус и графана на несколько минут потеряла связь с промом что и вызвало недопонимание с ее стороны. Но! Так как алерты на отсутствие данных у нас были, а вот алертов на недоступность data source не было, то о падении мы узнали только пост-фактум.
История смешная, а ситуация страшная: если бы в этот момент свалился еще и прод или вырубился бы весь куб-кластер, то об этом бы мы узнали только от пользователей.
Кароч выводы мы сделали такие: алерты надо тестировать. Причем, перед этим, надо тщательно продумать и приоритезировать все кейсы. Ну и вот парочка крутых видосов про мониторинг\алертинг от Контура: раз два
Тут недавно произошла интересная история. Модно-молодежно собирая метрики в пром и прикрутив к нему графану и алертинг мы стали спокойно спать по ночам. Помимо традиционных алертов на ресурсы, кубер и каких-то бизнесовых показателей мы везде поставили алерты на отсутствие данных(сервис помер и ничего не отправляет). И вот в один прекрасный день в слак прилетает пачка зеленых алертов из категории "все пропало". Сразу зеленых, красных не было. Пошли разбираться: оказывается кубер решил перезагрузить прометеус и графана на несколько минут потеряла связь с промом что и вызвало недопонимание с ее стороны. Но! Так как алерты на отсутствие данных у нас были, а вот алертов на недоступность data source не было, то о падении мы узнали только пост-фактум.
История смешная, а ситуация страшная: если бы в этот момент свалился еще и прод или вырубился бы весь куб-кластер, то об этом бы мы узнали только от пользователей.
Кароч выводы мы сделали такие: алерты надо тестировать. Причем, перед этим, надо тщательно продумать и приоритезировать все кейсы. Ну и вот парочка крутых видосов про мониторинг\алертинг от Контура: раз два
YouTube
Собственная система уведомлений о нештатных ситуациях / Алексей Кирпичников (Контур)
Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
HighLoad++ Moscow 2018
Тезисы и презентация:
http://www.highload.ru/mo…
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
HighLoad++ Moscow 2018
Тезисы и презентация:
http://www.highload.ru/mo…
Пятничный деплой
Практически все кто использует Kubernetes, рано или поздно, сталкиваются с необходимостью подсчёта потребляемых ресурсов. Следующая штука должна вам очень помочь https://github.com/rchakode/kube-opex-analytics/blob/master/README.md ну и вдогонку отличная статья…
GitHub
GitHub - opencost/opencost: Cost monitoring for Kubernetes workloads and cloud costs
Cost monitoring for Kubernetes workloads and cloud costs - GitHub - opencost/opencost: Cost monitoring for Kubernetes workloads and cloud costs
Forwarded from Evil Martians
Смотрите видео с выступления Сергея Долганова на #ДАМП с докладом про то, как типы и функциональный подход могут вдохнуть новую жизнь в создание контрактов для API:
https://www.youtube.com/watch?v=x_vN2a1BldY
https://www.youtube.com/watch?v=x_vN2a1BldY
YouTube
Сергей Долганов. Контрактный подход к построению API зависимых приложений
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Evil Martians
Смотрите видео с выступления Сергея Долганова на #ДАМП с докладом про то, как типы и функциональный подход могут вдохнуть новую жизнь в создание контрактов для API: https://www.youtube.com/watch?v=x_vN2a1BldY
И контракты и апи схемы и чуть-чуть Хаскеля! Прям все как мы любим! Наслаждайтесь!
Forwarded from Записки админа
📝 Коротко о том, что такое path юниты, и как с помощью systemd можно мониторить файлы в системе. https://www.redhat.com/sysadmin/introduction-path-units
#systemd #будничное #напочитать
#systemd #будничное #напочитать
Есть ли у вас DDD на проде
Anonymous Poll
18%
Да, на POCO/POJO/еще каком-то Plain old ...
7%
Да, на специальном фреймворке
68%
Нет и не пробовали
7%
Пробовали, не зашло
Forwarded from Записки админа
⚙️ Любители sed'а, тут для вас интересное принесли - sed дебаггер - https://aurelio.net/projects/sedsed/ Занятная штука, попробуйте надосуге. 🙂
#bash #sed #фидбечат
#bash #sed #фидбечат
Forwarded from Хекслет
Есть что-то в программировании красивое и завораживающее. Особенно, когда это круто визуализировано.
50+ алгоритмов сортировки за полчаса: https://youtu.be/FZ8FaztJGEo
50+ алгоритмов сортировки за полчаса: https://youtu.be/FZ8FaztJGEo
YouTube
50+ Sorts, Visualized - Linked Disparity Dots
Visit our community Discord: https://discord.gg/thestudio
Okay, I know I said I would be done with sorting for a while, but I did have a couple of extra videos lying around. Why not upload them? These are some upgraded visuals from my original sorting videos.…
Okay, I know I said I would be done with sorting for a while, but I did have a couple of extra videos lying around. Why not upload them? These are some upgraded visuals from my original sorting videos.…
Forwarded from Defront — про фронтенд-разработку и не только
Анкита Масанд написала статью про использование API для интернационализации приложений в JS — "New Intl APIs in JavaScript".
API интернационализации живёт в глобальном объекте Intl. В статье рассматривается несколько кейсов, где оно может быть полезно. Например, можно использовать
Intl доступен во всех актуальных браузерах, но полнота имплементации от браузера к браузеру отличается. Например,
Не могу сказать, что в статье содержится исчерпывающая информация по Intl, тем не менее в ней есть хорошие кейсы его использования.
#js #i18n
https://blog.bitsrc.io/new-intl-apis-in-javanoscript-c50dc89d2cf3
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
Medium
New Intl APIs in JavaScript
Learn how to use the new Intl object to format data into a specific locale
Forwarded from oleg_log (Oleg Kovalov)
Elements of Programming by Alexander Stepanov and Paul McJones is now free.
Книга чуток математичная, но вдруг кому-то надо. Кстати 2019, то есть самая новенькая.
http://elementsofprogramming.com/
Книга чуток математичная, но вдруг кому-то надо. Кстати 2019, то есть самая новенькая.
http://elementsofprogramming.com/
Ох, люблю я такие блеймы: https://m.habr.com/ru/post/459992/ и все вроде бы по делу и правильно(хоть и не очень своевременно, все уже "сотку" сто лет как обхаяли), но чет все равно смешно
Хабр
ГОСТ Р 57100-2016. Что это было?
В сентябре 2017 года был введён Национальный стандарт Российской Федерации, получивший обозначение ГОСТ Р 57100-2016 (статус указан здесь, текст можно посмотреть тут) (я по простоте буду называть...
I hate overtime
Ох, люблю я такие блеймы: https://m.habr.com/ru/post/459992/ и все вроде бы по делу и правильно(хоть и не очень своевременно, все уже "сотку" сто лет как обхаяли), но чет все равно смешно
Если кто не в курсе, то предистория такая:
во времена позднего палеолита дяденьки задумались как бы описать ландшафт сложных IT систем, что бы понимать что от чего зависит, какие данные откуда куда текут, что где развернуто и т.д. Было много попыток, но щас канонической считается модель Кручтена(ну и куча других, построенных на ее основе). Упомянутый на хабре ISO — адаптация трудов Кручтена, а пресловутая "сотка" — вольный перевод этой адаптации.
ИМХО, сложно было ожидать качества от такого глухого телефона, но тем не менее.
во времена позднего палеолита дяденьки задумались как бы описать ландшафт сложных IT систем, что бы понимать что от чего зависит, какие данные откуда куда текут, что где развернуто и т.д. Было много попыток, но щас канонической считается модель Кручтена(ну и куча других, построенных на ее основе). Упомянутый на хабре ISO — адаптация трудов Кручтена, а пресловутая "сотка" — вольный перевод этой адаптации.
ИМХО, сложно было ожидать качества от такого глухого телефона, но тем не менее.
#azure
У Azure в Azure SQL Database есть такая неприятная вещь как DTU: это некий попугай, измеряющий нагрузку на базу. Самое неприятное, что при прайс-модели в DTU(есть еще нормальный vCore, но за конский ценник) при привышении DTU-лимита ваши запросы к базе просто не будут обрабатываться.
Что такое DTU и как это посчитать\сконвертировать в обычные mcpu\iops'ы инфы тащем-то нету, но опытным путем было установлено, что огибающая DTU-графика совпадает с наиболее загруженной подсистемой базы. Т.е. если вы насилуете CPU, то DTU будет вести себя как CPU, а если диски в полке, то в полке будет и DTU.
Замониторить этот ад можно только ажуровскими средствами(как ажуровский мониторнг подружить с промом мы чет так и не разобрались)
Вобщем боль, ужас и бесперспективняк.
И вот тут дядя, наконец-то более-менее адекватно описал что и как с Azure'вским, прости господи, DBaaS'ом
У Azure в Azure SQL Database есть такая неприятная вещь как DTU: это некий попугай, измеряющий нагрузку на базу. Самое неприятное, что при прайс-модели в DTU(есть еще нормальный vCore, но за конский ценник) при привышении DTU-лимита ваши запросы к базе просто не будут обрабатываться.
Что такое DTU и как это посчитать\сконвертировать в обычные mcpu\iops'ы инфы тащем-то нету, но опытным путем было установлено, что огибающая DTU-графика совпадает с наиболее загруженной подсистемой базы. Т.е. если вы насилуете CPU, то DTU будет вести себя как CPU, а если диски в полке, то в полке будет и DTU.
Замониторить этот ад можно только ажуровскими средствами(как ажуровский мониторнг подружить с промом мы чет так и не разобрались)
Вобщем боль, ужас и бесперспективняк.
И вот тут дядя, наконец-то более-менее адекватно описал что и как с Azure'вским, прости господи, DBaaS'ом
Ballard Chalmers
Azure SQL Database DTU Versus vCore - Ballard Chalmers
This article by Microsoft MVP Arun Sirpal will compare at a high level the very different options of Azure SQL DTU versus vCore.
#database
Для тех кто как и я долго пытается найти тулзы для рисования схем базенок, расскажу про свой топ тулзов:
1. Очень долго пользовался штукой, которая называется vertabelo Из плюсов: красивые диаграмки, генерит норм скуль. Из минусов: коооонский ценник и небольшие проблемы с экспортом уже имеющихся базенок
2. Новая штука, которую еще не успел толком попробовать, но первые впечатления хорошие! Умеет все что и предыдущая, но есть Free-план и нормальный экспорт(правда не всех диалектов, но ребята работают над этим)
3. SSMS(великий и ужастный). Из плюсов: очень тесно связан с базой, так что все отрисованное моментально отображается на схему и обратно. Из минусов: жуткий UX и только SQLServer
Для тех кто как и я долго пытается найти тулзы для рисования схем базенок, расскажу про свой топ тулзов:
1. Очень долго пользовался штукой, которая называется vertabelo Из плюсов: красивые диаграмки, генерит норм скуль. Из минусов: коооонский ценник и небольшие проблемы с экспортом уже имеющихся базенок
2. Новая штука, которую еще не успел толком попробовать, но первые впечатления хорошие! Умеет все что и предыдущая, но есть Free-план и нормальный экспорт(правда не всех диалектов, но ребята работают над этим)
3. SSMS(великий и ужастный). Из плюсов: очень тесно связан с базой, так что все отрисованное моментально отображается на схему и обратно. Из минусов: жуткий UX и только SQLServer
Forwarded from Записки админа
ℹ️ Очень крутой, и регулярно обновляемый FAQ по Fedora. Всех, кто с этим дистрибутивом начинает знакомиться, можно смело отправлять по ссылке: https://russianfedora.github.io/FAQ/
#fedora #будничное #линк
#fedora #будничное #линк