Единая точка отказа
Оригинальное название: Single Point of Failure (SPOF)
Коротко
Компонент системы, без которого она перестаёт работать целиком: единственный DNS-провайдер, сервер, канал связи или даже один сотрудник с доступами.
Что такое «Единая точка отказа»
Термин пришёл из инженерии надёжности: систему разбирают на звенья и для каждого спрашивают, что случится, если оно откажет. Если ответ «перестанет работать всё», это и есть единая точка отказа (single point of failure, SPOF). В инфраструктуре сайта таких точек больше, чем кажется: помимо сервера ими бывают DNS, регистратор, платёжная карта для продления или почтовый ящик, на который приходят все уведомления.
DNS — показательный пример, потому что он стоит перед всем остальным. Сервер может работать безупречно, но если не отвечают серверы имён, браузер не узнает его адрес. В октябре 2016 года DDoS-атака ботнета Mirai на DNS-провайдера Dyn на несколько часов сделала недоступными для части пользователей многие крупные сервисы, хотя их собственные серверы работали.
Где прячутся точки отказа у сайта
- Все NS-записи домена у одного провайдера — его сбой или DDoS-атака на него выключает сайт и почту.
- Сайт, база данных и резервные копии на одном сервере: авария диска уносит и рабочую версию, и бэкапы.
- Домен зарегистрирован на одного человека, доступ к кабинету регистратора — только у него.
- Двухфакторная авторизация привязана к единственному телефону без резервных кодов.
Пример: DNS у двух провайдеров
example.ru. 86400 IN NS ns1.provider-a.net.
example.ru. 86400 IN NS ns2.provider-a.net.
example.ru. 86400 IN NS ns1.provider-b.com.
example.ru. 86400 IN NS ns2.provider-b.com.
Зона должна быть одинаковой у обоих провайдеров: один выступает основным, второй получает копию как вторичный DNS, либо изменения вносятся через API в оба сразу. Если один провайдер ляжет, резолверы будут получать ответы от другого.
Как найти и снять риск
Удобный способ — пройти по цепочке запроса посетителя: домен и его продление, DNS, сервер, база, внешние сервисы, почта. Для каждого звена записать, что будет при его отказе и есть ли замена. Снимать все точки сразу не обязательно: резерв стоит денег, поэтому начинают с тех, где отказ наиболее вероятен и дорог. Почти всегда первым пунктом оказываются копии данных вне основного сервера — об этом статья про резервное копирование сайта.

