У розмові на каналі The Pragmatic Engineer з Мартіном Клеппманном, автором книжки Designing Data-Intensive Applications, йдеться про те, що надійність великих технічних систем часто підривають неочевидні й навіть кумедні фактори. Ці історії з реальних постмортемів показують: серйозні збої можуть початися з абсолютно буденних речей — від морських хижаків до… корів.
![]()
Від акул до корів: несподівані вороги інтернету
Поширений образ вразливості глобальної інфраструктури — акули, які кусають підводні кабелі й пошкоджують їх. Такі випадки справді траплялися й стали майже легендою серед інженерів: поєднання високих технологій і диких тварин виглядає настільки контрастно, що перетворюється на «ідеальну» історію для конференцій і статей.
Однак із часом захист підводних кабелів суттєво покращився. Посилене екранування та інші інженерні рішення зробили їх менш привабливою ціллю для морських хижаків. Проблема, однак, нікуди не зникла — вона просто змінила форму.
Тепер частина інцидентів відбувається вже на суші: корови, що наступають на кабелі, можуть спричиняти переривання зв’язку. Це звучить майже як анекдот, але для операторів мережі це цілком реальна причина простоїв і розслідувань.
Чому «рідкісні збої» — небезпечна ілюзія
У великих розподілених системах часто можна почути заспокійливу фразу: «Збої трапляються рідко, не варто надто перейматися». Такий підхід створює хибне відчуття безпеки. Насправді ж, коли масштаби інфраструктури зростають, навіть події з дуже низькою ймовірністю стають практично гарантованими — питання лише в часі.
Постмортеми великих компаній показують, що:
- «Неможливі» сценарії все ж відбуваються.
- Комбінації кількох малоймовірних факторів можуть призвести до масштабних збоїв.
- Природні умови, тварини, людські помилки й рідкісні апаратні відмови часто накладаються одна на одну.
Ігнорування таких ризиків призводить до того, що системи виявляються неготовими до реальності, де крайові випадки — не виняток, а частина нормальної картини.
Надійність як робота з «дивними» крайовими випадками
Ключовий висновок для інженерів, які будують надійні сервіси: недостатньо просто сподіватися, що «таке навряд чи станеться». Потрібно системно працювати з:
- Незвичними сценаріями — моделювати ситуації, які здаються абсурдними або надто екзотичними.
- Фізичними ризиками — враховувати середовище, де розташована інфраструктура: від океанського дна до сільськогосподарських полів.
- Наслідками, а не лише ймовірністю — навіть якщо подія малоймовірна, її вплив може бути настільки великим, що варто інвестувати в захист.
Надійність великих систем — це не про віру в те, що «все буде добре», а про готовність до дивних, незручних і на перший погляд смішних ситуацій. Саме вони часто стають справжнім випробуванням для архітектури, процесів і команд.
Джерело
Martin Kleppmann: Amusing ways large systems fail — The Pragmatic Engineer


