Kipod: безопасный город в облаке
Облачная платформа Kipod — решение операторского уровня для интеллектуального видеонаблюдения и мониторинга общественной безопасности в масштабах государства. Чем платформа Kipod отличается от обычных систем видеонаблюдения? Почему обычные системы не масштабируются?
Подключение городских объектов (внизу) и удаленных пользователей (вверху) к облаку Kipod

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

Облачная платформа Kipod создана для больших проектов класса "Безопасный город", где задействованы тысячи видеокамер и сотни пользователей, представляющих различные организации. В таких больших проектах используются решения операторского класса с надежностью уровня "три девятки" (99.9%) и среднегодовым простоем не более 9-и часов. Общий подход принципиально отличается от подхода построения мелких объектовых систем, где выгодней применять обычные решения.

Главная особенность платформы Kipod - экономически эффективное масштабирование по числу пользователей, числу видеокамер (+ других датчиков) и глубине архива с полным резервированием всех компонентов. Масштабирование операторского уровня обеспечивается за счет применения принципиально других технологий, таких как контейнеры Docker, оркестрация Kubernetes, программно-определяемое хранилище Ceph, нереляционная база данных Cassandra.

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

Другая характеристика Kipod как решения операторского класса - обслуживание пользователей практически на любом устройстве. Весь функционал доступен через веб-браузеры без установки дополнительных плагинов типа Adobe Flash. Это особенно важно при подключении пользователей из организаций с различными корпоративными политиками. Также доступны приложения для рабочих станций семейства Windows и Linux, мобильные приложения Android и iOS.

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

Рассмотрим подробнее преимущества архитектуры платформы Kipod.

Контейнеры вместо виртуальных машин

Отказоустойчивость систем видеонаблюдения обеспечивается за счет изоляции и оркестрации программных сервисов. Существуют два основных варианта изоляции: виртуальные машины на базе гипервизора или контейнеры. В первом случае для каждой виртуальной машины используется собственная гостевая операционная система (ОС), а во втором применяется ядро одной хостовой ОС. Контейнерная изоляция — самая быстрорастущая технология для облачных сервисов.
Виртуальные машины (слева) и контейнеры Docker (справа)

Обычные системы видеонаблюдения используют виртуальные машины, например, VMware или Hyper-V. Образ каждой виртуальной машины включает операционную систему, а ее размер может составлять несколько гигабайт, что сказывается на более высоких требованиях к дисковой и оперативной памяти серверов. Другие недостатки виртуальных машин - бОльшее время загрузки ОС и инициализации приложения, зависимость от иностранного поставщика ПО для виртуализации. Стоимость гипервизора может быть сопоставима со стоимостью серверного оборудования.

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

Оркестрация вместо статической конфигурации

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

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

ПО Kubernetes позволяет обновлять программное обеспечение Kipod без технического перерыва в обслуживании пользователей, постепенно заменяя контейнеры со старой версии Kipod на новую на всех вычислительных узлах.
Архитектура Kubernetes: множество контейнеров (сверху) и вычислительные узлы (снизу)

ПО Kubernetes является свободным и распространяется в открытом коде.

Единое программно-определяемое хранилище вместо множества аппаратных контроллеров RAID

Программно-определяемые хранилища (Software-defined storage, SDS) — это следующий шаг в развитии систем хранения данных, который позволяет гибче ими управлять на основе потребностей бизнеса и снизить зависимость от аппаратного обеспечения.

Облачная платформа Kipod использует единое программно-определяемое хранилище на основе свободного ПО Ceph. Это хранилище имеет беспрецедентно высокую скорость операций ввода/вывода и обеспечивает линейное масштабирование единого дискового пространства без точек отказа и узких мест.

Сервисы Kipod записывают медиаданные в хранилище Ceph через интерфейс S3. Этот же интерфейс используется в облачных хранилищах Amazon Web Services (AWS). Медиаданные упаковываются в большие объекты размером около 1 Гб, что позволяет максимально эффективно использовать архитектуру Ceph.

Благодаря программно-определяемой архитектуре гибко настраиваются параметры хранилища с точки зрения требований по потокам записываемых и считываемых данных, числу операций ввода/вывода и степени избыточности. Так, базы данных и другие критические данные хранятся в 3-х копиях (избыточность 200%), а большие массивы видео хранятся с меньшей избыточностью 25%.

Обычные системы видеонаблюдения используют либо множество хранилищ с прямым подключением DAS (Direct-attached storage) и контроллерами RAID, либо единое хранилище на базе проприетарных технологий, таких как OceanStor компании Huawei или VxRail компании Dell / EMC.

Множество хранилищ с прямым подключением DAS и аппаратными контроллерами RAID, например, обычные видеосервера или видеорегистраторы, имеют существенные недостатки в сравнении с единым программно-определяемым хранилищем на базе ПО Ceph: неоптимальное использование дискового пространства из-за физической сегментации; запредельная стоимость горячего резервирования отдельных серверов или RAID-контроллеров; риск критической перегрузки одного сервера при обращении множества пользователей в одно место архива, более короткий жизненный цикл жестких дисков; риск выходного из строя всех дисков RAID в процессе регенерации.
Сравнение множества хранилищ с прямым подключением DAS (справа) и единым хранилищем (слева), обеспечивающим более эффективное использование дисковой памяти

Единое хранилище на базе проприетарных технологий также имеет недостатки в сравнении с хранилищем на базе ПО Ceph: снижение эффективности из-за отсутствия возможности тонкой настройки хранилища под бизнес-правила платформы Kipod; критическая зависимость от иностранного поставщика решения как в аппаратной, так и в программной частях и, как результат, более высокая стоимость и риски владения.

Нереляционная база данных вместо реляционной

Платформа Kipod использует нереляционную базу данных Apache Cassandra типа NoSQL, которая позволяет создавать надёжные хранилища больших массивов данных (Big Data). Базы данных такого типа обеспечивают линейное масштабирование за счет добавления вычислительных узлов и распределения данных между ними.

В базе данных хранятся индексы видеозаписей, зарегистрированные события, признаки обнаруженных объектов и другие данные, необходимые для реализации функций быстрого поиска информации и сбора статистики в платформе Kipod.

Обычные системы видеонаблюдения используют реляционные системы управления базами данных, например, PostgreSQL, MySQL и SQL Server. Такие базы данных более удобны для разработки, но не позволяют реализовать хранение и обработку больших данных на множестве вычислительных узлов. Таким образом, без возможности распределения в системе возникают принципиальные ограничения по количеству камер и глубине архива.

Масштабирование сразу по нескольким направлениям

Платформа Kipod обеспечивает экономически эффективное масштабирование сразу по нескольким направлениям: количество пользователей, число видеокамер и глубина архива с полным резервированием всех компонентов системы. Это достигается за счет того, что каждый компонент системы может масштабироваться независимо. Например, масштабирование по количеству пользователей достигается через добавление новых контейнеров для их обслуживания, по числу видеокамер - путем добавления контейнеров для приема видеопотоков, по глубине архива - наращиванием размера хранилищ и баз данных.

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

Экономический аспект

Облачная платформа Kipod обеспечивает экономию не менее 30% в общей стоимости владения, если сравнивать ее с обычными системами видеонаблюдения для крупных проектов свыше 1 000 камер и свыше 100 пользователей. Снижение расходов обеспечивается за счет:

  • уменьшения избыточности в оборудовании для хранения и обработки больших массивов данных;

  • снижения требования к средствам аппаратного резервирования благодаря отказоустойчивой программной архитектуре;

  • увеличения срока полезного использования серверного оборудования и жестких дисков;

  • уменьшения расходов на администрирование системы благодаря средствам оркестрации и централизованного мониторинга работоспособности;

  • использования бесплатного системного ПО (операционные системы, виртуализация, системы хранения данных, мониторинг работоспособности).

Готовое аппаратно-программное решение

Облачная платформа Kipod является аппаратно-независимой и может работать на серверном и сетевом оборудовании различных производителей. При проектировании аппаратно-программного комплекса "Безопасный город" могут использоваться типовые конфигурации серверных стоек. Единицей масштабирования комплекса является серверная стойка.

Сравнительная таблица
16 ОКТЯБРЯ / 2018

© All Right Reserved. Synesis.
2018