Modellazione basata su immagini digitali in Azure

Archiviazione BLOB di Azure
Insieme di credenziali chiave di Azure
Macchine virtuali di Azure

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questo scenario di esempio fornisce indicazioni relative ad architettura e progettazione per le organizzazioni che vogliono eseguire la modellazione basata su immagini nell'infrastruttura distribuita come servizio (IaaS) di Azure. Lo scenario è progettato per eseguire software di fotogrammetria su macchine virtuali di Azure usando una soluzione di archiviazione con prestazioni elevate che accelera i tempi di elaborazione. L'ambiente può essere ridimensionato secondo necessità e supporta diversi terabyte di spazio di archiviazione senza compromettere le prestazioni.

Architettura

Diagramma che mostra un'architettura per l'esecuzione di modellazione basata su immagini in Azure IaaS.

Scaricare un file di Visio di questa architettura.

Workflow

  1. L'utente invia diverse immagini a PhotoScan.
  2. L'utilità di pianificazione di PhotoScan viene eseguita in una macchina virtuale Windows che funge da nodo head e gestisce l'elaborazione delle immagini dell'utente.
  3. PhotoScan cerca punti comuni sulle fotografie e crea la geometria (mesh) usando i nodi di elaborazione di PhotoScan in esecuzione sulle macchine virtuali con unità di elaborazione grafica (GPU).
  4. Avere vFXT per Azure offre una soluzione di archiviazione ad alte prestazioni in Azure basata su Network File System versione 3 (NFSv3) e costituita da almeno quattro macchine virtuali.
  5. PhotoScan esegue il rendering del modello.

Componenti

  • Agisoft PhotoScan: l'utilità di pianificazione di PhotoScan viene eseguita in una macchina virtuale Windows 2016 Server e i nodi di elaborazione usano cinque macchine virtuali con GPU basate su CentOS Linux 7.5.
  • Avere vFXT per Azure è una soluzione di memorizzazione nella cache dei file che usa l'archiviazione oggetti e l'archiviazione tradizionale collegata alla rete (NAS) per ottimizzare l'archiviazione di set di dati di grandi dimensioni. Include:
    • Controller Avere. Questa macchina virtuale esegue lo script che installa il cluster Avere vFXT ed esegue Ubuntu 18.04 LTS. La macchina virtuale può essere usata in seguito per aggiungere o rimuovere nodi di cluster, oltre che per eliminare definitivamente il cluster.
    • Cluster vFXT. Vengono usate almeno tre macchine virtuali, una per ogni nodo di Avere vFXT basato su sistema operativo Avere 5.0.2.1. Queste macchine virtuali costituiscono il cluster vFXT, che è collegato ad archiviazione BLOB di Azure.
  • I controller di dominio Microsoft Active Directory consentono all'host di accedere alle risorse del dominio e forniscono la risoluzione dei nomi DNS. Avere vFXT aggiunge diversi record A, ad esempio ogni record A in un cluster vFXT punta all'indirizzo IP di ogni nodo di Avere vFXT. In questa configurazione tutte le macchine virtuali usano il criterio round robin per accedere alle esportazioni di vFXT.
  • Le altre macchine virtuali servono da jumpbox usati dall'amministratore per accedere all'utilità di pianificazione e ai nodi di elaborazione. Il jumpbox Windows è obbligatorio per consentire all'amministratore di accedere al nodo head tramite Remote Desktop Protocol. Il secondo jumpbox è facoltativo ed esegue Linux per l'amministrazione dei nodi di lavoro.
  • I gruppi di sicurezza di rete limitano l'accesso all'indirizzo IP pubblico e rendono disponibili le porte 3389 e 22 per l'accesso alle macchine virtuali collegate alla subnet di jumpbox.
  • Il peering di rete virtuale connette una rete virtuale PhotoScan a una rete virtuale Avere.
  • Archiviazione BLOB di Azure insieme ad Avere vFXT funge da core filer per archiviare i dati di cui è stato eseguito il commit da elaborare. Avere vFXT identifica i dati attivi archiviati in BLOB di Azure e li dispone in livelli nelle unità SSD usate per la memorizzazione nella cache nei relativi nodi di calcolo durante l'esecuzione di un processo di PhotoScan. Se vengono apportate modifiche, viene eseguito il commit dei dati in modo asincrono nel core filer.
  • Azure Key Vault si usa per archiviare le password dell'amministratore e il codice di attivazione di PhotoScan.

Alternative

  • Per sfruttare i servizi di Azure per la gestione di un cluster HPC, usare strumenti come Azure CycleCloud o Azure Batch invece di gestire le risorse tramite modelli o script.
  • Distribuire il file system virtuale parallelo BeeGFS come sistema di archiviazione back-end in Azure invece di Avere vFXT. Usare il modello BeeGFS per distribuire questa soluzione end-to-end in Azure.
  • Distribuire una soluzione di archiviazione a scelta, ad esempio GlusterFS, Lustre o Spazi di archiviazione diretta di Windows. A questo scopo, modificare il modello di PhotoScan in modo che sia compatibile con la soluzione di archiviazione scelta.
  • Distribuire i nodi di lavoro con il sistema operativo Windows invece di Linux, che è l'opzione predefinita. Quando si usano nodi Windows, le opzioni di integrazione dell'archiviazione non vengono eseguite dai modelli di distribuzione. È necessario integrare manualmente l'ambiente con una soluzione di archiviazione esistente oppure personalizzare il modello di PhotoScan in modo che fornisca tale automazione, come descritto nel repository.

Dettagli dello scenario

Questo esempio descrive l'uso del software di fotogrammetria Agisoft PhotoScan supportato dalla soluzione di archiviazione Avere vFXT. Il software PhotoScan è stato scelto per la sua ampia diffusione in applicazioni GIS (Geographic Information System), documentazione del patrimonio culturale, sviluppo di giochi e produzione di effetti visivi. È indicato sia per la fotogrammetria a corto raggio che per quella aerea.

I concetti di questo articolo si applicano a qualsiasi carico di lavoro HPC (High Performance Computing) basato su un'utilità di pianificazione e su nodi di lavoro gestiti come un'infrastruttura. Per questo carico di lavoro, è stata scelta la soluzione Avere vFXT per le prestazioni superiori dimostrate durante i test di benchmark. Tuttavia, lo scenario separa l'archiviazione dall'elaborazione, quindi è possibile usare altre soluzioni di archiviazione (vedere le alternative più avanti in questo documento).

Questa architettura include anche controller di dominio Active Directory per controllare l'accesso alle risorse di Azure e fornire la risoluzione dei nomi interna tramite DNS (Domain Name System). I jumpbox forniscono agli amministratori l'accesso alle macchine virtuali Windows e Linux che eseguono la soluzione.

Potenziali casi d'uso

I casi d'uso pertinenti includono:

  • Modellazione e misurazione di edifici, strutture ingegneristiche e scene di incidenti forensi.
  • Creazione di effetti visivi per videogiochi e film.
  • Uso di immagini digitali per generare indirettamente le misurazioni di oggetti di varie scale, ad esempio nella pianificazione urbanistica e in altre applicazioni.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Questo scenario è progettato specificamente per fornire una risorsa di archiviazione con prestazioni elevate per un carico di lavoro HPC, sia che venga distribuito in Windows o in Linux. In generale, la configurazione dell'archiviazione del carico di lavoro HPC deve corrispondere alle procedure consigliate appropriate usate per le distribuzioni locali.

Le considerazioni sulla distribuzione dipendono dalle applicazioni e dai servizi usati, ma tenere presente quanto segue:

  • Per lo sviluppo di applicazioni con prestazioni elevate, usare Archiviazione Premium di Azure e ottimizzare il livello dell'applicazione. Ottimizzare l'archiviazione per l'accesso frequente usando il livello di accesso frequente di BLOB di Azure.
  • Usare un'opzione di replica dell'archiviazione che soddisfi specifici requisiti di disponibilità e prestazioni. In questo esempio la soluzione Avere vFXT è configurata per la disponibilità elevata per impostazione predefinita, con archiviazione con ridondanza locale. Per il bilanciamento del carico, tutte le macchine virtuali di questa configurazione usano il criterio round robin per accedere alle esportazioni di vFXT.
  • Se il sistema di archiviazione back-end verrà usato sia da client Windows che da client Linux, usare server Samba per supportare i nodi di Windows. Una versione di questo scenario di esempio basata su BeeGFS usa Samba per supportare il nodo dell'utilità di pianificazione del carico di lavoro HPC (PhotoScan) in esecuzione in Windows. Viene distribuito un servizio di bilanciamento del carico che funge da sostituto intelligente del round robin DNS.
  • Eseguire le applicazioni HPC usando il tipo di macchina virtuale maggiormente indicato per lo specifico carico di lavoro di Windows o di Linux.
  • Per isolare il carico di lavoro HPC dalle risorse di archiviazione, distribuirli in due apposite reti virtuali, quindi usare il peering di rete virtuale per connetterle. Il peering crea una connessione a bassa latenza e ad ampia larghezza di banda tra le risorse di reti virtuali diverse e instrada il traffico attraverso l'infrastruttura backbone Microsoft solo tramite indirizzi IP privati.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Questo esempio è incentrato sulla distribuzione di una soluzione di archiviazione con prestazioni elevate per un carico di lavoro HPC e non si tratta di una soluzione di sicurezza. Assicurarsi di coinvolgere il proprio team di sicurezza per eventuali modifiche.

Per una maggiore sicurezza, questa infrastruttura di esempio consente l'aggiunta al dominio di tutte le macchine virtuali Windows e usa Active Directory per l'autenticazione centrale. Prevede inoltre servizi DNS personalizzati per tutte le macchine virtuali. Per proteggere l'ambiente, questo modello si basa su gruppi di sicurezza di rete, che offrono filtri di traffico di base e regole di sicurezza.

Valutare le opzioni seguenti per migliorare ulteriormente la sicurezza in questo scenario:

  • Usare appliance virtuali di rete come Fortinet, Checkpoint e Juniper.
  • Applicare il Controllo degli accessi in base al ruolo di Azure ai gruppi di risorse.
  • Abilitare l'accesso JIT delle macchine virtuali se l'accesso ai jumpbox avviene tramite Internet.
  • Usare Azure Key Vault per archiviare le password degli account di amministratore.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Il costo dell'esecuzione di questo scenario può variare enormemente in base a molteplici fattori. Il numero e le dimensioni delle macchine virtuali, la quantità necessaria di spazio di archiviazione e il tempo richiesto per completare un processo determineranno il costo finale.

Il profilo di costo dell'esempio seguente nel calcolatore dei prezzi di Azure si basa su una tipica configurazione di Avere vFXT e PhotoScan:

  • 1 macchina virtuale Ubuntu A1_v2 per eseguire il controller Avere.
  • 3 macchine virtuali con sistema operativo Avere D16s_v3, una per ciascuno dei nodi di Avere vFXT che costituiscono il cluster vFXT.
  • 5 macchine virtuali Linux NC24_v2 per fornire le GPU necessarie per i nodi di elaborazione di PhotoScan.
  • 1 macchina virtuale CentOS D8s_v3 per il nodo dell'utilità di pianificazione di PhotoScan.
  • 1 dispositivo CentOS DS2_v2 usato come jumpbox di amministratore.
  • 2 macchine virtuali DS2_v2 per i controller di dominio Active Directory.
  • Dischi gestiti Premium.
  • Archiviazione BLOB per utilizzo generico v2 (GPv2) con archiviazione con ridondanza locale e livello di accesso frequente (solo gli account di archiviazione GPv2 espongono l'attributo del livello di accesso).
  • Rete virtuale con supporto per il trasferimento di 10 TB di dati.

Passaggi successivi

Le risorse seguenti includono altre informazioni sui componenti usati in questo scenario, oltra ad approcci alternativi per il batch computing in Azure.