Computer-aided engineering

Azure Application Gateway
Azure Blob Storage
Azure Kubernetes Service (AKS)
Azure Virtual Machines

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

In dit voorbeeldscenario ziet u de levering van een SaaS-platform (Software as a Service) dat is gebouwd op de HPC-mogelijkheden (High Performance Computing) van Azure. Dit scenario is gebaseerd op een technische softwareoplossing. De architectuur is echter relevant voor andere branches waarvoor HPC-resources nodig zijn, zoals beeldweergave, complexe modellering en berekening van financiële risico's.

Architectuur

Architectuur voor een SaaS-oplossing die HPC-mogelijkheden mogelijk maakt.

Een Visio-bestand van deze architectuur downloaden.

Workflow

  • Gebruikers hebben toegang tot virtuele machines (VM's) uit de NV-serie via een browser met een OP HTML5 gebaseerde RDP-verbinding met behulp van de Apache Guacamole-service. Deze VM-exemplaren bieden krachtige GPU's voor het genereren en samenwerken van taken. Gebruikers kunnen hun ontwerpen bewerken en hun resultaten bekijken zonder dat ze toegang nodig hebben tot geavanceerde mobiele computingapparaten of laptops. De scheduler draait extra VM's op basis van door de gebruiker gedefinieerde heuristieken.
  • Vanuit een CAD-bureaubladsessie kunnen gebruikers workloads indienen voor uitvoering op beschikbare HPC-clusterknooppunten. Deze workloads voeren taken uit, zoals stressanalyses of berekeningen van rekenkundige vloeistofdynamiek, waardoor er geen toegewezen on-premises rekenclusters meer nodig zijn. Deze clusterknooppunten kunnen worden geconfigureerd voor automatisch schalen op basis van belastings- of wachtrijdiepte op basis van de actieve gebruikersvraag voor rekenresources.
  • Azure Kubernetes Service (AKS) wordt gebruikt om de webresources te hosten die beschikbaar zijn voor eindgebruikers.

Onderdelen

  • Virtuele machines uit de H-serie worden gebruikt voor het uitvoeren van rekenintensieve simulaties, zoals moleculaire modellering en rekenkundige vloeistofdynamiek. De oplossing maakt ook gebruik van technologieën zoals RDMA-connectiviteit (Remote Direct Memory Access) en InfiniBand-netwerken.
  • Virtuele machines uit de NV-serie bieden technici hoogwaardige werkstationfunctionaliteit vanuit een standaardwebbrowser. Deze virtuele machines hebben NVIDIA Tesla M60 GPU's die ondersteuning bieden voor geavanceerde rendering en die enkele precisieworkloads kunnen uitvoeren.
  • Virtuele machines voor algemeen gebruik waarop CentOS wordt uitgevoerd, verwerken traditionelere workloads, zoals webtoepassingen.
  • Application Gateway verdeelt de aanvragen die naar de webservers worden verzonden.
  • Azure Kubernetes Service (AKS) wordt gebruikt om schaalbare workloads uit te voeren tegen lagere kosten voor simulaties waarvoor geen geavanceerde mogelijkheden van HPC- of GPU-VM's nodig zijn.
  • Altair PBS Works Suite organiseert de HPC-werkstroom, zodat er voldoende exemplaren van virtuele machines beschikbaar zijn om de huidige belasting te verwerken. De toewijzing van virtuele machines wordt ook ongedaan gemaakt wanneer de vraag lager is om de kosten te verlagen.
  • In Blob Storage worden bestanden opgeslagen die ondersteuning bieden voor de geplande taken.

Alternatieven

  • Azure CycleCloud vereenvoudigt het maken, beheren, gebruiken en optimaliseren van HPC-clusters. Het biedt geavanceerde beleids- en governancefuncties. CycleCloud ondersteunt elke jobplanner of softwarestack.
  • HPC Pack kan een Azure HPC-cluster maken en beheren voor op Windows Server gebaseerde workloads. HPC Pack is geen optie voor linux-workloads.
  • Azure Automation State Configuration biedt een benadering van infrastructuur als code voor het definiëren van de virtuele machines en software die moeten worden geïmplementeerd. Virtuele machines kunnen worden geïmplementeerd als onderdeel van een virtuele-machineschaalset, met regels voor automatisch schalen voor rekenknooppunten op basis van het aantal taken dat is verzonden naar de taakwachtrij. Wanneer een nieuwe virtuele machine nodig is, wordt deze ingericht met behulp van de meest recente patch-installatiekopieën uit de Azure-installatiekopieëngalerie. Vervolgens wordt de vereiste software geïnstalleerd en geconfigureerd via een PowerShell DSC-configuratiescript.
  • Azure Functions

Scenariodetails

In dit voorbeeld ziet u een softwareprovider voor engineering die CAE-toepassingen (computer-aided engineering) levert aan technische bedrijven en productiebedrijven. CAE-oplossingen maken innovatie mogelijk, verminderen ontwikkeltijden en lagere kosten gedurende de hele levensduur van het ontwerp van een product. Deze oplossingen vereisen aanzienlijke rekenresources en verwerken vaak grote gegevensvolumes. De hoge kosten van een on-premises HPC-apparaat of high-end werkstations brengen deze technologieën vaak buiten bereik voor kleine technische bedrijven, ondernemers en studenten.

Het bedrijf wil de markt voor haar toepassingen uitbreiden door een SaaS-platform te bouwen dat wordt ondersteund door HPC-technologieën in de cloud. Hun klanten moeten waar nodig kunnen betalen voor rekenresources en toegang hebben tot enorme rekenkracht die anders onbetaalbaar zou zijn.

De doelstellingen van het bedrijf zijn onder andere:

  • Profiteren van HPC-mogelijkheden in Azure om het ontwerp- en testproces van het product te versnellen.
  • Gebruik de nieuwste hardware-innovaties om complexe simulaties uit te voeren, terwijl de kosten voor eenvoudigere simulaties worden geminimaliseerd.
  • Visualisatie en rendering in een webbrowser mogelijk maken zonder dat hiervoor een high-end technisch werkstation nodig is.

Potentiële gebruikscases

Dit scenario heeft betrekking op de media-, financiële, productie-, onderwijs-, energie- en milieuindustrieën. Andere relevante use cases zijn:

  • Genomicaonderzoek
  • Weersimulatie
  • Toepassingen voor rekenkundige chemie

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

  • Hoewel het gebruik van een benadering voor infrastructuur als code een uitstekende manier is om builddefinities van virtuele machines te beheren, kan het lang duren voordat een nieuwe virtuele machine wordt ingericht met behulp van een script. Deze oplossing vond een goede middelste basis met behulp van het DSC-script om periodiek een gouden installatiekopie te maken, die vervolgens kan worden gebruikt om een nieuwe virtuele machine sneller in te richten dan volledig een VM op aanvraag te bouwen met behulp van DSC. Met Azure DevOps Services of andere CI/CD-hulpprogramma's kunnen gouden afbeeldingen periodiek worden vernieuwd met behulp van DSC-scripts.
  • Het verdelen van de totale oplossingskosten met een snelle beschikbaarheid van rekenresources is een belangrijke overweging. Als u een groep virtuele-machine-exemplaren van de N-serie inricht en deze in een niet-toegewezen status plaatst, worden de operationele kosten verlaagd. Wanneer een extra virtuele machine nodig is, wordt het opnieuw toewijzen van een bestaand exemplaar gepaard met het inschakelen van de virtuele machine op een andere host, maar de PCI-busdetectietijd die het besturingssysteem nodig heeft om stuurprogramma's voor de GPU te identificeren en te installeren, wordt geëlimineerd omdat een virtuele machine die is gedeprovisioneerd, dezelfde PCI-bus voor de GPU behoudt wanneer deze opnieuw wordt opgestart.
  • De oorspronkelijke architectuur was volledig afhankelijk van virtuele Azure-machines voor het uitvoeren van simulaties. Om de kosten te verlagen voor workloads waarvoor niet alle mogelijkheden van een virtuele machine zijn vereist, zijn deze workloads in een container geplaatst en geïmplementeerd in Azure Kubernetes Service (AKS).
  • Het personeel van het bedrijf had bestaande vaardigheden in opensourcetechnologieën. Ze kunnen profiteren van deze vaardigheden door te bouwen op technologieën zoals Linux en Kubernetes.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Om u te helpen de kosten voor het uitvoeren van dit scenario te verkennen, worden veel van de vereiste services vooraf geconfigureerd in een voorbeeld van een kostencalculator. De kosten van uw oplossing zijn afhankelijk van het aantal en de schaal van services die nodig zijn om aan uw vereisten te voldoen.

De volgende overwegingen zullen een aanzienlijk deel van de kosten voor deze oplossing stimuleren:

  • De kosten van virtuele Azure-machines nemen lineair toe naarmate extra exemplaren worden ingericht. Voor virtuele machines waarvoor de toewijzing ongedaan is gemaakt, worden alleen opslagkosten in rekening gebracht en geen rekenkosten. Deze niet-toegewezen machines kunnen vervolgens opnieuw worden toegewezen wanneer de vraag hoog is.
  • Azure Kubernetes Services-kosten zijn gebaseerd op het VM-type dat is gekozen ter ondersteuning van de workload. De kosten nemen lineair toe op basis van het aantal VM's in het cluster.

Volgende stappen