Моделирование на основе цифровых изображений в Azure

хранилище BLOB-объектов Azure
Azure Key Vault
Виртуальные машины Azure

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

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

Архитектура

Схема, демонстрирующая архитектуру для моделирования на основе изображений в Azure IaaS.

Скачайте файл Visio для этой архитектуры.

Рабочий процесс

  1. Пользователь передает в PhotoScan некоторое количество изображений.
  2. Планировщик PhotoScan выполняется на виртуальной Машине Windows, которая назначена головным узлом, и управляет обработкой изображений пользователя.
  3. PhotoScan ищет на фотографиях общие точки и создает для них геометрию (сетку), используя узлы обработки PhotoScan на виртуальных машинах с графическими процессорами (GPU).
  4. Avere vFXT для Azure предоставляет высокопроизводительное решение для хранения данных в Azure на основе сетевой файловой системы 3 (NFSv3) и включает по крайней мере четыре виртуальных машины.
  5. PhotoScan визуализирует модель.

Компоненты

  • Agisoft PhotoScan. Планировщик PhotoScan работает на виртуальной машине под управлением Windows Server 2016, а узлы обработки используют пять виртуальных машин с GPU под управлением CentOS Linux 7.5.
  • Avere vFXT для Azure — это решение для кэширования файлов, использующее хранилище объектов и традиционное сетевое хранилище (NAS) для оптимизации хранения больших наборов данных. Он включает в себя:
    • Контроллер Avere. Эта виртуальная машина выполняет скрипт установки кластера vFXT Avere и работает под управлением Ubuntu 18.04 LTS. Эта виртуальная машина позволит позднее добавить или удалить узлы кластера, а также уничтожить весь кластер.
    • Кластер vFXT. Используются по крайней мере три виртуальные машины, по одной для каждого из узлов Avere vFXT на основе ОС Avere 5.0.2.1. Эти виртуальные машины формируют кластер vFXT, который прикреплен к хранилищу BLOB-объектов Azure.
  • Контроллеры домена Microsoft Active Directory позволяют узлу обращаться к ресурсам домена и обеспечивают разрешение имен DNS. Avere vFXT добавляет несколько записей A, например, в кластере vFXT эти записи указывают на IP-адреса всех узлов Avere vFXT. В этой конфигурации все виртуальные машины обращаются к экспорту vFXT методом циклического перебора.
  • Другие виртуальные машины выступают в качестве серверов перехода, позволяя администратору получить доступ к узлам планировщика и узлам обработки. Сервер перехода Windows является обязательным для доступа администратора к головному узлу через протокол удаленного рабочего стола. Второй (необязательный) сервер перехода работает под управлением Linux и используется для администрирования рабочих узлов.
  • Группы безопасности сети ограничивают доступ к общедоступным IP-адресам и разрешают использовать порты 3389 и 22 для доступа к виртуальным машинам, подключенным к подсети Jumpbox.
  • Пиринг между виртуальными сетями подключает виртуальную сеть PhotoScan к виртуальной сети Avere.
  • Хранилище BLOB-объектов Azure выполняет для Avere vFXT функцию основного файлового хранилища для обрабатываемых зафиксированных данных. Avere vFXT находит в BLOB-объекте Azure активные данные и передает их на диски SSD, которые используются для кэширования на вычислительных узлах, пока выполняется задание PhotoScan. Измененные данные асинхронно фиксируются обратно в основном файловом хранилище.
  • Azure Key Vault используется для хранения паролей администратора и кода активации PhotoScan.

Альтернативные варианты

  • Чтобы воспользоваться службами Azure для управления кластером HPC, лучше применить Azure CycleCloud, пакетную службу Azure и другие специальные средства, а не управлять ресурсами с помощью шаблонов или скриптов.
  • В качестве серверного хранилища разверните в Azure параллельную виртуальную файловую систему BeeGFS вместо Avere vFXT. Используйте шаблон BeeGFS для развертывания этого комплексного решения в Azure.
  • Разверните любое решение хранилища, например GlusterFS, Lustre или Windows Storage Spaces Direct. Для этого измените шаблон PhotoScan для работы с нужным решением хранилища.
  • Разверните рабочие узлы с операционной системой Windows вместо Linux, которая используется по умолчанию. При использовании узлов Windows параметры интеграции хранилища не выполняются шаблонами развертывания. Вам придется вручную интегрировать в среду существующее решение хранилища или настроить шаблон PhotoScan для дополнительной автоматизации, как описано в этом репозитории.

Подробности сценария

В этом примере описывается использование программного обеспечения Agisoft PhotoScan для фотограмметрии с подключенным хранилищем Avere vFXT. Мы выбрали PhotoScan как очень популярную платформу для приложений геоинформационных систем (GIS), документации по региональному наследию, разработки игр и производства визуальных эффектов. Она поддерживает фотограмметрию как на близких расстояниях, так и с воздушной съемки.

Описанные в этой статье концепции относятся к любой рабочей нагрузке высокопроизводительных вычислений (HPC), которая использует планировщик и рабочие узлы, управляемые как инфраструктура. Для этой рабочей нагрузки мы выбрали хранилище Avere vFXT, руководствуясь его высокой производительностью по результатам тестов. Но в этом сценарии хранилище отделено от системы обработки, что позволяет применить любое другое решение хранения (см. альтернативные варианты далее в этой статье).

Эта архитектура также содержит контроллеры домена Active Directory, которые управляют доступом к ресурсам Azure и обеспечивают внутреннее разрешение имен через системы доменных имен (DNS). Серверы перехода предоставляют доступ с правами администратора к виртуальным машинам Windows и Linux, на которых выполняется это решение.

Потенциальные варианты использования

Ниже перечислены возможные варианты использования.

  • Моделирование и измерение зданий, инженерных структур, а также сцен преступлений и происшествий.
  • Создание визуальных эффектов для компьютерных игр и фильмов.
  • Использование цифровых изображений для косвенного измерения объектов разных масштабов для планирования городской застройки и других целей.

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Этот сценарий предназначен специально для предоставления высокопроизводительного хранилища для рабочей нагрузки HPC, которая развернута на базе ОС Windows или Linux. В общем случае конфигурация хранилища для рабочей нагрузки HPC должна соответствовать всем рекомендациям, которые применимы для локальных развертываний.

Рекомендации по развертыванию зависят от используемых приложений и служб с учетом описанных далее аспектов.

  • При создании приложений с высокой производительностью используйте хранилище Azure класса Premium и оптимизируйте уровень приложения. Оптимизируйте хранилище для частого доступа с помощью горячего уровня доступа для BLOB-объектов Azure.
  • Используйте для хранилища вариант репликации, который соответствует вашим требованиям к доступности и производительности. В этом примере Avere vFXT настраивается для высокого уровня доступности (вариант по умолчанию) с локально избыточным хранилищем (LRS). Для балансировки нагрузки все виртуальные машины в этой конфигурации обращаются к экспорту vFXT методом циклического перебора.
  • Если серверное хранилище будет использоваться одновременно для клиентов Windows и Linux, используйте серверы Samba для поддержки узлов Windows. В другой версии этого сценария, основанной на BeeGFS, Samba используется для поддержки узла планировщика для рабочей нагрузки HPC (PhotoScan), который работает под управлением Windows. Также развернута подсистема балансировки нагрузки, которая выполняет роль более интеллектуальной замены метода циклического перебора DNS.
  • Запустите приложения HPC, выбрав наиболее подходящий тип виртуальной машины для вашей рабочей нагрузки Windows или Linux.
  • Чтобы отделить рабочую нагрузку HPC от ресурсов хранения, развертывайте их в разных виртуальных сетях и настройте пиринг между виртуальными сетями, чтобы они могли взаимодействовать. Пиринг создает подключение с низкой задержкой и высокой пропускной способностью между ресурсами в разных виртуальных сетях, направляя трафик через магистральную инфраструктуру корпорации Майкрософт и используя только частные IP-адреса.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

Этот пример посвящен развертыванию высокопроизводительного хранилища для рабочей нагрузки HPC и не учитывает многие вопросы безопасности. При внесении любых изменений не забудьте проконсультироваться со специалистами по безопасности.

Чтобы повысить безопасность, в этом примере инфраструктуры все виртуальные машины Windows присоединяются к домену и используют централизованную аутентификацию на основе Active Directory. Также здесь предоставляются настраиваемые службы DNS для всех виртуальных машин. Для защиты среды в этом шаблоне применяются группы безопасности сети. Группы безопасности сети предоставляют базовые фильтры трафика и правила безопасности.

Для улучшения безопасности в этом сценарии попробуйте применить следующие варианты:

  • Используйте виртуальные сетевые модули, например Fortinet, Checkpoint или Juniper.
  • Примените к группам ресурсов управление доступом на основе ролей Azure (Azure RBAC).
  • Включите для виртуальной машины JIT-доступ, если серверы перехода доступны через Интернет.
  • Примените Azure Key Vault для хранения паролей, используемых для учетных записей администраторов.

Оптимизация затрат

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

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

Следующий пример профиля стоимости в калькуляторе цен Azure основан на типичной конфигурации для Avere vFXT и PhotoScan.

  • 1 виртуальная машина A1_v2 c Ubuntu для контроллера Avere.
  • 3 виртуальные машины D16s_v3 с ОС Avere, по одной для каждого узла в кластере Avere vFXT.
  • 5 виртуальных машин NC24_v2 с ОС Linux, которые предоставляют GPU для вычислительных узлов PhotoScan.
  • 1 виртуальная машина D8s_v3 с ОС CentOS для узла планировщика PhotoScan.
  • 1 виртуальная машина DS2_v2 с ОС CentOS в качестве Jumpbox для администратора.
  • 2 виртуальные машины DS2_v2 для контроллеров домена Active Directory.
  • Управляемые диски уровня "Премиум".
  • Хранилище BLOB-объектов общего назначения версии 2 (GPv2) с локально избыточным хранилищем (LRS) и горячим уровнем доступа (только учетные записи хранения GPv2 предоставляют атрибут уровня доступа Access Tier).
  • Виртуальная сеть с поддержкой передачи данных до 10 ТБ.

Следующие шаги

Следующие ресурсы предоставят дополнительные сведения о компонентах для этого сценария и ряд альтернативных подходов к пакетной обработке в Azure.