О чём эта история
Компания «Тангл» разрабатывает платформу для автоматизированной работы с данными BIM‑моделей в строительстве. Эта система позволяет оценить стоимость строительства зданий, возможную прибыль застройщика, соблюдение строительных норм и т. п.
Чтобы локализовать платформу, компания мигрировала в Yandex Cloud. За месяц перенесли продакшн, а также развернули рабочее окружение. За счёт роста бизнеса значительно увеличилось количество пользователей, при этом «Тангл» смогла без остановки работы в три раза увеличить количество процессоров и оперативной памяти. Объём хранилища вырос более чем в семь раз.
Задача компании
Компания «Тангл» — разработчик клиент‑серверной платформы для автоматизированной работы с данными BIM‑моделей в строительстве. BIM (Building Information Model) — это информационная модель зданий и объектов инфраструктуры, позволяющая планировать, проектировать и реализовывать проекты.
В списке клиентов «Тангл» такие компании, как ГК «Эталон», «Самолёт», «Галс‑Девелопмент», R1, «СибТехПроект», «Атомстройкомплекс» — всего свыше 80 крупных и средних организаций. В 2023 году компания стала победителем конкурса 100+ AWARDS в номинации «Лучшая инновационная разработка — IT‑решение».
Платформа объединяет несколько решений, с помощью которых можно проводить проверку моделей на любом этапе строительства, автоматизировать разработку сметной документации и проверять модели на несоответствия.
Платформа требует производительных серверов для многопоточной обработки данных, поэтому компании была нужна масштабируемая и производительная инфраструктура, которую мог бы предоставить один провайдер.
«Тангл» сразу решила разворачивать платформу в облаке, так как систему будет использовать множество участников из разных компаний‑подрядчиков. Инфраструктура для такой системы должна быстро динамически масштабироваться в зависимости от нагрузки, сохраняя при этом высокий уровень производительности и доступности.
Попробовав несколько облачных платформ для размещения своих отдельных сервисов, «Тангл» решила выбрать провайдера, на базе которого можно консолидировать всё решение.
В первую очередь «Тангл» нуждалась в управляемых сервисах для Kubernetes® и MongoDB и в хранилище данных, совместимом с Amazon S3. Кроме того, нужен был сервис для управления DevOps‑платформой GitLab и развитые сервисы для аналитики, а также сервисы и инструменты для работы с большими данными. Компания рассматривала и другие управляемые сервисы облачных платформ, в том числе и те, что находятся в бета‑версии или режиме превью.
Было важно, чтобы набор сервисов облака состоял преимущественно из свободного и открытого ПО: это позволило бы избежать лицензионных рисков. Также облачная платформа должна была соответствовать требованиям российского законодательства, а ЦОДы провайдера — находиться на территории России.
Всем этим требованиям, по мнению менеджмента «Тангл», лучше всего удовлетворяла платформа Yandex Cloud.
Решение
Система компании «Тангл» — это SaaS‑система на основе платформы для управления технологическими расходами и активами Tangl, которая построена по принципам микросервисной архитектуры. Система состоит из ядра, которое выполняет корневые функции обработки данных строительных проектов, и ряда сервисов. Сервисы — это отдельные продукты для различных клиентских сегментов, которые решают прикладные задачи бизнеса, специфичные для конкретных категорий клиентов. Кроме того, в системе есть отдельный сервис авторизации, который управляет пользователями, аккаунтами и т. п. Каждый сервис использует собственную базу данных MongoDB, ещё одна такая база данных предназначена для ядра платформы.
Фронтенд разработан на TypeScript с использованием фреймворка Vue. Бэкенд системы разработан на .NET Core, в качестве базы данных используется MongoDB.
В состав платформы Tangl входят:
-
Tangl Control — кроссплатформенный облачный сервис, разработанный для проверки BIM‑моделей на соответствие требованиям заказчика. Он позволяет автоматизировать рутинные процессы и кастомизацию правок.
-
Tangl Value — сервис, организующий доступ к актуальным объёмам работ и материалов в любое время для разных пользователей.
-
Tangl Space — бесплатный веб‑сервис для хранения, просмотра и передачи BIM‑моделей.
Платформа предоставляет пользователям расчёты на основе данных BIM‑моделей. С их помощью можно оценить стоимость строительства зданий, возможную прибыль застройщика, соблюдение строительных норм и т. п. Кроме того, система позволяет обнаружить возможные ошибки в моделях, которые могут повлиять на возникновение проблем при будущем строительстве. Платформа Tangl поддерживает также контроль версионности моделей, который позволяет оценить влияние изменений в моделях на стоимость и сроки строительства.
На стадии MVP система размещалась в инфраструктуре иностранного облачного провайдера, но по мере роста объёмов данных, которые необходимо быстро обрабатывать, компания решила перейти в Yandex Cloud. Переход провели без особых трудностей самостоятельно, консультируясь с техподдержкой Yandex Cloud. Единственной сложностью было построение пайплайна CI/CD, но это не было связано непосредственно с облачными сервисами. Компания развернула в облаке рабочее окружение, перенесла в Yandex Cloud актуальные данные и протестировала работу системы. На весь проект потратили месяц.
При миграции в Yandex Cloud команда «Тангл» развернула решение в одном кластере Yandex Managed Service for Kubernetes®. Сбор всех логов организован с помощью Yandex Cloud Logging.
Базы данных развернули в Yandex Managed Service for MongoDB. В них хранятся регистрационные данные, относящиеся к BIM‑моделям: их имена, данные владельцев, даты поступления в систему, номера версий, информация о произведённых расчётах и т. п.
Основную часть контента хранят в бакете Yandex Object Storage. Сюда отправляются обработанные и сконвертированные данные клиентских строительных информационных моделей. Кроме того, система Tangl собирает геометрию и свойства элементов из информационных моделей и на их основе проводит расчёты и генерирует результаты, такие как сметы, объёмы, оценка производительности моделей. Эти данные также хранятся в бакете Object Storage.
Компания также перенесла в Yandex Cloud свой репозиторий и весь CI‑стек — GitLab Server, реестр контейнеров и раннеры GitLab. Для управления DevOps‑платформой GitLab используется Yandex Managed Service for GitLab. Среда выполнения сценариев Terraform размещена в отдельном кластере Kubernetes®.
После перехода на динамически масштабируемую и производительную инфраструктуру Yandex Cloud, система стала лучше справляться с быстро растущими объёмами данных, с которыми столкнулась компания «Тангл».
Результаты
Сейчас решение «Тангл» запущено в промышленную эксплуатацию. Компания избежала рисков при размещении у иностранного облачного провайдера, локализовав свой сервис.
Широкий выбор управляемых сервисов Yandex Cloud позволил быстро развернуть и эффективно поддерживать работу платформы Tangl, учитывая высокие требования к инфраструктуре.
При этом за счёт роста бизнеса увеличилось количество пользователей. «Тангл» смогла без остановки рабочих процессов горизонтально масштабировать инфраструктуру: увеличить количество процессоров и оперативной памяти примерно в три раза. Параллельно более чем в семь раз вырос объём данных в хранилище.
Компании удалось разместить и продакшн‑решение, и окружение для разработки на одной облачной платформе. Также «Тангл» отмечает увеличение скорости обработки данных на облачной платформе благодаря производительным и масштабируемым вычислительным ресурсам облака.
В ближайшем будущем «Тангл» планирует перейти с MongoDB на объектно‑реляционную СУБД PostgreSQL и организовать сбор, анализ и визуализацию статистики с помощью BI‑системы Yandex DataLens и управляемой СУБД Yandex Managed Service for Greenplum®.
Компания собирается развивать решение: запустить сервисы контроля строительных работ, а также расширить возможности интеграции.
Мнение
Мы достигли одной из основных целей: отвязались от всех иностранных ресурсов, где у нас что‑то хранилось — реестр контейнеров, репозиторий и прочее, — и наконец избавились от необходимости использования VPN. Мы консолидировали всё на единой динамически масштабируемой инфраструктурной платформе и существенно облегчили поддержку своего решения.