Yet another senior pomidor (by @gmelikov) – Telegram
Yet another senior pomidor (by @gmelikov)
175 subscribers
44 photos
6 videos
46 links
Околоайтишные страсти с уклоном в инфровую разработку и sci-fi.
Ведёт @gmelikov
Download Telegram
Увидел в чате уважаемого человека пост про OpenZL, и не смог пройти мимо, т.к. понеслось - уже в ZFS начали его просить :)

Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:
- LZ4 - максимально быстро, всё в угоду скорости, даже несжимаемое предпочитает по эвристике пропустить и не пытаться пожать (итого скорость ~memcpy на несжимаемом)*
- ZSTD - очень гибкий, быстрее gzip, эффективнее gzip, на малых режимах сжатия наследует многое от LZ4*. Одна из фишек - сжатие по словарю - т.е. если ваши данные ну очень типовые - составляете словарь наиболее частых вхождений и получаете легко коэффициент х20. Нюанс - словарь надо таскать с собой, что сильно уменьшает удобство.
- новинка OpenZL - читерит и требует знания про ваши структуры данных, но зато может дать огромный выигрыш. Проще всего объяснить на их же примере и вспомнить почему time-series DB умеют ну очень эффективно хранить последовательности: если вы храните упорядоченные числа, то эффективнее всего хранить их... дельту! Ключевое отличие от словарей - что для разжатия вам не нужны дополнительные артефакты.

Новое слово для сжатия известных структур/метаданных?

* на самом деле, грань между LZ4 и ZSTD сильно размылась, у каждого уже есть разные режимы, позволяющие сильно превратить одно в другое
3🤩3👀2🤔1🍌1
Yet another senior pomidor (by @gmelikov)
Увидел в чате уважаемого человека пост про OpenZL, и не смог пройти мимо, т.к. понеслось - уже в ZFS начали его просить :) Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:…
Уважаемый человек побудил меня потратить всё время в сапсане на чтение paper'а об openZL, и я прямо насладился!

Идея - огонь:
- SDDL (язык для описания структуры данных) для парсинга на первом этапе, потом transform (промежуточный кодек), потом графы и итоговые кодеки в них.
- Кодеком может являться любая функция которая что-то сделает с данными (тот же zstd). Элемент графа - тоже кодек, но умеющий построить связь с другими кодеками передающий данные как есть.
- Работаем не с байтами, а со структурированными данными. При чём in-out стримов много! Полезный бонус - данные перед сжатием теперь можно не сериализовывать, а как есть отдать на соответствующий кодек для сжатия.
- Упор на практичность, универсальный декодер (главное чтоб имел нужные кодеки). И это гипер важно - основная проблема сделать новый алгоритм компрессии - в распространении его декомпрессора. OpenZL позволит делать максимально эффективные кодеки, используя один и тот же декодер!

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

Для простоты разберём пример:
csv "ФИО,рост,вес"
- парсим и выделяем каждый столбец отдельно
- теперь, например, столбец "рост" можно преобразовать из ascii/utf в int, может даже - отсортировать, если отсортировали - писать дельту а не значение, и всё это подать в специализированный кодек field_lz
- поле "ФИО" проще воспринимать как текст, тут можно использовать базовый zstd (для примера)
- итог - граф операций над данными, для декомпрессии его надо просто проиграть в обратную сторону (т.е. в итоговом артефакте есть информация о порядке декомпрессии известными декомпрессору кодеками)


А как вы упарываетесь в пути?
👾21👨‍💻1👀1
Кстати, тут python 3.14 релизнулся, все носятся с перформансом и тредами. Это конечно классно, но в среднем для вас разница будет на уровне погрешности.

Лично я очень ждал (и наконец - дождался):
- zstd из коробки. Король компрессоров in da house
- uuidv7 из коробки. Теперь индексы по uuid будут последовательны и эффективны, особенно это оценит mysql и подобные с gap lock на primary key
🤓4👻3🗿2👨‍💻1🤪1
Коллеги проводят исследование с целью понять, что реально происходит внутри ИТ-команд и какие закономерности можно в этом увидеть.

Уже нащупаны интересные корреляции:
– между скоростью пайплайнов и качеством code review,
– между алертингом и стабильностью релизов,
– между ролями в команде и удовлетворённостью релизным процессом.

Но нужно больше данных, чтобы отделить закономерности от шума.

Пройти анкету можно за 10 минут. Её же можно использовать как мини-чек-лист для самооценки зрелости инженерной культуры.

Принять участие: https://forms.gle/NszR7VDuXL9sBbVAA

Результаты обязательно расскажу, коллеги поделятся.


Чем быстрее CI/CD - чем больше рисков "тестирования на проде"?
2🤔1👌1🤝1
В этот раз делать отдельный обзор на аварию даже как-то неудобно, DNS всё же :)

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

А будущее всё также за cloud-agnostic (да-да, on-prem это тоже облако нынче) и #NoOps .
👨‍💻2👀2👍1👌1
#машины_aws

Пожалуй, лучший инцидент, что я когда либо видел.

Если вкратце:
1. Управление DNS записями для DynamoDB отвалилось, в итоге:
2. Эндпоинты DynamoDB (в том числе для внутреннего пользования) отвалились, в итоге:
3. Storage backend, которым выступала DynamoDB, одного из компонентов control plane EC2 отвалился, в итоге:
4. Отвалился NLB, который не мог следить за событиями EC2.

Очень радует, что AWS решил минимальными усилиями решить конкретную проблему, а не сделать отдельный внутренний Kinesis как тогда с инцидентом CloudWatch и Cognito.


Да и не пользуйтесь us-east-1, сколько еще повторять. Новые фичи раньше всех того не стоят.
🌚2🤝2💊1
В сети можно найти интересные посты про "переволновавшиеся" LLMки, как они могут проигнорировать инструкции об безысходности и всё же дропнуть вам базу на проде.

По случаю вспомнил замечательный рассказ Станислава Лема - Ананке. 1971 год, короткий рассказ, Марс, научная фантастика, как нынче модно это называть - про машинное обучение.

Первый раз я прочитал это произведение лет 5 назад, и подумал, что этот sci-fi уже про "несвершившееся будущее" и сильно так устарел (хотя даже тогда он меня покорил той самой богиней Ананке). Но в этом году, да ещё с такими историями про LLM, оказывается что мы всё таки дожили до этого будущего, про которое когда-то подумал Лем :) Вот такие они - грёзы по несбывшемуся будущему.

#books

А ещё мне очень понравилась суть богини Ананке из древнегреческой мифологии - "неизбежность, судьба, нужда, необходимость". Всё как в жизни - если какой-то сценарий вероятен, то на масштабах он неизбежен. Например - ваш сервер когда-то гарантированно откажет самым неожиданным образом.
2🎃2🤔1😱1🍌1💅1
Forwarded from samdark blog ☕️ (Alexander Makarov) (Alexander Makarov)
Инженерная зрелость. Исследование практик и триггеров

Итак, исследование завершилось. Вот что вышло.

https://habr.com/ru/articles/963202/
🤔2👌2🌚2👍1👀1
Забавно было буквально вчера в некоторых чатах на проблему DDoS'а ботами-краулерами читать "да просто юзай CF!"

Тем временем сегодня Cloudflare отдыхает... Ждём постпортема.
❤‍🔥4🤡3🐳3🌭1
Forwarded from Логово асоциальной твари (Aleksey Uchakin)
Cloudflare оперативно выкатил весьма детальный постмортем, за что им большое спасибо.
Про Rust уже все поржали, но я бы хотел обратить внимание на другое.

На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе тестов, ни blue/green и cherry picking, ни даже внятной системы отката изменений. И эти люди борются звание дома высокой культуры быта! (с)

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

Станет ли у Cloudflare меньше клиентов? Сомневаюсь. Более того, на ПФ в понедельник я слышал мнение, что мелкий бизнес а России даже уходит с отечественных CDN на CF (потому что до конца оранжевого гиганта блокировать пока не собираются, а "бесплатный" CDN и DDoS-защита никуда не исчезли). Про зарубеж я вообще молчу.

Так и живём

#thereisnoclouds @snakeslair
🤔5🍾2😁1👀1
Логово асоциальной твари
Cloudflare оперативно выкатил весьма детальный постмортем, за что им большое спасибо. Про Rust уже все поржали, но я бы хотел обратить внимание на другое. На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе…
К вопросу о скорости починки cf, коммент от их CEO (link):
Because we initially thought it was an attack. And then when we figured it out we didn’t have a way to insert a good file into the queue. And then we needed to reboot processes on (a lot) of machines worldwide to get them to flush their bad files.


Все мы люди.
👌52🤷‍♂1👀1
Про CPU steal-time

К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.

CPU Steal-time буквально “украденное время”. Проц выдали не тебе, а соседу. Про эту метрику мне сказал коллега по ПК Хайлоада, Георгий Меликов, за что ему большое спасибо. Я проверил, что протягивается, и забыл.

Не прошло и 2х недель, вчера участник тренинга по перфомансу показывает жутко зашумленные графики стрельб, очень отдаленно напоминающие правильные, и говорит: я уже всё перепробовал, WTF. Замечаю большой steal time (почти равен сумме user+system) и пишу в саппорт, так и так, похоже, шумный сосед / перегруженный хост.

И да, саппорт подтверждает, виртуалку переносят, 100К RPS наливаются. Клауды такие клауды 🙂

👍 зато девопс пайплайн тераформ, а не вот это ваше всё
🔥 ну, за онпрем!
🔥73🤩1🤡1
3 декабря в Мск будет OS DevConf 25 - "Конференция про разработку системного ПО, ядра Linux и open source".

Почему приглашаю:
- мы с коллегой впервые анонсим наш новый SDS - RawStor. Расскажем почему решили писать ещё один сторадж, и ответим, почему в нём "client всегда прав". (всё в опенсорсе)
- будет ещё несколько докладов про стораджи: SPDK, Lustre (очень жду этого доклада, к примеру, контрибьюторы приедут!)
- ну и много других докладов рядом с Linux

Увидимся!
🔥8👍2🤩2🤝2
И продолжаем приглашения на новогодние тусовки :) Приходите - увидимся!

InfraDev Community приглашает на Cloud Fail ((Over)): специальный новогодний выпуск InfraDev Meetup.

Без фейлов не обходится ни один крутой продукт, ну а истории успеха — «за ширмой» оказываются историями поисков и ошибок с удачным концом.
Поговорим про то, какие проблемы возникают под капотом инфраструктурных продуктов, как они решаются и какие уроки из этого получаются.

Спикеры:
☁️Василий Степанов, руководитель направления инфраструктурных сервисов, VK Cloud, VK Tech.
☁️Константин Крамлих, руководитель поднаправления сетевых продуктов, Yandex.Cloud.
☁️Секретный доклад: подробности добавим позднее.

Подробнее о докладах читайте на странице мероприятия.

Когда: 18 декабря, с 18:00 до 23:59 
Где: Москва, Ленинградский пр., 70, офис VK Tech, БЦ «Алкон» (количество мест ограничено).
Приходите на встречу или участвуйте онлайн.

Зарегистрироваться.
👍5🔥1👌1
Devin AI got fired
😁10🎉2🤡2💅2
Осталось выбрать, какой из стартапов... 🤣

А что вы планируете на праздники?
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5🌚2🙊2
Yet another senior pomidor (by @gmelikov)
3 декабря в Мск будет OS DevConf 25 - "Конференция про разработку системного ПО, ядра Linux и open source". Почему приглашаю: - мы с коллегой впервые анонсим наш новый SDS - RawStor. Расскажем почему решили писать ещё один сторадж, и ответим, почему в нём…
Кстати, уже доступны записи докладов, ютуб/рутуб/вк.

Но это же канальчик и про стораджи, так что приведу доклады про сторадж:
- мой с коллегой, про наш сторадж RawStor ютуб/рутуб/слайды (@gmelikov @vasi2y)
- про SPDK в MWS ютуб/рутуб (@swaoter)
- обзорный про Lustre FS от контрибьюторов с 20-летним стажем ютуб/рутуб
🔥5👍2👨‍💻2👌1
Почитал замечательную статью про багу в ядре от коллег из PostgresPro, где сошлись воедино XFS и безопасность, спойлерить сильно не буду, замечательный детектив.

А вспомнить на этом фоне хочется важные для этой пьесы параметры ядра init_on_free + init_on_alloc.

Если кратко - ради безопасности решили на каждой аллокации и на каждом освобождении страницы памяти её занулять, по дефолту это начали включать примероно в 2020м году, или в районе ядра 5.3. На бумаге всё хорошо, прибираем за нерадивыми разработчиками утёкшую информацию из памяти. А вот по перформансу даже оригинальное описание патча немного расходится:
The slowdown for init_on_free=0, init_on_alloc=0 compared to the baseline
is within the standard error.

, при этом немного ниже:
Although init_on_free is rather costly, there are paranoid use-cases where
in-memory data lifetime is desired to be minimized.


Самая интересная часть - а зачем это вообще надо:
There are various arguments for/against the realism of the associated threat models, but
given that we'll need the infrastructure for MTE anyway, and there are
people who want wipe-on-free behavior no matter what the performance cost,
it seems reasonable to include it in this series.

И вот так, лёгким мановением руки, патч для тех, who want wipe-on-free behavior no matter what the performance cost, заезжает в мастер и включается в подавляющем количестве дистрибутивов по дефолту.

Для ZFS, к примеру, в самом начале это аукнулось деградацией перформанса до 40%! Самое неприятное, что фактические проблемы с перфом хорошо видны только при полноценной загрузке канала до ОЗУ, и многие начинают этим пренебрегать.

В общем - ещё несколько параметров в копилку настроек, которые меня соблазняют их отключить.

💩 - такая безопасность == "дышать вредно"
🦄 - безопасность важнее, торопиться некуда
🤡 - ох уж эти кликбейтные эмодзи-голосования
Please open Telegram to view this post
VIEW IN TELEGRAM
💩21🤡9😁3🦄3