Единая точка отказа

Оригинальное название: 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, сервер, база, внешние сервисы, почта. Для каждого звена записать, что будет при его отказе и есть ли замена. Снимать все точки сразу не обязательно: резерв стоит денег, поэтому начинают с тех, где отказ наиболее вероятен и дорог. Почти всегда первым пунктом оказываются копии данных вне основного сервера — об этом статья про резервное копирование сайта.

Обновлено:

Все термины раздела «Доменные имена и DNS»

Что будем искать? Например,Продвижение