Главное о кейсе
ТЕХНОНИКОЛЬ столкнулась с проблемами производительности и высокой стоимостью поддержки мобильного приложения TN Check. Система, предназначенная для контроля качества монтажа изоляции, диагностики объектов и вызова экспертов, имела современные мобильный и веб-интерфейсы, но ее бэкенд на .NET был медленным и дорогим в сопровождении. Отсутствие документации и отлаженных процессов тестирования тормозило развитие сервиса и негативно влияло на работу строительных экспертов.
Наша команда провела технический аудит и реализовала полную переработку бэкенда на Golang. Мы выбрали гибридную архитектуру («микромонолит») для баланса между надежностью и гибкостью, сохранив при этом существующие клиентские приложения.
Результаты:
- Количество активных пользователей выросло в 2 раза благодаря повышению скорости и удобства приложения.
- Снижены затраты на инфраструктуру и поддержку,
- Сокращено время вывода новых функций (time-to-market).
Как проект изменил жизнь пользователей
Строительные эксперты и технические надзорщики на объектах сталкивались с медленной загрузкой данных, зависаниями интерфейса и риском потери введенной информации. Это отнимало время и мешало сосредоточиться на основной работе — контроле качества.
После обновления:
- Приложение реагирует без задержек: просмотр проектов, загрузка документов и фотографий, формирование актов проходят в разы быстрее. Пользователи могут сфокусироваться на своей основной задаче.
- Внедрение ролевой модели сделало интерфейс более понятным: каждый пользователь видит именно те задачи и функции, которые нужны для работы.
- Процессы разработки и выпуска релизов соответствуют стандартам ИТ-департамента ТЕХНОНИКОЛЬ.
Бизнес-задача и ее решение
Ключевые задачи проекта
- Спроектировать надежную и масштабируемую архитектуру, способную поддерживать будущий рост системы без увеличения инфраструктурных затрат.
- Минимизировать издержки миграции путем обеспечения совместимости API нового бэкенда на Golang с существующими фронтенд-приложениями;
- Оптимизировать процесс разработки и сократить время вывода новых функций (time-to-market);
- Реализовать необходимый функционал.
Решение
Мы предложили переход бэкенда на актуальный технологический стек (Golang) с пересмотром архитектуры и процессов разработки. Это включало:
- Разработку гибридной архитектуры «микромонолит»;
- Внедрение практик DevOps, CI/CD для автоматизации тестирования и развертывания;
- Создание детальных спецификаций с выделением бизнес-требований вместо ТЗ для ускорения разработки.
В рамках работы над проектом удалось реализовать новый функционал:
- Ролевая модель с персонализированным интерфейсом для разных типов пользователей;
- Генератор PDF-файлов с поддержкой данных из JSON и БД;
- SSO и JWT-аутентификация для удобства доступа к приложению и безопасному использованию.
Результат
- Уменьшены расходы на инфраструктуру и поддержку благодаря оптимизации кода и качественной документации;
- В 2 раза возросло количество активных пользователей за счет удобства и скорости работы приложения;
- Реализован запланированный функционал приложения;
- Критичные процессы работают без сбоев, сокращен time-to-market;
- Процессы разработки и выпуска релизов соответствуют стандартам ИТ-департамента ТЕХНОНИКОЛЬ.
Крафт (мастерство), реализация, технические детали
Прежняя система — мобильное и веб-приложение, серверное приложение — была реализована на .Net и не отвечала критериям по быстродействию, надежности, скорости сопровождения. Также не было документации по системе и налаженного процесса тестирования. Возникали сложности при интеграции с внутренними системами клиента и при релизах версий приложения.
Приняли решение внедрить гибридную архитектуру «микромонолит», которая сочетает преимущества монолитной простоты и микросервисной масштабируемости. В рамках этого подхода декомпозировали систему доменные сервисы, отвечающие за конкретные бизнес-процессы.
В качестве языка выбрали Golang за высокую производительность и простоту поддержки.Также он соответствовал корпоративному стеку ТЕХНОНИКОЛЬ.
Для оптимизации затрат вместо ТЗ использовались детальные спецификации с критериями выполнения (DoD). Это ускорило разработку, снизило количество ошибок и упростило тестирование за счёт чёткого определения требований и алгоритмов.
Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком
Изначально мы предложили клиенту два варианта развития проекта:
- Рефакторинг на .NET — менее затратный вариант, позволявший быстро устранить критические проблемы. Однако этот подход не решал глубинных архитектурных недостатков и не обеспечивал удобства дальнейшей поддержки из-за отсутствия у клиента внутренней экспертизы в .NET.
- Полная переработка на Golang — переход на стек, соответствующий корпоративному стеку клиента. Этот вариант требовал больших стартовых затрат, но полностью закрывал все бизнес-задачи: обеспечивал производительность, масштабируемость и снижал долгосрочные расходы на поддержку.
Остановились на втором варианте, так как он гарантировал долгосрочную эффективность системы.
В процессе работы над проектом получили несколько инсайтов:
- Выявление «болевых точек» на старте (отсутствие документации, проблемное тестирование и интеграция) позволило сделать выбор в пользу стратегического решения.
- Успех зависел не только от технической миграции, но и от внедрения новых подходов, таких как спецификации с критериями выполнения (DoD) вместо ТЗ и отлаженный процесс тестирования. Это ускорило разработку и сократило ошибки.
- Работа по сервисам (1 итерация = 1 сервис) позволила быстро демонстрировать результат, получать обратную связь и снижать риски.
Текущая доступность работы
https://nav.tn.ru/tncheck/
Скриншоты
Комментарий заказчика
TN CHECK — не новый для нас продукт, но в 2023 году встал вопрос об его дальнейшем развитии, которому мешали некоторые технические трудности. В результате этого мы начали поиск технологического партнёра, который помог бы нам в решении наших задач. Ранее на одной из конференций мы познакомились с SimbirSoft, которая уже работала с нашей компанией на других проектах на протяжении 4 лет, и нас привлекла схожесть их подхода к делу с нашим. С тех пор мы сотрудничаем по нашему продукту уже 2,5 года, и за это время было сделано уже многое, а планируется ещё больше!