Источник: livejournal


Немного кибернетических мыслей по поводу анамнеза сбоя cloudflare:

Cloudflare outage on November 18, 2025

Cloudflare suffered a service outage on November 18, 2025. The outage was triggered by a bug in generation logic for a Bot Management feature file causing many Cloudflare services to be affected.

blog.cloudflare.com

1) Проблема вылезла в механизме защите от ботов. То есть действительно это косвенные коллизии интернета с ботнетом.

2) Проблема в том, что слишком значительная часть интернета использует единый cache/control слой.

Это классический компромисс оптимизации и хрупкости.

Любая система без должной избыточности будет уязвима для ошибок или нарушений.

И проблема тут даже не в централизации (cloudflare система распределенная), сколько в ограниченном разнообразии. Так как вся распределенная система базируется на одной логике, то ошибка в этой логике (или просто неучтенное в ней новое поведение интернета, он же открытая изменяющаяся система) создает глобальные риски

Как один грибок смог уничтожить банановые плантации сорта Гро-Мишель, а теперь новый грибок угрожает сорту Кавенди.

Потому опасно иметь один самый оптимальный алгоритм на всех. Даже в распределенной архитектуре. Нужно иметь избыточность — и мощностную, и "видовую". Предугадать все ошибки или несоответствие логики и поведения невозможно, тем более что многие события могут иметь накопительный эффект и проявляться с задержкой; даже при тестировании учитываются только те сценарии, которые придут в голову аналитикам и тестировщикам. А главное, в системах контроля доступа или безопасности часто невозможно различить ложноположительное срабатывание и ошибки.

Так что

(1) тестирование

(2) максимально детальные метрики (хотя бы на одном узле)

(3) канареечные релизы, шардирование (переборки)

(4) ультрастабильность (откаты, отключение при неожиданном поведении независимо от причины)

А лучше всего — поддержание разнообразия и избыточности.