Édition

Modélisation basée sur des images numériques dans Azure

Stockage Blob Azure
Azure Key Vault
Machines virtuelles Azure

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation et organisez-vous en conséquence. Pour plus d’informations, consultez les conseils d’aide relatifs à la fin de vie de CentOS.

Cet exemple de scénario fournit des conseils sur la conception et l’architecture aux organisations qui veulent effectuer une modélisation basée sur des images sur l’infrastructure IaaS Azure. Le scénario est conçu pour l’exécution de logiciels de photogrammétrie sur Machines virtuelles Azure en utilisant un stockage hautes performances qui accélère le temps de traitement. L’environnement peut faire l’objet d’un scale-up ou d’un scale-down en fonction des besoins et prend en charge plusieurs téraoctets de stockage sans sacrifier les performances.

Architecture

Diagramme montrant une architecture permettant d’effectuer une modélisation basée sur des images sur Azure IaaS.

Téléchargez un fichier Visio de cette architecture.

Workflow

  1. Un utilisateur soumet un certain nombre d’images à PhotoScan.
  2. Le planificateur PhotoScan s’exécute sur une machine virtuelle Windows qui sert de nœud principal et pilote le traitement des images de l’utilisateur.
  3. PhotoScan recherche des points communs sur les photographies et construit la géométrie (maillage) en utilisant les nœuds de traitement PhotoScan qui s’exécutent sur des machines virtuelles avec des GPU (Graphics Processing Unit).
  4. Avere vFXT pour Azure fournit une solution de stockage haute performance sur Azure basée sur NFSv3 et constituée d’au moins quatre machines virtuelles.
  5. PhotoScan effectue le rendu du modèle.

Composants

  • Agisoft PhotoScan : Le planificateur PhotoScan s’exécute sur une machine virtuelle Windows Server 2016 et les nœuds de traitement utilisent cinq machines virtuelles avec des GPU qui exécutent CentOS Linux 7.5.
  • Avere vFXT pour Azure est une solution de mise en cache de fichiers qui utilise le stockage d’objets et un stockage NAS traditionnel pour optimiser le stockage de jeux de données volumineux. Il inclut :
    • Contrôleur Avere. Cette machine virtuelle exécute le script qui installe le cluster Avere vFXT et exécute Ubuntu 18.04 LTS. La machine virtuelle peut être utilisée ultérieurement pour ajouter ou supprimer des nœuds de cluster ainsi que pour détruire le cluster.
    • Cluster vFXT. Au moins trois machines virtuelles sont utilisées, une pour chacun des nœuds Avere vFXT basés sur Avere OS 5.0.2.1. Ces machines virtuelles forment le cluster vFXT, qui est attaché à Stockage Blob Azure.
  • Les contrôleurs de domaine Microsoft Active Directory permettent à l’hôte d’accéder aux ressources du domaine et fournissent la résolution de noms DNS. Avere vFXT ajoute un certain nombre d’enregistrements A : par exemple, chaque enregistrement A dans un cluster vFXT pointe vers l’adresse IP de chaque nœud Avere vFXT. Dans cette configuration, toutes les machines virtuelles utilisent le modèle de tourniquet (round robin) pour accéder aux exportations de vFXT.
  • Les autres machines virtuelles servent d’ordinateurs Jump Box utilisées par l’administrateur pour accéder au nœud du planificateur et aux nœuds de traitement. L’ordinateur Jump Box Windows est obligatoire pour permettre à l’administrateur d’accéder au nœud principal via le protocole RDP. Le deuxième ordinateur Jump Box est facultatif et exécute Linux pour l’administration des nœuds worker.
  • Les groupes de sécurité réseau limitent l’accès à l’adresse IP publique et autorisent les ports 3389 et 22 pour l’accès aux machines virtuelles attachées au sous-réseau Jumpbox.
  • Le peering de réseau virtuel connecte un réseau virtuel PhotoScan à un réseau virtuel Avere.
  • Stockage Blob Azure fonctionne avec Avere vFXT comme serveur de fichiers principal pour stocker les données validées à traiter. Avere vFXT identifie les données actives stockées dans Stockage Blob Azure et les place dans les disques SSD utilisés pour la mise en cache dans ses nœuds de calcul quand un travail PhotoScan s’exécute. Si des modifications sont apportées, les données sont validées de façon asynchrone dans le serveur de fichiers principal.
  • Azure Key Vault est utilisé pour stocker les mots de passe de l’administrateur et le code d’activation de PhotoScan.

Autres solutions

  • Pour tirer parti des services Azure dans la gestion d’un cluster HPC, utilisez des outils comme Azure CycleCloud ou Azure Batch, au lieu de gérer les ressources via des modèles ou des scripts.
  • Déployez le système de fichiers virtuel parallèle BeeGFS comme stockage back-end sur Azure au lieu d’Avere vFXT. Utilisez le modèle BeeGFS pour déployer cette solution de bout en bout sur Azure.
  • Déployez la solution de stockage de votre choix, comme GlusterFS, Lustre ou les espaces de stockage direct de Windows. Pour cela, modifiez le modèle PhotoScan pour qu’il utilise la solution de stockage souhaitée.
  • Déployez les nœuds worker avec le système d’exploitation Windows au lieu de Linux, qui est l’option par défaut. Quand vous utilisez des nœuds Windows, les options d’intégration du stockage ne sont pas exécutées par les modèles de déploiement. Vous devez intégrer manuellement l’environnement à une solution de stockage, ou personnaliser le modèle PhotoScan pour fournir cette automatisation, comme décrit dans le dépôt.

Détails du scénario

Cet exemple décrit l’utilisation du logiciel de photogrammétrie Agisoft PhotoScan avec le stockage Avere vFXT. PhotoScan a été choisi pour sa popularité dans les applications de système d’information géographique, pour la documentation de patrimoine culturel, pour le développement de jeux et pour la production d’effets visuels. Il convient pour la photogrammétrie de proximité et aérienne.

Les concepts de cet article s’appliquent aux charges de travail de computing haute performance (HPC) basées sur un planificateur et aux nœuds worker gérés comme infrastructure. Pour cette charge de travail, Avere vFXT a été sélectionné pour ses performances supérieures lors de tests d’évaluation. Cependant, le scénario découple le stockage du traitement : d’autres solutions de stockage peuvent donc être utilisées (consultez alternatives plus loin dans ce document).

Cette architecture comprend également des contrôleurs de domaine Active Directory pour contrôler l’accès aux ressources Azure et fournir une résolution de noms interne via le DNS (Domain Name System). Des ordinateurs Jump Box fournissent aux administrateurs un accès aux machines virtuelles Windows et Linux qui exécutent la solution.

Cas d’usage potentiels

Les cas d’usage appropriés sont les suivants :

  • Modélisation et mesure de bâtiments, ingénierie des structures et investigation scientifique des lieux d’accident.
  • Création d’effets visuels pour les jeux sur ordinateur et les films.
  • Utilisation d’images numériques pour générer indirectement des mesures d’objets de différentes échelles, comme dans la planification urbaine et d’autres applications.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.

Ce scénario est conçu spécifiquement pour fournir un stockage haute performance pour une charge de travail HPC, qu’elle soit déployée sur Windows ou sur Linux. D’une façon générale, la configuration du stockage de la charge de travail HPC doit correspondre aux bonnes pratiques appropriées utilisées pour les déploiements locaux.

Les considérations relatives au déploiement dépendent des applications et des services utilisés, mais il faut prendre en compte quelques remarques :

  • Lors de la création d’applications haute performance, utilisez Stockage Azure Premium et optimisez la couche Application. Optimisez le stockage pour les accès fréquents en utilisant le niveau d’accès chaud de Stockage Blob Azure.
  • Utilisez une option de réplication du stockage qui répond à vos besoins de disponibilité et de performances. Dans cet exemple, Avere vFXT est configuré par défaut pour la haute disponibilité, avec un stockage localement redondant (LRS). Pour l’équilibrage de charge, toutes les machines virtuelles utilisent le modèle de tourniquet (round robin) pour accéder aux exportations de vFXT.
  • Si le stockage back-end est utilisé à la fois par des clients Windows et des clients Linux, utilisez des serveurs Samba pour prendre en charge les nœuds Windows. Une version de cet exemple de scénario basé sur BeeGFS utilise Samba pour prendre en charge le nœud du planificateur de la charge de travail HPC (PhotoScan) s’exécutant sur Windows. Un équilibreur de charge est déployé pour agir comme remplacement intelligent pour le tourniquet (round robin) DNS.
  • Exécutez les applications HPC en utilisant le type de machine virtuelle le mieux adapté à votre charge de travail Windows ou Linux.
  • Pour isoler la charge de travail HPC des ressources de stockage, déployez chaque ressource dans son propre réseau virtuel, puis utilisez le peering de réseau virtuel pour connecter les deux réseaux. Le peering crée une connexion haut débit à faible latence entre les ressources dans différents réseaux virtuels et route le trafic à travers l’infrastructure principale Microsoft via des adresses IP privées uniquement.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Cet exemple se concentre sur le déploiement d’une solution de stockage haute performance pour une charge de travail HPC et n’est pas une solution de sécurité. Veillez à impliquer votre équipe de sécurité pour les éventuelles modifications.

Pour renforcer la sécurité, cet exemple d’infrastructure permet à toutes les machines virtuelles Windows d’être jointes au domaine et utilise Active Directory pour l’authentification centralisée. Il fournit également des services DNS personnalisés pour toutes les machines virtuelles. Pour aider à protéger l’environnement, ce modèle s’appuie sur des groupes de sécurité réseau. Les groupes de sécurité réseau offrent des filtres de trafic et des règles de sécurité de base.

Considérez les options suivantes pour améliorer la sécurité dans ce scénario :

  • Utilisez des appliances de réseau virtuel, comme Fortinet, Checkpoint et Juniper.
  • Appliquez le contrôle d’accès en fonction du rôle Azure (RBAC Azure) aux groupes de ressources.
  • Activez l’accès JIT aux machines virtuelles si les ordinateurs Jump Box sont accessibles via Internet.
  • Utilisez Azure Key Vault pour stocker les mots de passe utilisés par les comptes d’administrateur.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Le coût d’exécution de ce scénario peut considérablement varier en fonction de plusieurs facteurs. Le nombre et la taille des machines virtuelles, la quantité de stockage nécessaire et le temps nécessaire pour effectuer un travail détermineront le coût.

L’exemple de profil de coûts suivant dans la calculatrice de prix Azure est basé sur une configuration classique pour Avere vFXT et PhotoScan :

  • 1 machine virtuelle Ubuntu A1_v2 pour exécuter le contrôleur Avere.
  • 3 machines virtuelles Avere OS D16s_v3 : une pour chacun des nœuds Avere vFXT qui forment le cluster vFXT.
  • 5 machines virtuelles Linux NC24_v2 pour fournir les GPU nécessaires aux nœuds de traitement PhotoScan.
  • 1 machine virtuelle CentOS D8s_v3 pour le nœud du planificateur PhotoScan.
  • 1 machine virtuelle CentOS DS2_v2 utilisée comme ordinateur Jump Box de l’administrateur.
  • 2 machines virtuelles DS2_v2 pour les contrôleurs de domaine Active Directory.
  • Disques managés Premium.
  • Stockage Blob v2 universel (GPv2) avec LRS et niveau d’accès chaud (seuls les comptes de stockage GPv2 exposent l’attribut Niveau d’accès).
  • Réseau virtuel prenant en charge le transfert de 10 To de données.

Étapes suivantes

Les ressources suivantes fournissent plus d’informations sur les composants utilisés dans ce scénario, ainsi que d’autres approches pour le traitement par lots sur Azure.