Нашей команде уже более 10 лет, и мы создаем решения для корпоративных клиентов билайна. Мы работаем в области машинного обучения и больших данных. У нас сформированы 12 продуктовых команд. Один из наших продуктов – это платформа для видеоаналитики.
Я расскажу о технической стороне этого продукта и процессе разработки решений. Сразу скажу, что здесь будет говориться больше про внутреннюю кухню, и это будет более интересно и полезно тем, кто в теме или хочет глубже узнать о возможностях видеоаналитики билайна.
Платформа видеоаналитики от билайн бизнес:
Верхнеуровневое решение состоит из следующих компонентов:
• кабинет клиента;
• кабинет администратора;
• backend-сервисы;
• источники информации (это могут быть как камеры, которые передают видеопоток, так и информация с вычислительных плат, то есть передается результат уже обработанного видеоряда на вычислительной плате).
Есть два способа получения информации от внешних источников:
- Видеопоток с камеры.
- Результат обработки видеопотока на микрокомпьютере.
Второй вариант используется в том случае, когда месторасположение камеры не подразумевает стабильного канала связи с серверной частью, например, в автобусах, на кораблях, в вагонах поездов или в каких-то удаленных местах.
Подробнее хотелось бы остановиться на реализации инфраструктуры на микрокомпьютерах или вычислительных платах.
Реализуется это все в Kubernetes, который еще называют k8s — это портативная платформа с открытым исходным кодом для управления сервисами.
Но дело в том, что k8s сложен в настройке, требует значительных ресурсов и может подойти далеко не для каждого кейса. Его «младший брат» — это k3s, более легкое решение, своего рода дистрибутив Kubernetes. Мы взяли k3s как основу для инфраструктуры для микрокомпьютеров.
А теперь на одном примере расскажу, как в реальности происходит настройка системы с использованием микрокомпьютеров.
- Начальная настройка. На первом этапе происходит развертывание необходимой инфраструктуры на микрокомпьютере. Нам было важно организовать процесс и упаковать инфраструктуру так, чтобы прошивка занимала минимум времени. Мы упаковали инфраструктуру в k3s, прошивка одной платы заняла у нас не более часа вместе с установкой нужной ОС и jetpack (в случае использования Jetson).
- Мониторинг устройств. Конечно, бывают сбои. Например, сбои в питании микрокомпьютеров, в канале видеокамера → микрокомпьютер, в каких-то сетевых ограничениях со стороны заказчика.
Очевидно, что нужен мониторинг доступности и исправности работы. Мы организовали сбор основных метрик на основе telegraf и алертинг (система автоматического оповещения) в мессенджеры и почту.