Komputerowo wspomagane prace inżynierskie

Azure Application Gateway
Azure Blob Storage
Azure Kubernetes Service (AKS)
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.

W tym przykładowym scenariuszu przedstawiono dostarczanie platformy SaaS (software-as-a-service) opartej na możliwościach obliczeń o wysokiej wydajności (HPC) platformy Azure. Ten scenariusz jest oparty na rozwiązaniu inżynieryjnym oprogramowania. Jednak architektura jest odpowiednia dla innych branż wymagających zasobów HPC, takich jak renderowanie obrazów, złożone modelowanie i obliczanie ryzyka finansowego.

Architektura

Architektura rozwiązania SaaS umożliwiająca korzystanie z funkcji HPC.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  • Użytkownicy mogą uzyskiwać dostęp do maszyn wirtualnych serii NV za pośrednictwem przeglądarki z połączeniem RDP opartym na języku HTML5 przy użyciu usługi Apache Guacamole. Te wystąpienia maszyn wirtualnych zapewniają zaawansowane procesory GPU do renderowania i zadań współpracy. Użytkownicy mogą edytować swoje projekty i wyświetlać wyniki bez konieczności uzyskiwania dostępu do wysokiej klasy urządzeń przenośnych lub laptopów. Harmonogram uruchamia dodatkowe maszyny wirtualne na podstawie heurystyki zdefiniowanej przez użytkownika.
  • W sesji programu CAD na pulpicie użytkownicy mogą przesyłać obciążenia do wykonania w dostępnych węzłach klastra HPC. Te obciążenia wykonują zadania, takie jak analiza obciążenia lub obliczenia dynamiki płynów obliczeniowych, eliminując potrzebę dedykowanych lokalnych klastrów obliczeniowych. Te węzły klastra można skonfigurować do automatycznego skalowania na podstawie obciążenia lub głębokości kolejki na podstawie aktywnego zapotrzebowania użytkownika na zasoby obliczeniowe.
  • Usługa Azure Kubernetes Service (AKS) służy do hostowania zasobów internetowych dostępnych dla użytkowników końcowych.

Składniki

  • Maszyny wirtualne serii H służą do uruchamiania symulacji intensywnie korzystających z obliczeń, takich jak modelowanie molekularne i dynamika płynów obliczeniowych. Rozwiązanie korzysta również z technologii, takich jak łączność z zdalnym bezpośrednim dostępem do pamięci (RDMA) i sieć InfiniBand.
  • Maszyny wirtualne serii NV zapewniają inżynierom wysokiej klasy funkcje stacji roboczej ze standardowej przeglądarki internetowej. Te maszyny wirtualne mają procesory GPU NVIDIA Tesla M60, które obsługują zaawansowane renderowanie i mogą uruchamiać obciążenia o pojedynczej precyzji.
  • Maszyny wirtualne ogólnego przeznaczenia z systemem CentOS obsługują bardziej tradycyjne obciążenia, takie jak aplikacje internetowe.
  • Usługa Application Gateway równoważy obciążenie żądań przychodzących do serwerów internetowych.
  • Usługa Azure Kubernetes Service (AKS) służy do uruchamiania skalowalnych obciążeń przy niższych kosztach symulacji, które nie wymagają zaawansowanych możliwości maszyn wirtualnych HPC lub GPU.
  • Altair PBS Works Suite organizuje przepływ pracy HPC, zapewniając, że wystarczające wystąpienia maszyn wirtualnych są dostępne do obsługi bieżącego obciążenia. Cofa również przydział maszyn wirtualnych, gdy zapotrzebowanie jest niższe, aby zmniejszyć koszty.
  • Usługa Blob Storage przechowuje pliki obsługujące zaplanowane zadania.

Alternatywy

  • Usługa Azure CycleCloud upraszcza tworzenie i optymalizowanie klastrów HPC oraz zarządzanie nimi. Oferuje zaawansowane funkcje zasad i ładu. Usługa CycleCloud obsługuje dowolny harmonogram zadań lub stos oprogramowania.
  • Pakiet HPC Pack umożliwia tworzenie klastra HPC platformy Azure i zarządzanie nim na potrzeby obciążeń opartych na systemie Windows Server. Pakiet HPC Pack nie jest opcją dla obciążeń opartych na systemie Linux.
  • Usługa Azure Automation State Configuration zapewnia podejście infrastruktury jako kodu do definiowania maszyn wirtualnych i oprogramowania do wdrożenia. Maszyny wirtualne można wdrożyć w ramach zestawu skalowania maszyn wirtualnych z regułami skalowania automatycznego dla węzłów obliczeniowych na podstawie liczby zadań przesłanych do kolejki zadań. Gdy potrzebna jest nowa maszyna wirtualna, jest ona aprowizowana przy użyciu najnowszego poprawionego obrazu z galerii obrazów platformy Azure, a następnie wymaganego oprogramowania jest instalowane i konfigurowane za pomocą skryptu konfiguracji DSC programu PowerShell.
  • Azure Functions

Szczegóły scenariusza

W tym przykładzie pokazano dostawcę oprogramowania inżynieryjnego, który dostarcza aplikacje inżynieryjne wspomagane komputerowo (CAE) firmom inżynieryjnym i przedsiębiorstwom produkcyjnym. Rozwiązania CAE umożliwiają innowacje, skracają czas opracowywania i obniżają koszty w całym okresie projektowania produktu. Te rozwiązania wymagają znacznych zasobów obliczeniowych i często przetwarzają duże ilości danych. Wysokie koszty lokalnego urządzenia HPC lub stacji roboczych wysokiej klasy często stawiają te technologie poza zasięgiem małych firm inżynieryjnych, przedsiębiorców i studentów.

Firma chce rozszerzyć rynek swoich aplikacji, tworząc platformę SaaS wspieraną przez technologie HPC oparte na chmurze. Ich klienci powinni być w stanie płacić za zasoby obliczeniowe w razie potrzeby i uzyskiwać dostęp do ogromnej mocy obliczeniowej, która byłaby nieprzygotowalna w przeciwnym razie.

Cele firmy obejmują:

  • Korzystanie z funkcji HPC na platformie Azure w celu przyspieszenia procesu projektowania i testowania produktu.
  • Korzystanie z najnowszych innowacji sprzętowych do uruchamiania złożonych symulacji przy jednoczesnym zminimalizowaniu kosztów prostszych symulacji.
  • Włączenie wizualizacji true-to-life i renderowanie w przeglądarce internetowej bez konieczności posiadania wysokiej klasy stacji roboczej inżynieryjnej.

Potencjalne przypadki użycia

Ten scenariusz dotyczy mediów, finansów, produkcji, edukacji, energii i przemysłu środowiskowego. Inne istotne przypadki użycia to:

  • Badania z zakresu genomiki
  • Symulacja pogody
  • Aplikacje chemii obliczeniowej

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.

  • Podczas korzystania z podejścia infrastruktury jako kodu jest doskonałym sposobem zarządzania definicjami kompilacji maszyny wirtualnej, aprowizowania nowej maszyny wirtualnej przy użyciu skryptu może upłynąć dużo czasu. To rozwiązanie znalazło dobry środek, używając skryptu DSC do okresowego tworzenia złotego obrazu, który następnie może służyć do aprowizacji nowej maszyny wirtualnej szybciej niż całkowite kompilowanie maszyny wirtualnej na żądanie przy użyciu rozszerzenia DSC. Usługi Azure DevOps Services lub inne narzędzia ciągłej integracji/ciągłego wdrażania mogą okresowo odświeżać złote obrazy przy użyciu skryptów DSC.
  • Równoważenie ogólnych kosztów rozwiązania z szybką dostępnością zasobów obliczeniowych jest kluczowym czynnikiem. Aprowizowanie puli wystąpień maszyn wirtualnych serii N i umieszczenie ich w stanie cofnięcia przydziału obniża koszty operacyjne. Gdy wymagana jest dodatkowa maszyna wirtualna, przeniesienie istniejącego wystąpienia spowoduje włączenie maszyny wirtualnej na innym hoście, ale czas wykrywania magistrali PCI wymagany przez system operacyjny do identyfikowania i instalowania sterowników procesora GPU jest wyeliminowany, ponieważ maszyna wirtualna, która została anulowana, a następnie ponownie aprowizowana zachowa tę samą magistralę PCI dla procesora GPU po ponownym uruchomieniu.
  • Oryginalna architektura polegała całkowicie na maszynach wirtualnych platformy Azure na potrzeby uruchamiania symulacji. Aby zmniejszyć koszty obciążeń, które nie wymagały wszystkich możliwości maszyny wirtualnej, te obciążenia zostały konteneryzowane i wdrożone w usłudze Azure Kubernetes Service (AKS).
  • Pracownicy firmy mieli istniejące umiejętności w technologiach open source. Mogą wykorzystać te umiejętności, tworząc technologie takie jak Linux i Kubernetes.

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.

Aby ułatwić zapoznanie się z kosztem działania tego scenariusza, wiele wymaganych usług jest wstępnie skonfigurowanych w przykładzie kalkulatora kosztów. Koszty rozwiązania zależą od liczby i skali usług wymaganych do spełnienia wymagań.

Następujące zagadnienia będą dotyczyć znacznej części kosztów tego rozwiązania:

  • Koszty maszyny wirtualnej platformy Azure zwiększają się liniowo w miarę aprowizowania dodatkowych wystąpień. Maszyny wirtualne, które są cofnięto przydział, będą ponosić tylko koszty magazynowania, a nie koszty obliczeń. Te cofnięto przydział maszyny można następnie przydzielić, gdy zapotrzebowanie jest wysokie.
  • Koszty usług Azure Kubernetes Services są oparte na typie maszyny wirtualnej wybranej do obsługi obciążenia. Koszty wzrosną liniowo na podstawie liczby maszyn wirtualnych w klastrze.

Następne kroki

  • Przeczytaj historię klienta Altair. Ten przykładowy scenariusz jest oparty na wersji architektury.
  • Przejrzyj inne rozwiązania big compute dostępne na platformie Azure.