Modelowanie na podstawie obrazów cyfrowych na platformie Azure

Azure Blob Storage
Azure Key Vault
Azure Virtual Machines

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Ten przykładowy scenariusz zawiera wskazówki dotyczące architektury i projektowania dla każdej organizacji, która chce wykonywać modelowanie oparte na obrazach w infrastrukturze jako usłudze platformy Azure (IaaS). Scenariusz jest przeznaczony do uruchamiania oprogramowania fotogrammetrii na maszynach wirtualnych platformy Azure przy użyciu magazynu o wysokiej wydajności, który przyspiesza czas przetwarzania. Środowisko można skalować w górę i w dół w razie potrzeby i obsługiwać terabajty magazynu bez poświęcania wydajności.

Architektura

Diagram przedstawiający architekturę do modelowania opartego na obrazach na platformie Azure IaaS.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  1. Użytkownik przesyła kilka obrazów do programu PhotoScan.
  2. Harmonogram PhotoScan działa na maszynie wirtualnej z systemem Windows, która służy jako węzeł główny i kieruje przetwarzanie obrazów użytkownika.
  3. PhotoScan wyszukuje typowe punkty na zdjęciach i konstruuje geometrię (siatkę) przy użyciu węzłów przetwarzania PhotoScan działających na maszynach wirtualnych z jednostkami przetwarzania grafiki (GPU).
  4. System Avere vFXT dla platformy Azure udostępnia rozwiązanie magazynu o wysokiej wydajności na platformie Azure oparte na systemie plików sieciowych w wersji 3 (NFSv3) i składa się z co najmniej czterech maszyn wirtualnych.
  5. Program PhotoScan renderuje model.

Składniki

  • Agisoft PhotoScan: Harmonogram PhotoScan działa na maszynie wirtualnej z systemem Windows 2016 Server, a węzły przetwarzania używają pięciu maszyn wirtualnych z procesorami GPU z systemem CentOS Linux 7.5.
  • Avere vFXT for Azure to rozwiązanie buforowania plików, które używa magazynu obiektów i tradycyjnego magazynu dołączonego do sieci (NAS) w celu zoptymalizowania magazynu dużych zestawów danych. Obejmuje następujące elementy:
    • Kontroler Avere. Ta maszyna wirtualna wykonuje skrypt, który instaluje klaster Avere vFXT i uruchamia system Ubuntu 18.04 LTS. Maszynę wirtualną można później dodawać lub usuwać węzły klastra oraz zniszczyć klaster.
    • Klaster vFXT. Co najmniej trzy maszyny wirtualne są używane, po jednym dla każdego z węzłów Avere vFXT opartych na systemie Avere OS 5.0.2.1. Te maszyny wirtualne tworzą klaster vFXT dołączony do usługi Azure Blob Storage.
  • Kontrolery domeny usługi Microsoft Active Directory umożliwiają dostęp hosta do zasobów domeny i zapewniają rozpoznawanie nazw DNS. System Avere vFXT dodaje kilka rekordów A — na przykład każdy rekord A w klastrze vFXT wskazuje adres IP każdego węzła Avere vFXT. W tej konfiguracji wszystkie maszyny wirtualne używają wzorca działania okrężnego do uzyskiwania dostępu do eksportów vFXT.
  • Inne maszyny wirtualne służą jako pola przesiadkowe używane przez administratora do uzyskiwania dostępu do węzłów harmonogramu i przetwarzania. Serwer przesiadkowy systemu Windows jest obowiązkowy, aby umożliwić administratorowi dostęp do węzła głównego za pośrednictwem protokołu pulpitu zdalnego. Drugi serwer przesiadkowy jest opcjonalny i uruchamia system Linux do administrowania węzłami procesu roboczego.
  • Sieciowe grupy zabezpieczeń ograniczają dostęp do publicznego adresu IP (PIP) i zezwalają na porty 3389 i 22 w celu uzyskania dostępu do maszyn wirtualnych dołączonych do podsieci Jumpbox.
  • Komunikacja równorzędna sieci wirtualnych łączy sieć wirtualną PhotoScan z siecią wirtualną Avere.
  • Usługa Azure Blob Storage współpracuje z rozwiązaniem Avere vFXT jako podstawowym programem filer do przechowywania przetworzonych zatwierdzonych danych. System Avere vFXT identyfikuje aktywne dane przechowywane w usłudze Azure Blob i warstwy na dyski półprzewodnikowe (SSD) używane do buforowania w węzłach obliczeniowych, gdy zadanie PhotoScan jest uruchomione. W przypadku wprowadzania zmian dane są asynchronicznie zatwierdzane z powrotem do podstawowego programu filer.
  • Usługa Azure Key Vault służy do przechowywania haseł administratora i kodu aktywacji PhotoScan.

Alternatywy

  • Aby korzystać z usług platformy Azure do zarządzania klastrem HPC, użyj narzędzi, takich jak Azure CycleCloud lub Azure Batch, zamiast zarządzać zasobami za pośrednictwem szablonów lub skryptów.
  • Wdróż równoległy wirtualny system plików BeeGFS jako magazyn zaplecza na platformie Azure zamiast Avere vFXT. Użyj szablonu BeeGFS, aby wdrożyć to kompleksowe rozwiązanie na platformie Azure.
  • Wdróż wybrane rozwiązanie magazynu, takie jak GlusterFS, Lustre lub Windows Miejsca do magazynowania Direct. W tym celu zmodyfikuj szablon PhotoScan, aby pracować z żądanym rozwiązaniem magazynu.
  • Wdróż węzły robocze przy użyciu systemu operacyjnego Windows zamiast systemu Linux— opcja domyślna. W przypadku korzystania z węzłów systemu Windows opcje integracji magazynu nie są wykonywane przez szablony wdrażania. Musisz ręcznie zintegrować środowisko z istniejącym rozwiązaniem magazynu lub dostosować szablon PhotoScan, aby zapewnić taką automatyzację, jak opisano w repozytorium.

Szczegóły scenariusza

W tym przykładzie opisano użycie oprogramowania fotogrammetrii Agisoft PhotoScan wspieranego przez magazyn Avere vFXT. PhotoScan został wybrany na swoją popularność w aplikacjach systemu informacji geograficznych (GIS), dokumentacji dziedzictwa kulturowego, rozwoju gier i produkcji efektów wizualnych. Nadaje się zarówno do fotogrammetrii bliskiego zasięgu, jak i fotogramów lotniczych.

Pojęcia zawarte w tym artykule dotyczą dowolnego obciążenia obliczeń o wysokiej wydajności (HPC) opartego na harmonogramie i węzłach roboczych zarządzanych jako infrastruktura. W przypadku tego obciążenia system Avere vFXT został wybrany pod kątem najwyższej wydajności podczas testów porównawczych. Jednak scenariusz rozdziela magazyn z przetwarzania, aby można było użyć innych rozwiązań magazynu (zobacz alternatywy w dalszej części tego dokumentu).

Ta architektura obejmuje również kontrolery domeny usługi Active Directory w celu kontrolowania dostępu do zasobów platformy Azure i zapewniania wewnętrznego rozpoznawania nazw za pośrednictwem systemu nazw domen (DNS). Pola przesiadkowe zapewniają administratorom dostęp do maszyn wirtualnych z systemami Windows i Linux, na których działa rozwiązanie.

Potencjalne przypadki użycia

Odpowiednie przypadki użycia obejmują:

  • Modelowanie i pomiar budynków, struktur inżynieryjnych i scen wypadku kryminalistycznego.
  • Tworzenie efektów wizualnych dla gier komputerowych i filmów.
  • Używanie obrazów cyfrowych do pośrednio generowania pomiarów obiektów o różnych skalach, jak w planowaniu miejskim i innych aplikacjach.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Ten scenariusz został zaprojektowany specjalnie w celu zapewnienia magazynu o wysokiej wydajności dla obciążenia HPC, niezależnie od tego, czy jest wdrażany w systemie Windows, czy Linux. Ogólnie rzecz biorąc, konfiguracja magazynu obciążenia HPC powinna być zgodna z odpowiednimi najlepszymi rozwiązaniami używanymi w przypadku wdrożeń lokalnych.

Zagadnienia dotyczące wdrażania zależą od używanych aplikacji i usług, ale mają zastosowanie kilka uwag:

  • Podczas tworzenia aplikacji o wysokiej wydajności użyj usługi Azure Premium Storage i zoptymalizuj warstwę aplikacji. Zoptymalizuj magazyn pod kątem częstego dostępu przy użyciu dostępu do warstwy Gorąca usługi Azure Blob.
  • Użyj opcji replikacji magazynu spełniającej wymagania dotyczące dostępności i wydajności. W tym przykładzie system Avere vFXT jest domyślnie skonfigurowany pod kątem wysokiej dostępności z magazynem lokalnie nadmiarowym (LRS). W przypadku równoważenia obciążenia wszystkie maszyny wirtualne w tej konfiguracji używają wzorca działania okrężnego do uzyskiwania dostępu do eksportów vFXT.
  • Jeśli magazyn zaplecza będzie używany przez klientów systemu Windows i klientów z systemem Linux, użyj serwerów Samba do obsługi węzłów systemu Windows. Wersja tego przykładowego scenariusza opartego na systemie BeeGFS używa biblioteki Samba do obsługi węzła harmonogramu obciążenia HPC (PhotoScan) działającego w systemie Windows. Moduł równoważenia obciążenia jest wdrażany w taki sposób, aby działał jak inteligentne zastąpienie działania okrężnego DNS.
  • Uruchamianie aplikacji HPC przy użyciu typu maszyny wirtualnej najlepiej dopasowanego do obciążenia systemu Windows lub Linux .
  • Aby odizolować obciążenie HPC od zasobów magazynu, wdróż je we własnej sieci wirtualnej, a następnie użyj komunikacji równorzędnej sieci wirtualnych, aby nawiązać połączenie z nimi. Komunikacja równorzędna tworzy połączenie o małym opóźnieniu i wysokiej przepustowości między zasobami w różnych sieciach wirtualnych i kieruje ruch przez infrastrukturę szkieletową firmy Microsoft tylko za pośrednictwem prywatnych adresów IP.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Ten przykład koncentruje się na wdrażaniu rozwiązania magazynu o wysokiej wydajności dla obciążenia HPC i nie jest rozwiązaniem zabezpieczeń. Upewnij się, że we wszystkich zmianach skontaktuj się z zespołem ds. zabezpieczeń.

W przypadku dodanych zabezpieczeń ta przykładowa infrastruktura umożliwia dołączanie wszystkich maszyn wirtualnych z systemem Windows i korzystanie z usługi Active Directory do uwierzytelniania centralnego. Udostępnia również niestandardowe usługi DNS dla wszystkich maszyn wirtualnych. Aby ułatwić ochronę środowiska, ten szablon opiera się na sieciowych grupach zabezpieczeń. Sieciowa grupa zabezpieczeń oferuje podstawowe filtry ruchu i reguły zabezpieczeń.

Rozważ następujące opcje, aby jeszcze bardziej zwiększyć bezpieczeństwo w tym scenariuszu:

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Koszt działania tego scenariusza może się znacznie różnić w zależności od wielu czynników. Liczba i rozmiar maszyn wirtualnych, ilość wymaganego miejsca do magazynowania i czas wykonania zadania określi koszt.

Poniższy przykładowy profil kosztów w kalkulatorze cen platformy Azure jest oparty na typowej konfiguracji oprogramowania Avere vFXT i PhotoScan:

  • 1 A1_v2 maszynę wirtualną z systemem Ubuntu, aby uruchomić kontroler Avere.
  • 3 D16s_v3 maszyn wirtualnych systemu operacyjnego Avere, po jednym dla każdego z węzłów Avere vFXT tworzących klaster vFXT.
  • 5 NC24_v2 maszyn wirtualnych z systemem Linux w celu zapewnienia procesorów GPU wymaganych przez węzły przetwarzania PhotoScan.
  • 1 D8s_v3 centOS maszyny wirtualnej dla węzła harmonogramu PhotoScan.
  • 1 DS2_v2 CentOS używane jako serwer przesiadkowy administratora.
  • 2 DS2_v2 maszyny wirtualne dla kontrolerów domeny usługi Active Directory.
  • Dyski zarządzane w warstwie Premium.
  • Magazyn obiektów blob ogólnego przeznaczenia w wersji 2 (GPv2) z dostępem LRS i warstwą gorącą (tylko konta magazynu GPv2 uwidaczniają atrybut warstwa dostępu).
  • Sieć wirtualna z obsługą transferu danych o pojemności 10 TB.

Następne kroki

Poniższe zasoby zawierają więcej informacji na temat składników używanych w tym scenariuszu wraz z alternatywnymi metodami przetwarzania wsadowego na platformie Azure.