Облака часто критикуют – за уязвимости, за зависимость от провайдеров и сложность масштабирования. Однако в Utrace изначально считали иначе – с первой строчки кода флагманские b2b-продукты компании разворачивались именно в облаке. О том, почему это решение оказалось стратегическим для бизнеса и какие уроки извлекла команда, рассказывает Сергей Игнаткин, директор по продуктам компании.
Почему облако
В Utrace создают системы класса track&trace. Они предназначены для управления цифровой маркировкой и соблюдения требований законодательства в области прослеживаемости продукции. Это сложные высоконагруженные b2b‑платформы, которые круглосуточно обмениваются данными с десятками корпоративных систем – от ERP до WMS. Пользователи track&trace – крупные производственные компании с десятками заводов и складов, которые ежедневно выпускают миллионы единиц продукции. У каждого клиента своя изолированная инфраструктура и большой массив собственных данных. Мы с самого начала понимали, что вместе с ростом количества проектов и интеграций нагрузка на наш продукт будет только увеличиваться, поэтому решили разворачивать продукт сразу в облаке. Такой подход позволил бы усилиями небольшой команды быстро поднимать новые стенды и масштабировать инфраструктуру даже при ограниченных ресурсах. Пилотным продуктом, развернутым по такой модели ещё в 2019 году, стало наше решение для фармацевтики.
Какое решение выбрали
Аргумент в пользу облачного формата был прост: собственные серверы требуют капитальных вложений, долгого развертывания и большой ИТ-команды. А облако в свою очередь дает эластичность и окупается за счет масштаба наших проектов.
На тот момент у нас не было задачи глубоко погружаться в низкоуровневую инженерию, поэтому, когда пришло время выбрать инфраструктуру, наша команда остановилась на Яндекс.Облаке. В экосистеме уже были все необходимые технологии: готовые базы данных на PostgreSQL, инструменты для мониторинга, балансировки и масштабирования. Это позволило существенно сократить время на разработку собственной инфраструктуры и сфокусироваться на том, что действительно важно — устойчивости и развитии платформы.
Сегодня при построении облачной инфраструктуры мы используем управляемые сервисы Yandex Cloud — Kubernetes, Kafka, PostgreSQL и ClickHouse. Архитектура типовая: веб-интерфейс, микросервисы, базы данных, аналитический модуль для отчетов и система мониторинга состояния стендов.
Так, облако позволило нам разворачивать свое решение силами одного-двух специалистов, несмотря на то,что продукт постоянно совершенствуется и требуется максимально быстро увеличивать ресурсы и подключать новые технологии.
Как следим за отказоустойчивостью
Все ключевые компоненты нашей системы распределены по нескольким дата-центрам и существуют в двух экземплярах - мастер и реплика. Если один дата-центр выходит из строя, система автоматически переключает каждый мастер из этого дата-центра на реплику в резервном. Это не роскошь, а базовый подход по организации отказоустойвойсти для бизнес-критичной ИТ-платформы.
Чтобы поддерживать производительность и стабильность системы, мы фокусируемся на трех аспектах. Первый — мониторинг процессов, используем консоль Yandex Cloud и собственные панели мониторинга на Grafana. Отслеживаем нагрузку от внешних систем, время выполнения ключевых операций (например, отгрузки) и отправляем уведомления в чаты при отклонениях. Второй — разделяем сервисы, отвечающие за разные блоки бизнес-процессов по кластерам, например производственный илогистический блок разделены. Высоконагруженные сервисы размещаем на быстрых дисках. Третий — регулярно оптимизируем объем баз и архивируем исторические данные, чтобы не терять скорость работы. Такой подход полностью отвечает нашим запросам и позволяет строить инфраструктуру, которая сочетает устойчивость, предсказуемое масштабирование и относительную простоту сопровождения.
Что получилось
К 2025 году облачная инфраструктура Utrace выросла в 20 раз – до 2000 ядер процессоров и 10 Тб оперативной памяти. При этом команда DevOps увеличилась всего с двух до четырех человек, несмотря на десятки интеграций и клиентов.
***
Для поддержания конкурентных возможностей бизнесу необходимо развиваться, масштабироваться и выходить на новые рынки сбыта. Как показывает наш опыт, для сложных b2b-решений с круглосуточной нагрузкой именно такая модель наиболее жизнеспособна, поэтому мы продолжим развивать свой продукт по облачной стратегии. Именно такой подход обеспечивает рост без пропорциональных затрат и гарантирует непрерывность работы продукта, от работоспособности которых зависит бизнес клиентов.
Источник: https://vc.ru/life/2989967-oblachnye-resheniya-utrace-dlya-b2b-produktov