В этой статье речь пойдет о Pilot‑BIM, системе управления проектными данными и инженерным документооборотом в строительстве. Это сетевое программное обеспечение, все пользователи которого работают с общей базой данных. Система организует совместную работу множества участников инвестиционно‑строительных проектов с файлами, электронными документами и информационными моделями объектов капитального строительства. Под множеством участников здесь можно понимать не только большое количество пользователей (сервер системы Pilot‑BIM способен обслуживать до нескольких тысяч пользователей), но и любое количество организаций‑участников проекта, располагающихся в разных точках планеты. Подробнее ознакомиться с Pilot‑BIM, целями его внедрения и решаемыми с его помощью задачами можно на сайте продукта, а в этой статье мы рассмотрим один из способов развёртывания и эксплуатации серверных компонентов системы.

Обычно общие компоненты Pilot‑BIM устанавливаются на серверах предприятия‑пользователя (или одного из предприятий, если их несколько), которые обслуживаются сотрудниками ИТ‑службы этого предприятия. Серверы могут быть физические или виртуальные — здесь каких‑либо ограничений нет. Это традиционный способ развёртывания, опробованный уже многими сотнями организаций.

К общим компонентам Pilot-BIM относятся:
  • Pilot‑Server — сервер приложений, имеющий в своем составе компоненты управления базами данных

  • Pilot‑BIM‑Server — средство создания и обновления сводных проектных моделей

  • Pilot‑SearchServer — средство индексации базы данных для поиска по тексту в электронных документах

Но в последнее время заказчики все чаще интересуются развёртыванием Pilot в облаке. Облачные сервисы для управления инженерными данными постепенно набирают популярность в нашей стране, и разработчики системы Pilot не могли не отреагировать на такой запрос рынка и не проверить работоспособность своей системы на платформе одного из ведущих поставщиков облачных сервисов — Yandex Cloud.

Из всего многообразия сервисов платформы Yandex Cloud мы в своем эксперименте использовали один — Compute Cloud, предоставляющий пользователю масштабируемые мощности (виртуальные машины и диски) для размещения, тестирования и прототипирования своих проектов. Было решено создать виртуальную машину под управлением операционной системы Linux, дистрибутив Ubuntu, версия 22.04. Для этого оказалось необходимо и достаточно:

  1. Зарегистрироваться в Яндекс или войти с имеющейся учетной записью.

  2. Подключиться к Yandex Cloud и оформить грант.

    Тут понадобятся реквизиты организации и 10 минут времени, чтобы внести их в систему.

  3. Создать виртуальную машину (ВМ) с нужными параметрами.

    Для этого есть подробная инструкция. Всё просто: присваиваем имя новой ВМ, выбираем операционную систему (Ubuntu 22.04), тип процессора и количество ядер, количество оперативной памяти и прочие параметры по инструкции, создаём и указываем ключ защиты SSH, и виртуальная машина готова. Очень удобно, что при выборе и изменении любых параметров ВМ в правой части окна указывается расчётная стоимость обслуживания такой ВМ в месяц. Можно начать с минимально разумных параметров (например, 4-6 ядер Intel Ice Lake, 16 ГБ RAM, 50 ГБ SSD), а позже при необходимости увеличить их в любой момент.

  4. Подключиться к виртуальной машине по SSH, как указано в той же инструкции. Главное — не забыть путь к папке, в которую сохранили созданный файл ключа SSH, и имя этого файла.

Подключение к виртуальной машине по SSH
  1. Установить Docker, если его не окажется в выбранном дистрибутиве Linux. Например, по этой инструкции.

  2. Загрузить демонстрационную базу данных Pilot на диск созданной виртуальной машины. Для этого можно воспользоваться консольным интернет‑браузером Links. Актуальные версии демонстрационных БД Pilot доступны в Центре загрузок системы Pilot. После загрузки архивного файла с БД его необходимо распаковать в папку, которую планируется использовать в качестве тома, монтируемого в Docker‑контейнер.

  3. Установить серверное ПО Pilot по пошаговой инструкции от разработчика. Тут пригодится «шпаргалка» с перечнем вводимых команд. Вместо Docker можно установить компоненты Pilot под Linux, но в рамках данной статьи этот способ мы рассматривать не будем.

    Подключение по SSH:
    ssh -i C:\Users\atyomkin\tyomkin.key tyomkin@130.193.42.17
    
    Установка Докер на Ubuntu:
    https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ru 
    
    1. Установка Pilot-Server
    sudo docker pull pilotdev/pilot-server:latest
    sudo docker run -d -p 5546:5545 --name pilot-server -v /var/docker_disk:/mnt/vol1 pilotdev/pilot-server
    sudo docker exec -ti pilot-server /bin/sh setup.sh
    sudo docker restart pilot-server
    
    2. Установка Pilot-BIM-Server, подключение к БД
    sudo docker pull pilotdev/pilot-bim-server:latest
    sudo docker run -it --name pilot-bim-server pilotdev/pilot-bim-server
    sudo docker exec -ti pilot-bim-server dotnet pBimAdmin.dll -c http://130.193.42.17:5546/pilot-bim_cloud
    sudo docker start pilot-bim-server
    
    3. Установка Pilot-WEB-Client
    sudo docker pull pilotdev/pilot-web-client:latest
    sudo docker run -d -p port:80 -e SERVER=http://130.193.42.17:5546 -e DATABASE=pilot-bim_cloud --name pilot-web pilotdev/pilot-web-client
    sudo docker exec -ti pilot-web /bin/sh setup.sh
    sudo docker restart pilot-web
    
    4. Установка Pilot-TextSearch-Server
    sudo docker pull pilotdev/pilot-textsearch-server:latest
    sudo docker run -d -p 5547:9095 -e DBADRESS=http://130.193.42.17:5546/pilot-bim_cloud -e LOGIN=searchadmin -e PASSWORD=[пароль] --name pilot-textsearch pilotdev/pilot-textsearch-server
    sudo docker exec -ti pilot-textsearch /bin/sh setup.sh
    sudo docker exec -ti pilot-textsearch /bin/sh index.sh
    
    После перезапуска виртуалки:
    
    1. sudo docker start pilot-server
    2. sudo docker start pilot-textsearch
    3. sudo docker start pilot-bim-server
    4. sudo docker start pilot-web

  4. Подключиться к Pilot‑Server с помощью Pilot‑myAdmin с рабочей станции, подключить и настроить БД Pilot, подключить файл лицензий, подключить Pilot‑BIM‑Server к БД Pilot — всё так же, как при развертывании Pilot на обычном физическом сервере. Какой‑либо специфики при развертывании в облаке на этом этапе нет.

  5. Подключиться к Pilot‑Server с помощью Pilot‑BIM или Pilot.WEB и работать в Pilot как обычно, не думая и не зная про облако.

Работа в Pilot.Web

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

Pilot-BIM в Yandex Cloud

Выводы:

  1. Pilot работает в облаке не хуже, чем на физических серверах.

  2. Чтобы развернуть систему в облаке с нуля, с запасом хватит одного рабочего дня.

  3. Yandex Cloud поможет быстро запустить проекты опытной эксплуатации среды общих данных вместо того, чтобы ждать выделения и подготовки необходимых серверов от ИТ‑службы. Особенно, если таких серверов нет в наличии, и их необходимо закупить.

  4. Если в организации нет своего ИТ‑отдела и администраторов с мощными серверами, облако станет хорошим решением для продуктивного использования среды общих данных.

  5. Для системных интеграторов данный эксперимент может стать поводом задуматься над созданием нового продукта. Среда общих данных Pilot‑BIM как услуга по подписке — отличное решение для любителей концепции BIM 360, особенно в свете скорого появления (к началу 2024 года) коммерческих лицензий Pilot.WEB и Pilot‑Cloud. Но эту тему стоит рассмотреть отдельно.


Автор — Антон Тёмкин, руководитель отдела аналитики решений для промышленного и гражданского строительства АСКОН