Вышло в свет второе издание книги «Архитектура высоконагруженных систем. Системы сбора информации. Распределенные системы управления. Системы реального времени». Автор — Вадим Подольный, окончил факультет технической физики НИЯУ МИФИ по специальности «Ядерные реакторы и энергетические установки», аспирантуру Всероссийского научно-исследовательского института по эксплуатации АЭС (ВНИИАЭС). В должности главного конструктора руководил разработкой Российской программной платформы системы верхнего уровня АСУ ТП АЭС класса DCS/SCADA (ПО Распределенных Технологий Автоматизации Лицензированное, ПОРТАЛ) в ГК «Росатом». На базе ПОРТАЛ создано и введено в эксплуатацию множество систем верхнего уровня АСУ ТП на современных энергоблоках АЭС с реакторами ВВЭР-1000, ВВЭР-1200 и БН-800.

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

Во втором издании добавился раздел о применении разнообразных подходов и практик, используемых при построении архитектур распределенных систем, а главное — включен анализ опыта успешных и неудачных проектов. Кроме этого, в книге имеется раздел по кибербезопасности распределенных систем управления.

В целом книга посвящена ответам на вопросы, связанные с построением и эксплуатацией крупномасштабных распределенных инфраструктур, обрабатывающих данные из сотен тысяч источников, характер и интенсивность изменений которых определяют сценарии управления аппаратно-программными конфигурациями. Книга вполне может претендовать на руководство по созданию систем реального времени, благодаря аккумуляции опыта развертывания распределенных систем управления промышленными критическими информационными системами.

Книга содержит 13 глав, посвященных аппаратной и программной архитектуре, особенностям распределенной обработки данных, обеспечению надежности, отказоустойчивости и высокой доступности высоконагруженных систем. Во введении автор отмечает, что любая такая систем должна обрабатывать данные, задействуя все доступные ресурсы аппаратного обеспечения — не должно быть узких мест, из-за которых будет деградировать производительность всей системы управления.

 

Отдельная глава посвящена архитектурным шаблонам. Для решения конкретных классов задач в мире накоплено множество проверенных подходов к созданию архитектуры распределенных систем управления (РСУ). Использование таких подходов (шаблонов, архитектурных паттернов) позволяет создать целевую архитектуру системы с прогнозируемыми свойствами. Архитектурные шаблоны ― это прежде всего практика, хотя и зачастую чужая. Простые архитектурные шаблоны могут быть сгенерированы средствами интегрированной среды разработки. Шаблоны посложнее могут быть представлены в виде готовых библиотек. Наиболее сложные шаблоны могут иметь вид фреймворков или даже готовых решений. Но не стоит забывать, что каждый архитектор и разработчик отвечает за себя сам, а прямое использование чужих решений может непредсказуемо себя проявить. Автор выделил следующие типы шаблонов: базовые архитектурные (интерконнект, событийно управляемая архитектура, сервисная архитектура, микросервисная архитектура); потоковой и конвейерной обработки; распределенных систем; параллельной обработки; выполнения задач и команд.

В главе, посвященной приемам реализации, автор отмечает, что для системы распределенного хранения и доступа к данным наиболее эффективна архитектура In-memory. При рассмотрении особенностей построения критических информационных систем внимание читателя обращается на цифровых двойников предприятия, представляющих собой совокупность знаний об объекте и технологий автоматизации, позволяющей осуществлять виртуальные воздействия на объект для выработки оптимальной функции управления и повышения его эффективности.

Во второе издание включена глава, посвященная кибербезопасности РСУ, в которой подробно разбираются способы обеспечения защиты целостности и доступности КИИ (определение источников угроз, выявление уязвимости компонентов, оценка векторов атак) и планирования стратегии защиты. В жизненном цикле объекта автоматизации доступ к поставляемому оборудованию и ПО имеет непредсказуемое число субъектов, что увеличивает количество как техногенных, так и антропогенных источников угроз.

Автор разбирает методы исследования уязвимостей, которые могут проявляться в режиме сопряжения компонентов РСУ, для выявления таких уязвимостей предлагая, в частности, исследовать генерируемый сетевой трафик, моделировать тестовый трафик, который может вызвать целевое исследуемое поведение компонентов РСУ.

Особого внимания заслуживает раздел про методы проведения атак на РСУ, обслуживающие объекты КИИ, которые могут готовиться десятилетиями силами целых специализированных институтов. В программах подготовки целевых атак могут быть задействованы фабрики, интегрирующие уязвимости в технические средства, а для сокрытия таких уязвимостей могут быть затрачены колоссальные ресурсы. В книге разбираются методы защиты РСУ от целевых атак.

Книга позволит читателям получить целостное представление о проектировании высоконагруженных распределенных систем управления, включая и КИИ, как подчеркивает автор ― ошибки в проектировании дорого обходятся. Материал второго издания будет полезен всем, кто хочет разобраться в архитектурах современных систем управления, включая студентов соответствующих специальностей и преподавателей, которые найдут в ней описания множества практических примеров, а также разработчиков и архитекторов высоконагруженных систем, которым в книге предлагаются типовые паттерны и даже примеры кода.

Вадим Подольный. Архитектура высоконагруженных систем. Системы сбора информации, распределенные системы управления, системы реального времени. Издание второе. М.: ООО «САМ Полиграфист» (OneBook), 2024. — 261 стр., ил. ISBN ISBN 978-5-00227-164-1.

DOI: 10.51793/OS.2024.90.66.003