Президентские выборы марта 2012 года дали отрасли редкий по чистоте эксперимент. К избирательным участкам подключили десятки тысяч веб-камер, а граждане получили публичный портал для просмотра трансляций. Нагрузка пришла мгновенно, в один день, по всей стране и без права на отказ. Такой проект – это не сайт, а инфраструктура национального масштаба. Ниже – практические уроки, которые мы вынесли из подобных задач и которые применимы к любому порталу электронного правительства.
Пик нагрузки – это не среднее, умноженное на два
Обычный портал живёт прогнозируемым трафиком: суточные циклы, плавный рост, время на масштабирование. Избирательный портал ломает эту логику. Аудитория приходит в течение нескольких часов, концентрируется вокруг ключевых событий и генерирует не запросы к статике, а потоковое видео с десятков тысяч источников одновременно.
Проектировать такую систему по среднему трафику – гарантированный отказ. Считать нужно по пику, причём с двойным запасом. Это значит горизонтально масштабируемые фронтенды, раздача видео через распределённую сеть узлов, кэширование на всех уровнях и жёсткое разделение тяжёлого видеотракта и лёгкого слоя авторизации. Балансировщики должны деградировать предсказуемо: при перегрузке портал обязан отдавать пользователю понятный статус, а не обрывать соединение.
Отдельная статья расходов – резерв мощностей, который большую часть года простаивает. Здесь полезно помнить дисциплину, о которой мы писали в материале «Кризис 2008 и ИТ-бюджеты»: инфраструктуру под разовый пик честнее арендовать и масштабировать эластично, чем годами держать дорогое железо под нагрузку одного дня.
Защищённость закладывают в архитектуру, а не докручивают потом
Портал такого уровня – очевидная цель. Атаки идут двумя классами: отказ в обслуживании, чтобы сорвать доступ граждан к трансляциям, и попытки подмены контента, чтобы дискредитировать саму систему наблюдения. Защита от первого – на уровне сети и каналов: фильтрация трафика выше по магистрали, резервирование операторов связи, изоляция управляющего контура от публичного.
Защита от второго – на уровне данных. Видеопоток должен сопровождаться доказательством подлинности: привязка к участку, метки времени, контроль целостности от камеры до зрителя. Аутентификация камер и операторского доступа строится на отечественных средствах криптозащиты – это требование регулятора, а не выбор подрядчика. Каналы между ЦОД шифруются, журналы пишутся в неизменяемом виде. Любой элемент, через который проходит государственная информация, проходит аттестацию по требованиям ФСТЭК и ФСБ, и закладывать это нужно с первого дня проектирования, а не перед сдачей.
Данные после события важны не меньше трансляции
Когда трансляция закончилась, остаётся архив – терабайты записей со всех участков, к которым обращаются избирательные комиссии, наблюдатели и суды. Это уже не задача раздачи, а задача хранения и поиска по огромному массиву. Здесь пригодились подходы, которые мы разбирали в заметке про первые хранилища на Hadoop: распределённое хранение дешевле и надёжнее одной большой СУБД, а индексация по участку и времени даёт быстрый доступ к нужному фрагменту без выгрузки всего архива.
Эксплуатация такой системы – отдельная компетенция. Мониторинг тысяч узлов, предсказуемое резервирование, регламенты реагирования и восстановления складываются в управление распределённой инфраструктурой, и именно оно определяет, выдержит портал свой единственный важный день или нет.
Вывод
Защищённый портал национального масштаба собирается из трёх дисциплин: расчёт по пику, а не по среднему; безопасность в фундаменте архитектуры; и продуманная работа с данными после события. Опыт 2012 года показал, что технологии для этого уже есть – критичны проектирование и эксплуатация. Эти же принципы переносятся на любой сервис электронного правительства, где цена сбоя измеряется не деньгами, а доверием граждан.