Понимание единой точки отказа (SPOF): Понятное профессиональное руководство
В сфере информационных технологий проектирование систем включает процесс определения архитектуры, интерфейсов, модулей и данных для системы для выполнения определенных требований. Это критически важный процесс для повышения эффективности разработки продукта/сервиса и обеспечения отличного пользовательского опыта.
Допустим, у вас есть приложение, обслуживающее миллионы пользователей ежедневно. На стороне сервера нужна отличная инженерия для обработки такого объема запросов. Запросы к серверу никогда не должны падать, даже если есть проблема с базой данных или аппаратный сбой.
Однако, если бэкенд или фронтенд спроектированы неправильно, простая ошибка может отключить всё приложение — от сервера до компьютерной сети. Одним из главных источников таких ошибок является Single Point Of Failure (SPOF) — единая точка отказа.
В этой обзорной статье мы объяснили, почему SPOF — худшая проблема для IT-профессионалов, ее частые источники и как митигировать такие сбои. Начнем с базового вопроса.
Что такое единая точка отказа?
Определение: Единая точка отказа — любая часть системы, отказ которой приводит к остановке всей системы. Простыми словами: если одна вещь ломается, всё падает.
SPOF возникают из-за ошибочных проектов и плохой реализации. Они нежелательны в любой системе: программном приложении, аппаратном модуле, производственной системе или бизнес-практике.
Например, если вы ведете сайт, хостящийся только на одном сервере в конкретной локации, то этот сервер — SPOF. Если сервер упадет, посетители не смогут зайти на сайт. Эта единичная точка может остановить всю активность, связанную с сайтом. Если такой риск есть в вашем бизнесе, нужно принять меры по его митигации.
В чем решение?
Наиболее эффективный способ снизить риск SPOF — добавить избыточность (redundancy). Это подразумевает установку избыточных аппаратных компонентов и программных приложений.
Например, можно использовать RAID (Redundant Arrays of Independent Disks) для хранения баз данных Directory Server, или развернуть несколько дублирующих экземпляров Directory Servers на разных хостах.
Избыточность можно добавлять на разных уровнях. Пример независимого таксиста. На низком уровне у него могут быть инструменты и запчасти для ремонта машины, если сломается. На среднем — он может взять такси друга для работы. На высшем — у него может быть еще одна машина и достаточно компонентов для полной замены неисправных частей при множественных сбоях.
Теперь простой пример избыточности в вычислениях.
1.) В простой настройке может быть несколько возможных SPOF.
Рисунок 1
2.) Некоторые SPOF можно избежать, добавив дублирующие аппаратные компоненты.
Рисунок 2
3.) Нулевой SPOF достигается построением полностью избыточной системы, хотя эта настройка гораздо дороже простой из рисунка 1.
Рисунок 3 | Zero SPOF
На системном уровне балансировщик нагрузки (load balancer) можно развернуть для обеспечения высокой доступности кластера серверов. В этом случае у каждого сервера может быть несколько жестких дисков, блоков питания и других модулей. Более высокий уровень избыточности достигается добавлением резервных серверов, которые могут взять нагрузку активных при их отказе.
ЦОД сам поддерживает многие операции вроде бизнес-логики. Поэтому он сам по себе потенциальный SPOF для бизнеса, если его функции нельзя реплицировать где-то еще.
На уровне сайта (высшем) весь ЦОД можно реплицировать в других настройках и обращаться к нему, когда основной сервер становится неотзывчивым. Этот тип избыточности обычно фокус IT-программ аварийной устойчивости или восстановления.
Чтобы не было SPOF, крупные сети — включая Интернет и ARPANET — используют коммутацию пакетов (packet switching), технику маршрутизации и передачи данных через цифровую сеть в пакетах. Она использует множественные пути между двумя хостами в сети и оптимально использует пропускную способность канала.
При неисправности любого узла между двумя хостами данные передаются через альтернативный узел. Коммутация пакетов также минимизирует задержку передачи и повышает надежность связи.
Существует три сетевых протокола, широко используемые для предотвращения SPOF:
- Intermediate System to Intermediate System (IS-IS) — эффективно перемещает информацию в компьютерной сети, определяя лучший маршрут для данных.
- Open Shortest Path First (OSPF) — распределяет маршрутную информацию между маршрутизаторами, принадлежащими одной автономной системе. Использует алгоритм кратчайшего пути (алгоритм Дейкстры) для передачи данных.
- Shortest Path Bridging (SPB) — упрощает разработку и конфигурацию сети, позволяя многопутевую маршрутизацию.
Оценка SPOF
Три частых места, где SPOF проявляются: железо, софт, сторонние сервисы/провайдеры. Люди также являются SPOF в большинстве организаций, но их часто упускают. Люди в бизнесе могут быть SPOF по разным причинам: ошибки, мошенничество, нечестность, незнание, ограниченный опыт.
Обнаружив SPOF, следующий шаг — классифицировать его по сложности исправления. Три категории:
- Легко: Исправимо за разумное время и стоимость.
- Средне: Нельзя устранить напрямую, но можно разработать надежный обходной путь (workaround).
- Сложно: Дефект коварный и очень дорогой для устранения.
Кроме того, SPOF можно классифицировать по вероятности возникновения (низкий, средний, высокий риск) и влиянию на бизнес (низкое, среднее, высокое влияние).
Предотвращение единичных точек отказа
Поскольку множество миссионно-критических процессов зависят от сетевой связности, простои ЦОД недопустимы. Тем не менее, ежегодно >30% всех ЦОД испытывают простой. ~34% бизнесов говорят, что час простоя стоит >$1 млн.
Независимо от убытков от простоя ЦОД, реальность такова: на 80% простоев можно предотвратить. Хотя любой инструмент в сети может быть SPOF-опасностью, большинство простоев вызваны вредоносным ПО и другими киберугрозами.
Современные инструменты защиты от угроз — балансировщики нагрузки, системы предотвращения вторжений (IPS), веб-приложения файрволы (WAF), решения Advanced Threat Protection — всегда под риском при сбоях питания, отказе сетевого интерфейса (NIC) или при фильтрации интернет-трафика.
Эти инструменты уязвимы и для обычных угроз (брутфорс), и для сложных (XML external entities, cross-site request forgery). Поскольку они не могут защищать сеть 100% времени, необходимы избыточные меры безопасности.
Существует несколько методов реализации архитектуры WAF, минимизирующих эффективность и частоту широкого спектра атак. Многоуровневые WAF, например, разделяют разные модули приложения по их операциям на несколько уровней.
Поскольку каждый уровень работает на отдельной системе, нет SPOF. Точно так же правильная реализация множественных балансировщиков нагрузки снижает SPOF в сети.
Не кладите все яйца в одну корзину
Хотя многие компании предоставляют свои версии облачных бэкапов, не рекомендуется полагаться исключительно на один бэкап для защиты данных бизнеса. Даже облачные сервисы тех-гигантов вроде Amazon, Microsoft, Google падают несколько раз в год.
Если вы ведете компанию, нужно учитывать все вероятные сценарии при построении избыточности. Не предполагайте, что кто-то может дать 100% аптайм и всегда будьте готовы с Планом Б, если пойдет не так.
Глубокие исследования
SPOF в Systems-of-Systems
Исследователи Liverpool John Moores University (UK) подчеркивают главные вызовы при интеграции индивидуальных систем в большие сложные гетерогенные Systems-of-Systems.
Многие современные подходы концентрируются на одной малой уязвимой зоне. Некоторые сильно теоретичны или не масштабируемы из-за большого числа взаимодействующих компонентов. Исследование описывает, как SPOF может сильно влиять на взаимодействующие системы и причинять бизнесу значительные финансовые потери.
Устранение SPOF в программной избыточности
Программная избыточность обычно считается эффективным и недорогим способом повышения надежности. Избыточное выполнение в виде тройной модульной избыточности (TMR) популярно, но оставляет незащищенные SPOF.
Это исследование представляет холистический подход — Combined Redundancy (комбинированная избыточность), который закаляет safety-critical компоненты системы против мягких усилий, устраняя уязвимость, вызванную SPOF. Использует избыточное выполнение вместе с кодированной обработкой и легко интегрируется в существующие проекты.
Минимизация SPOF в Tree Routing
Tree Routing (TR) использует родительско-дочерние связи для передачи пакетов. Эти связи требуют больше хопов, когда источник и назначение в разных ветвях дерева. Узлы ближе к координатору могут передавать больше пакетов, приводя к более высокому энергопотреблению и заторам. Это может создать проблему SPOF.
Команда исследователей National Kaohsiung University of Applied Sciences (Тайвань) разработала алгоритм Relieving SPOF Tree Routing для передачи пакетов по кратчайшему пути и избегания заторов. Алгоритм уменьшает среднее число хопов, минимизирует end-to-end задержку, увеличивает пропускную способность, продлевает жизнь узлов дерева.
Промышленные технологии
- Резонанс в последовательном LC-контуре: нулевой импеданс и пики напряжения
- Упростите обслуживание: используйте базовые чувства и практический инсайт
- Квантовые финансовые системы: Понятный практический обзор
- NEMS: Наноэлектромеханические системы — ключевые особенности и применения
- NILM: ИИ-мониторинг нагрузки находит электромеханические дефекты до отказа
- Простое руководство по настройке и эксплуатации системы управления SYNTEC
- Обновление производственной автоматизации: простые решения для апгрейда
- Основные причины отказа гидравлических систем и способы их обнаружения и устранения
- Максимизируйте ROI от CMMS: 5 основных шагов к оптимизации программы обслуживания
- Освоение одн-точечной нарезки резьбы: точные техники для качественных резьб