В эту субботу 13 сентября будет бесплатная онлайн-конференция Highload++ Genesis о фундаментальных вещах для нашей сферы: базы, не-базы, сети, ml, облака, контейнеры, нагрузки.
На ней буду "великолепно капитанить" про облака. Регистрируйтесь, услышимся!
#conference
На ней буду "великолепно капитанить" про облака. Регистрируйтесь, услышимся!
#conference
🔥5👀3👌1👨💻1
Перестрелка :)
А записи докладов уже публично доступны тут https://conf.ontico.ru/online/ghl2025 , буду использовать как хорошие вводные для новых сотрудников.
А записи докладов уже публично доступны тут https://conf.ontico.ru/online/ghl2025 , буду использовать как хорошие вводные для новых сотрудников.
❤6👀3🔥2
Объявлена неделя многоядерности Multi-kernels, не только лишь один один патч, но целых два были опубликованы на LKML.
Идея интересна - давайте на отдельных ядрах процессора запускать честные копии (может даже разных версий) ядер ОС, каждому отсыпать индивидуально куски памяти, и, в идеальной картине мира, также нарезать и другое железо (сети, диски, GPU, словом - всё что висит на PCIe шине).
Всё это подаётся в основном как замена виртуализации, ожидая минимизацию накладных расходов. НО - кто же будет отвечать за общие компоненты? Да тот же сторадж, локальные файловые системы требуют монопольный доступ. В сетях вроде есть sr-iov, но с ним тоже теряется определённая гибкость. Вообще вырисовывается интересный нюанс - должно быть более главное главное ядро, которое за такие вещи должно отвечать. Тут лично у меня вопрос - а чем общение между ядрами будут отличаться по эффективности от virtio + vhost(-user) у VMок, которые уже по максимуму стараются передавать данные без копирования?
В LKML оставили ещё один очень интересный комментарий на эту тему: Pasha Tatashin когда то уже экспериментировал с этим подходом (уже третий вариант в рамках этого поста 😄 ), и отмечает проблемы:
В итоге выглядит, что такой подход весьма интересен для масштабирования в рамках одного хоста, а вот удобство и изоляцию VMок будет весьма затруднительно догнать.
Идея интересна - давайте на отдельных ядрах процессора запускать честные копии (может даже разных версий) ядер ОС, каждому отсыпать индивидуально куски памяти, и, в идеальной картине мира, также нарезать и другое железо (сети, диски, GPU, словом - всё что висит на PCIe шине).
Всё это подаётся в основном как замена виртуализации, ожидая минимизацию накладных расходов. НО - кто же будет отвечать за общие компоненты? Да тот же сторадж, локальные файловые системы требуют монопольный доступ. В сетях вроде есть sr-iov, но с ним тоже теряется определённая гибкость. Вообще вырисовывается интересный нюанс - должно быть более главное главное ядро, которое за такие вещи должно отвечать. Тут лично у меня вопрос - а чем общение между ядрами будут отличаться по эффективности от virtio + vhost(-user) у VMок, которые уже по максимуму стараются передавать данные без копирования?
В LKML оставили ещё один очень интересный комментарий на эту тему: Pasha Tatashin когда то уже экспериментировал с этим подходом (уже третий вариант в рамках этого поста 😄 ), и отмечает проблемы:
While this approach was easy to get to the experimental PoC, it has
some fundamental problems that I am not sure can be solved in the long
run, such as handling global machine states like interrupts. I think
the Orphaned VM approach (i.e., keeping VCPUs running through the Live
Update procedure) is more reliable and likely to succeed for
zero-downtime kernel updates.
В итоге выглядит, что такой подход весьма интересен для масштабирования в рамках одного хоста, а вот удобство и изоляцию VMок будет весьма затруднительно догнать.
👍4👀3❤1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Мне тут стало скучно, и я решил купить самый дешёвый 4ТБ nvme с озона по цене HDD. Наверное, вы уже догадываетесь про что будет пост :)
Начиналось всё не плохо, диск до сих пор виден в системе, отвечает уверенно (смарт в конце поста). Нашёл утилиту f3 , быстрый
За ночь (часов 10) nvme смог принять всего 160ГБ данных (скорее всего итоговый объём около 240ГБ, т.к. я успел один раз перезапустить запись после 60+ГБ), первые 50ГБ влетели на скорости 1ГиБ/сек, а вот на утро я увидел скорость записи в 2МиБ/сек и моргающий красный светодиод на самом nvme... В целом судьба диска к этому моменту стала понятна, я пошёл оформлять возврат.
Параллельно запустил
Родимые чексуммы заорали о проблемах, и это скраб ещё не кончился!
Диск представляется как
Интересные моменты из smartctl для интересующихся уже после тестов, диск считает себя живым (но верить ему, конечно, не стоит):
#баловство #storage
Начиналось всё не плохо, диск до сих пор виден в системе, отвечает уверенно (смарт в конце поста). Нашёл утилиту f3 , быстрый
f3probe даже сказал что всё ок. f3write, оказалось, хочет писать файлы поверх ФС (он генерит сиквенс файлами по 1ГБ, которые потом должен провалидировать f3read). Сначала я подумал отформатировать диск с ext4/xfs, всё равно разово, а потом решил не изменять себе и бахнул ZFS. За ночь (часов 10) nvme смог принять всего 160ГБ данных (скорее всего итоговый объём около 240ГБ, т.к. я успел один раз перезапустить запись после 60+ГБ), первые 50ГБ влетели на скорости 1ГиБ/сек, а вот на утро я увидел скорость записи в 2МиБ/сек и моргающий красный светодиод на самом nvme... В целом судьба диска к этому моменту стала понятна, я пошёл оформлять возврат.
Параллельно запустил
zpool scrub, и тут меня ZFS в очередной раз обрадовал:root@ubuntu:~# zpool status
pool: testpool
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
scan: scrub in progress since Fri Sep 26 08:08:22 2025
163G / 163G scanned, 145G / 163G issued at 16.0M/s
0B repaired, 89.32% done, 00:18:32 to go
config:
NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
nvme0n1 ONLINE 0 0 54.6K
errors: 27754 data errors, use '-v' for a list
Родимые чексуммы заорали о проблемах, и это скраб ещё не кончился!
Диск представляется как
Non-Volatile memory controller: Realtek Semiconductor Co., Ltd. RTS5765DL NVMe SSD Controller (DRAM-less) (rev 01). Интересные моменты из smartctl для интересующихся уже после тестов, диск считает себя живым (но верить ему, конечно, не стоит):
=== START OF INFORMATION SECTION ===
Model Number: SSD 4TB
Serial Number: 000166
Firmware Version: VC2S038D
PCI Vendor/Subsystem ID: 0x10ec
IEEE OUI Identifier: 0x00e04c
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 4,000,787,030,016 [4.00 TB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 00e04c 11be335053
...
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 8.00W - - 0 0 0 0 0 0
1 + 4.00W - - 1 1 1 1 0 0
2 + 3.00W - - 2 2 2 2 0 0
3 - 0.0300W - - 3 3 3 3 5000 10000
4 - 0.0050W - - 4 4 4 4 54000 45000
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 40 Celsius
Available Spare: 100%
Available Spare Threshold: 32%
Percentage Used: 0%
Data Units Read: 70,047 [35.8 GB]
Data Units Written: 695,379 [356 GB]
Host Read Commands: 283,235
Host Write Commands: 4,106,990
Controller Busy Time: 0
Power Cycles: 3
Power On Hours: 11
Unsafe Shutdowns: 2
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Error Information (NVMe Log 0x01, 8 of 8 entries)
No Errors Logged
Read Self-test Log failed: Invalid Field in Command (0x002)
#баловство #storage
🔥9🤡3😁2🌚2🙈1
ЦОДы цодами, а в комментах к посту правильно зарубились - сгореть/получить метеорит в лоб может любой ЦОД, что "офисный", что промышленный. Нужны минимум бекапы/async кластеры растянутые меж-ЦОД, но вкуснее смотрятся геораспределённые хранилища (БД/S3).
В общем, очередной срач про "а вы уже делаете бекапы?" вам в ленту.
В общем, очередной срач про "а вы уже делаете бекапы?" вам в ленту.
👍2🌚1👀1
Forwarded from Логово асоциальной твари (Aleksey Uchakin)
Про пожар в южнокорейском NIRS (Национальной службе информационных ресурсов) думаю все уже прочитали.
Классика: литий-ионные батареи, пожар, бэкапы в соседней серверной, "что могло пойти не так".
Но самое забавное в другом. Не далее как на прошлой неделе на #dcsummit уважаемый "независимый эксперт" ругал коммерческие ЦОДы за дороговизну. Мол, есть у него одна знакомая компания, которая у себя в офисе "поставила в серверной два бытовых кондиционера, четыре стойки и ИБП - и таких заказчиков будет больше, потому что кое кто зажрался" (с).
Как вы думаете, где будет лучше организована система пожаротушения - в серверной в БЦ или в хорошем коммерческом ЦОДе? А пожарную экспертизу этот БЦ когда последний раз проходил? А что там с огнестойкостью материалов стен и перекрытий?
ЦОДы, конечно, тоже разные бывают, но с пожбезом там всё-таки дела обычно получше, да и гермозоны не зря придумали.
Храните деньги в сберегательной кассе (если, конечно же, они у вас есть), серверы с важными данными - в ЦОДе, а бэкапы - отдельно от прода!
@snakeslair #thereisnoclouds
Классика: литий-ионные батареи, пожар, бэкапы в соседней серверной, "что могло пойти не так".
Но самое забавное в другом. Не далее как на прошлой неделе на #dcsummit уважаемый "независимый эксперт" ругал коммерческие ЦОДы за дороговизну. Мол, есть у него одна знакомая компания, которая у себя в офисе "поставила в серверной два бытовых кондиционера, четыре стойки и ИБП - и таких заказчиков будет больше, потому что кое кто зажрался" (с).
Как вы думаете, где будет лучше организована система пожаротушения - в серверной в БЦ или в хорошем коммерческом ЦОДе? А пожарную экспертизу этот БЦ когда последний раз проходил? А что там с огнестойкостью материалов стен и перекрытий?
ЦОДы, конечно, тоже разные бывают, но с пожбезом там всё-таки дела обычно получше, да и гермозоны не зря придумали.
Храните деньги в сберегательной кассе (если, конечно же, они у вас есть), серверы с важными данными - в ЦОДе, а бэкапы - отдельно от прода!
@snakeslair #thereisnoclouds
Telegram
linkmeup
Невероятный уровень осознанности и мастерства нам сегодня демонстрируют камрады из Южной Кореи. И если я обычно не люблю писать про новости, которые из каждого крана, то тут слишком всё хорошо.
Итак, если вы работали весь день работу и не отвлекались, то…
Итак, если вы работали весь день работу и не отвлекались, то…
👌3👨💻1🤝1
Увидел в чате уважаемого человека пост про OpenZL, и не смог пройти мимо, т.к. понеслось - уже в ZFS начали его просить :)
Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:
- LZ4 - максимально быстро, всё в угоду скорости, даже несжимаемое предпочитает по эвристике пропустить и не пытаться пожать (итого скорость ~memcpy на несжимаемом)*
- ZSTD - очень гибкий, быстрее gzip, эффективнее gzip, на малых режимах сжатия наследует многое от LZ4*. Одна из фишек - сжатие по словарю - т.е. если ваши данные ну очень типовые - составляете словарь наиболее частых вхождений и получаете легко коэффициент х20. Нюанс - словарь надо таскать с собой, что сильно уменьшает удобство.
- новинка OpenZL - читерит и требует знания про ваши структуры данных, но зато может дать огромный выигрыш. Проще всего объяснить на их же примере и вспомнить почему time-series DB умеют ну очень эффективно хранить последовательности: если вы храните упорядоченные числа, то эффективнее всего хранить их... дельту! Ключевое отличие от словарей - что для разжатия вам не нужны дополнительные артефакты.
Новое слово для сжатия известных структур/метаданных?
*на самом деле, грань между LZ4 и ZSTD сильно размылась, у каждого уже есть разные режимы, позволяющие сильно превратить одно в другое
Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:
- LZ4 - максимально быстро, всё в угоду скорости, даже несжимаемое предпочитает по эвристике пропустить и не пытаться пожать (итого скорость ~memcpy на несжимаемом)*
- ZSTD - очень гибкий, быстрее gzip, эффективнее gzip, на малых режимах сжатия наследует многое от LZ4*. Одна из фишек - сжатие по словарю - т.е. если ваши данные ну очень типовые - составляете словарь наиболее частых вхождений и получаете легко коэффициент х20. Нюанс - словарь надо таскать с собой, что сильно уменьшает удобство.
- новинка OpenZL - читерит и требует знания про ваши структуры данных, но зато может дать огромный выигрыш. Проще всего объяснить на их же примере и вспомнить почему time-series DB умеют ну очень эффективно хранить последовательности: если вы храните упорядоченные числа, то эффективнее всего хранить их... дельту! Ключевое отличие от словарей - что для разжатия вам не нужны дополнительные артефакты.
Новое слово для сжатия известных структур/метаданных?
*
✍3🤩3👀2🤔1🍌1
Yet another senior pomidor (by @gmelikov)
Увидел в чате уважаемого человека пост про OpenZL, и не смог пройти мимо, т.к. понеслось - уже в ZFS начали его просить :) Да, это ещё один компрессор, но с нюансом. Yann Collet там тоже отметился, так что давайте и сравним новинку с его произведениями искусства:…
Уважаемый человек побудил меня потратить всё время в сапсане на чтение paper'а об openZL, и я прямо насладился!
Идея - огонь:
- SDDL (язык для описания структуры данных) для парсинга на первом этапе, потом transform (промежуточный кодек), потом графы и итоговые кодеки в них.
- Кодеком может являться любая функция которая что-то сделает с данными (тот же zstd). Элемент графа - тоже кодек, но умеющий построить связь с другими кодеками передающий данные как есть.
- Работаем не с байтами, а со структурированными данными. При чём in-out стримов много! Полезный бонус - данные перед сжатием теперь можно не сериализовывать, а как есть отдать на соответствующий кодек для сжатия.
- Упор на практичность, универсальный декодер (главное чтоб имел нужные кодеки). И это гипер важно - основная проблема сделать новый алгоритм компрессии - в распространении его декомпрессора. OpenZL позволит делать максимально эффективные кодеки, используя один и тот же декодер!
Для меня возможность эффективнее сжать в данном случае выглядит скорее как бонус, а не основная фишка openzl. По сути это новый фреймворк для сжатия, киллер-фича - универсальный декодер без словарей.
Для простоты разберём пример:
А как вы упарываетесь в пути?
Идея - огонь:
- SDDL (язык для описания структуры данных) для парсинга на первом этапе, потом transform (промежуточный кодек), потом графы и итоговые кодеки в них.
- Кодеком может являться любая функция которая что-то сделает с данными (тот же zstd). Элемент графа - тоже кодек, но умеющий построить связь с другими кодеками передающий данные как есть.
- Работаем не с байтами, а со структурированными данными. При чём in-out стримов много! Полезный бонус - данные перед сжатием теперь можно не сериализовывать, а как есть отдать на соответствующий кодек для сжатия.
- Упор на практичность, универсальный декодер (главное чтоб имел нужные кодеки). И это гипер важно - основная проблема сделать новый алгоритм компрессии - в распространении его декомпрессора. OpenZL позволит делать максимально эффективные кодеки, используя один и тот же декодер!
Для меня возможность эффективнее сжать в данном случае выглядит скорее как бонус, а не основная фишка openzl. По сути это новый фреймворк для сжатия, киллер-фича - универсальный декодер без словарей.
Для простоты разберём пример:
csv "ФИО,рост,вес"
- парсим и выделяем каждый столбец отдельно
- теперь, например, столбец "рост" можно преобразовать из ascii/utf в int, может даже - отсортировать, если отсортировали - писать дельту а не значение, и всё это подать в специализированный кодек field_lz
- поле "ФИО" проще воспринимать как текст, тут можно использовать базовый zstd (для примера)
- итог - граф операций над данными, для декомпрессии его надо просто проиграть в обратную сторону (т.е. в итоговом артефакте есть информация о порядке декомпрессии известными декомпрессору кодеками)
👾2⚡1👨💻1👀1
Кстати, тут python 3.14 релизнулся, все носятся с перформансом и тредами. Это конечно классно, но в среднем для вас разница будет на уровне погрешности.
Лично я очень ждал (и наконец - дождался):
- zstd из коробки. Король компрессоров in da house
- uuidv7 из коробки. Теперь индексы по uuid будут последовательны и эффективны, особенно это оценит mysql и подобные с gap lock на primary key
Лично я очень ждал (и наконец - дождался):
- 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 - чем больше рисков "тестирования на проде"?
Уже нащупаны интересные корреляции:
– между скоростью пайплайнов и качеством code review,
– между алертингом и стабильностью релизов,
– между ролями в команде и удовлетворённостью релизным процессом.
Но нужно больше данных, чтобы отделить закономерности от шума.
Пройти анкету можно за 10 минут. Её же можно использовать как мини-чек-лист для самооценки зрелости инженерной культуры.
Принять участие: https://forms.gle/NszR7VDuXL9sBbVAA
Результаты обязательно расскажу, коллеги поделятся.
✍2🤔1👌1🤝1
Minio "is a source only distribution now, if you want to build containers you need to build them yourselves".
Как выстрелить себе в ногу и не подать виду? Очередная история как опенсорсный проект превращается в проприетарный. А начинали они с вырезания функционала из опенсорса...
#unsource
Как выстрелить себе в ногу и не подать виду? Очередная история как опенсорсный проект превращается в проприетарный. А начинали они с вырезания функционала из опенсорса...
#unsource
GitHub
Docker release? · Issue #21647 · minio/minio
Hello, I did not find a new image for the security release Security/CVE RELEASE.2025-10-15T17-29-55Z, on quay.io nor DockerHub. Is it expected? If it isn’t, can you please push a new release for th...
😁3😢2👍1💩1💔1👀1🫡1
В этот раз делать отдельный обзор на аварию даже как-то неудобно, DNS всё же :)
Вообще как корректно DNSу ответить именно в случае проблем - это больно, т.к. краткий ответ - ответить кровь из носу, но надо, иначе у всех кеш о записи протухнет и умрёт. Вот и получается, что для самых критичных вещей будь добр имей статичные записи с хорошим таким TTL.
А будущее всё также за cloud-agnostic (да-да, on-prem это тоже облако нынче) и #NoOps .
Вообще как корректно DNSу ответить именно в случае проблем - это больно, т.к. краткий ответ - ответить кровь из носу, но надо, иначе у всех кеш о записи протухнет и умрёт. Вот и получается, что для самых критичных вещей будь добр имей статичные записи с хорошим таким TTL.
А будущее всё также за cloud-agnostic (да-да, on-prem это тоже облако нынче) и #NoOps .
👨💻2👀2👍1👌1
Forwarded from Человек и машина
#машины_aws
Пожалуй, лучший инцидент, что я когда либо видел.
Если вкратце:
1. Управление DNS записями для DynamoDB отвалилось, в итоге:
2. Эндпоинты DynamoDB (в том числе для внутреннего пользования) отвалились, в итоге:
3. Storage backend, которым выступала DynamoDB, одного из компонентов control plane EC2 отвалился, в итоге:
4. Отвалился NLB, который не мог следить за событиями EC2.
Очень радует, что AWS решил минимальными усилиями решить конкретную проблему, а не сделать отдельный внутренний Kinesis как тогда с инцидентом CloudWatch и Cognito.
Да и не пользуйтесь us-east-1, сколько еще повторять. Новые фичи раньше всех того не стоят.
Пожалуй, лучший инцидент, что я когда либо видел.
Если вкратце:
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
А ещё мне очень понравилась суть богини Ананке из древнегреческой мифологии - "неизбежность, судьба, нужда, необходимость". Всё как в жизни - если какой-то сценарий вероятен, то на масштабах он неизбежен. Например - ваш сервер когда-то гарантированно откажет самым неожиданным образом.
По случаю вспомнил замечательный рассказ Станислава Лема - Ананке. 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/
Итак, исследование завершилось. Вот что вышло.
https://habr.com/ru/articles/963202/
🤔2👌2🌚2👍1👀1
Forwarded from Логово асоциальной твари (Aleksey Uchakin)
Cloudflare оперативно выкатил весьма детальный постмортем, за что им большое спасибо.
Про Rust уже все поржали, но я бы хотел обратить внимание на другое.
На первый взгляд, ситуация выглядит странно - просто выкатили обновление на всю сеть целиком. Ни тебе тестов, ни blue/green и cherry picking, ни даже внятной системы отката изменений. И эти люди борются звание дома высокой культуры быта! (с)
С другой стороны - глобальная инфраструктура из сотен (если не тысяч) узлов, где изменения нужно применять очень быстро, потому что это вопрос безопасноти клиентов, да и самого CF. Добавьте сюда чудовищную сложность - слои легаси, сотни разных сервисов, взаимосвязи между которыми до конца не знает вообще никто, а зависимость может прорастать через два-три слоя абстракций в обе стороны.
Станет ли у Cloudflare меньше клиентов? Сомневаюсь. Более того, на ПФ в понедельник я слышал мнение, что мелкий бизнес а России даже уходит с отечественных CDN на CF (потому что до конца оранжевого гиганта блокировать пока не собираются, а "бесплатный" CDN и DDoS-защита никуда не исчезли). Про зарубеж я вообще молчу.
Так и живём
#thereisnoclouds @snakeslair
Про 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.
Все мы люди.
👌5✍2🤷♂1👀1
Forwarded from System Design & Highload (Alexey Rybak)
Про CPU steal-time
К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.
CPU Steal-time буквально “украденное время”. Проц выдали не тебе, а соседу. Про эту метрику мне сказал коллега по ПК Хайлоада, Георгий Меликов, за что ему большое спасибо. Я проверил, что протягивается, и забыл.
Не прошло и 2х недель, вчера участник тренинга по перфомансу показывает жутко зашумленные графики стрельб, очень отдаленно напоминающие правильные, и говорит: я уже всё перепробовал, WTF. Замечаю большой steal time (почти равен сумме user+system) и пишу в саппорт, так и так, похоже, шумный сосед / перегруженный хост.
И да, саппорт подтверждает, виртуалку переносят, 100К RPS наливаются. Клауды такие клауды 🙂
👍 зато девопс пайплайн тераформ, а не вот это ваше всё
🔥 ну, за онпрем!
К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.
CPU Steal-time буквально “украденное время”. Проц выдали не тебе, а соседу. Про эту метрику мне сказал коллега по ПК Хайлоада, Георгий Меликов, за что ему большое спасибо. Я проверил, что протягивается, и забыл.
Не прошло и 2х недель, вчера участник тренинга по перфомансу показывает жутко зашумленные графики стрельб, очень отдаленно напоминающие правильные, и говорит: я уже всё перепробовал, WTF. Замечаю большой steal time (почти равен сумме user+system) и пишу в саппорт, так и так, похоже, шумный сосед / перегруженный хост.
И да, саппорт подтверждает, виртуалку переносят, 100К RPS наливаются. Клауды такие клауды 🙂
👍 зато девопс пайплайн тераформ, а не вот это ваше всё
🔥 ну, за онпрем!
🔥7⚡3🤩1🤡1
System Design & Highload (Alexey Rybak)
Про CPU steal-time К своему чудовищному стыду я ещё недавно совершенно не знал, что гипервизоры с хостов прокидывают в виртуалку специальную метрику steal-time, и она забирается в промстэк вместе с system/user/idle и прочими стандартным node_exporter-ом.…
Когда-то про это коллеги хорошую статью написали https://habr.com/ru/companies/vk/articles/449316/
Хабр
Steal: кто крадёт у виртуалок процессорное время
Привет! Хочу рассказать простым языком о механике возникновения steal внутри виртуальных машин и о некоторых неочевидных артефактах, которые нам удалось выяснить при его исследовании, в которое мне...
🔥4🤝2🌚1