О чём эта история

Компания «Спутник‑техника» предоставляет решения для телематики частным лицам и компаниям и имеет более 30 000 клиентов в разных частях России. Флагманский продукт компании — сервис ГдеМои. Ежедневно в базу данных сервиса с GPS‑трекеров пользователей поступает 0,5—1 Гб данных, после анализа которых выдаются визуализированные результаты в онлайн‑режиме.

Чтобы обеспечить быстрое масштабирование, компания перенесла сам сервис и 21 Тб постоянно обновляющихся данных в Yandex Cloud. Миграцию провели с сохранением производительности сервиса, а даунтайм не превысил 30 минут. Переход позволил сократить время отклика сервиса в 5 раз.

Задача компании

«Спутник‑техника» предоставляет решения для дистанционного мониторинга подвижных объектов — транспорта, сотрудников, грузов. Компания работает на этом рынке с 2005 года и оказывает услуги как в России, так и за рубежом. Для отслеживания геолокаций компания разработала сервис «ГдеМои», основанный на технологиях GPS, ГЛОНАСС, LBS. Ежедневно в базу данных поступает 0,5—1 Гб данных с трекеров и датчиков из российского сегмента рынка.

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

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

Компания уже имела опыт работы с облачными технологиями. При поиске поставщика особое внимание уделялось наличию технической поддержки, которая сможет оперативно реагировать на возникающие трудности. Также критерием выбора было и расположение подрядчика — сервис «ГдеМои» работает в России, поэтому требуется соблюдать нормы законодательства в области обеспечения безопасности хранения и обработки данных, такие как 152‑ФЗ.

Оценив предложения нескольких облачных провайдеров, компания решила разместить сервис «ГдеМои» в Yandex Cloud, так как платформа полностью удовлетворяет требованиям в области информационной безопасности, предоставляет широкие возможности масштабирования и качественную техническую поддержку.

Миграция непрерывно обновляемой базы данных в облако

Сервис «ГдеМои» предоставляет возможность отслеживать местоположение транспорта, сотрудников и грузов. Решение также применяется для контроля перемещения стационарных объектов и животных. Например, встроенный в ошейник датчик поможет быстро найти сбежавшего питомца. «ГдеМои» получает данные с GPS‑трекера или с мобильного телефона, на котором установлено приложение. Для решения задач клиента могут быть использованы дополнительные датчики. Так, можно отслеживать уровень топлива и скорость автомобиля, что позволяет не только следить за перемещением, но и предотвращать злоупотребление служебным транспортом.

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

А если алгоритмы сервиса фиксируют нарушения, то клиенту придёт оповещение или отчёт. Обновления с трекеров поступают каждые 30 секунд.

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

Подготовка к переносу заняла 4 недели. За это время была развёрнута необходимая инфраструктура на виртуальных машинах Yandex Compute Cloud. Каждую систему — API‑сервер, геокодер, базу данных, веб‑сервер — разместили на отдельном инстансе. Для размещения бэкапов, отчётов, данных пользователей и генерируемых самим приложением файлов требовалось хранилище, способное автоматически масштабироваться, обеспечивающее быстрый доступ к данным и подходящее для работы с высоконагруженными сервисами. Для сервиса «ГдеМои» компания выбрала Yandex Object Storage. Для хранения информации с сенсоров, маячков, а также для бизнес‑данных использовали управляемые базы данных. Для этого развернули по 2 ноды Yandex Managed Service for PostgreSQL с расширением TimescaleDB для постоянно обновляемых данных с датчиков и Yandex Managed Service for MySQL, в которые поступают данные приложения.

Чтобы перенос свыше 21 Тб постоянно обновляемых данных произошёл без потерь, команда разработчиков изначально настроила репликацию старой базы. После этого поступающий трафик направлялся одновременно и в Yandex Cloud, и на старую площадку. Затем старый узел отключили, а новые данные записывались в локальный кэш до момента запуска базы в Yandex Cloud, после чего эти данные были загружены в облако.

Для распределения входящей нагрузки компания использует Yandex Network Balancer, а внутренняя балансировка осуществляется сервисами Yandex Cloud самостоятельно. Также в проекте использовали Yandex Virtual Private Cloud для сегментации инфраструктуры, Yandex Cloud DNS для администрирования внутренних DNS‑запросов и Yandex Cloud Logging для работы с логами.

Результаты

Компания перенесла свыше 21 Тб данных в Yandex Cloud за 6 месяцев, разворачивание инфраструктуры заняло 4 недели. При этом переход осуществили без потери производительности, а время даунтайма не превысило 30 минут. В результате миграции команда «ГдеМои» создала отказоустойчивое решение, которое быстро масштабируется. Переход также позволил сократить время отклика в 5 раз. Уменьшилось и время выдачи запроса при поиске в базе данных.

В планах команды добавление в сервис возможности быстрой загрузки видео с камер автомобилей. Например, в случае внештатной ситуации или ДТП это позволит диспетчеру оперативно отреагировать и принять решение. Также «ГдеМои» планирует расширение бизнеса и увеличение количества клиентов, поэтому продолжит масштабирование сервиса в облаке.

Для оптимизации работы инфраструктуры компания решила подключить Yandex Managed Service for Apache Kafka®. Этот сервис планируют использовать в качестве краткосрочного буфера для хранения данных, что позволит сгладить пиковые нагрузки. Также рассматривается возможность использования Yandex Managed Service for Kubernetes®.

Мнение

Сергей Родичев,
руководитель сервиса «ГдеМои»
Сергей Родичев,
руководитель сервиса «ГдеМои»

Наш сервис «ГдеМои» круглосуточно контролирует десятки тысяч подвижных объектов — и это огромный объём информации каждую секунду: с GPS‑трекеров, датчиков, мобильных приложений. Yandex Cloud обеспечивает быстродействие сервиса, чтобы наши клиенты всегда получали информацию в полном объёме и вовремя. Разработчики со своей стороны отмечают прекрасную работу менеджеров и экспертность архитекторов.