Um serviço de engenharia auxiliada por computador no AzureA computer-aided engineering service on Azure

Este cenário de exemplo demonstra a distribuição de uma plataforma de software como serviço (SaaS) desenvolvida sobre as funcionalidades de computação de alto desempenho (HPC) do Azure.This example scenario demonstrates delivery of a software-as-a-service (SaaS) platform built on the high-performance computing (HPC) capabilities of Azure. O cenário se baseia em uma solução de engenharia de software.This scenario is based on an engineering software solution. No entanto, a arquitetura também é relevante para outros setores que exijam recursos de HPC como renderização de imagens, modelagem complexa e cálculo de riscos financeiros.However, the architecture is relevant to other industries requiring HPC resources such as image rendering, complex modeling, and financial risk calculation.

Este exemplo apresenta um provedor de software de engenharia que distribui aplicativos de engenharia auxiliada por computador (CAE) para empresas de fabricação e de engenharia.This example demonstrates an engineering software provider that delivers computer-aided engineering (CAE) applications to engineering firms and manufacturing enterprises. As soluções de CAE possibilitam a inovação, reduzem os tempos de desenvolvimento e diminuem os custos ao longo do tempo de vida do design de um produto.CAE solutions enable innovation, reduce development times, and lower costs throughout the lifetime of a product's design. Tais soluções exigem uma grande quantidade de recursos computacionais e em geral processam grandes volumes de dados.These solutions require substantial compute resources and often process high data volumes. Os altos custos de um dispositivo de HPC local ou de estações de trabalho de ponta muitas vezes afastam essas tecnologias do alcance de pequenas empresas de engenharia, de empreendedores e alunos.The high costs of an on-premises HPC appliance or high-end workstations often put these technologies out of reach for small engineering firms, entrepreneurs, and students.

A empresa deseja expandir o mercado para os próprios aplicativos, criando uma plataforma de SaaS apoiada em tecnologias de HPC baseadas em nuvem.The company wants to expand the market for its applications by building a SaaS platform backed by cloud-based HPC technologies. Os clientes devem ter condições de pagar pelos recursos computacionais conforme necessário e acessar uma enorme capacidade computacional que seria inviável de outra maneira.Their customers should be able to pay for compute resources as needed and access massive computing power that would be unaffordable otherwise.

As metas da empresa incluem:The company's goals include:

  • Tirar proveito das funcionalidades da computação de alto desempenho (HPC) no Azure para acelerar o processo de teste e design do produto.Taking advantage of HPC capabilities in Azure to accelerate the product design and testing process.
  • Usar as mais recentes inovações de hardware para executar simulações complexas e minimizar os custos de simulações mais simples.Using the latest hardware innovations to run complex simulations, while minimizing the costs for simpler simulations.
  • Permitir renderizações e visualizações realistas em um navegador da Web sem a necessidade de uma estação de trabalho com engenharia de ponta.Enabling true-to-life visualization and rendering in a web browser, without requiring a high-end engineering workstation.

Casos de uso relevantesRelevant use cases

Outros casos de uso relevantes incluem:Other relevant use cases include:

  • Pesquisas de genomaGenomics research
  • Simulação de climaWeather simulation
  • Aplicativos de química computacionalComputational chemistry applications

ArquiteturaArchitecture

Arquitetura de uma solução de SaaS que possibilita funcionalidades de HPC

  • Os usuários podem acessar máquinas virtuais (VMs) da série NV através de um navegador com uma conexão de RDP com base em HTML5 usando o serviço Apache Guacamole.Users can access NV-series virtual machines (VMs) via a browser with an HTML5-based RDP connection using the Apache Guacamole service. Essas instâncias de VM oferecem GPUs poderosas para tarefas de renderização e colaboração.These VM instances provide powerful GPUs for rendering and collaborative tasks. Os usuários podem editar os designs e visualizar os resultados sem precisar acessar laptops ou dispositivos de computação móvel de ponta.Users can edit their designs and view their results without needing access to high-end mobile computing devices or laptops. O agendador gira as VMs adicionais com base na heurística definida pelo usuário.The scheduler spins up additional VMs based on user-defined heuristics.
  • Em uma sessão de CAD da área de trabalho, os usuários podem enviar cargas de trabalho para execução em nós de cluster de HPC disponíveis.From a desktop CAD session, users can submit workloads for execution on available HPC cluster nodes. Essas cargas de trabalho executam tarefas como análise de estresse ou cálculos computacionais de dinâmica de fluidos, eliminando a necessidade de clusters de cálculo locais dedicados.These workloads perform tasks such as stress analysis or computational fluid dynamics calculations, eliminating the need for dedicated on-premises compute clusters. Esses nós de cluster podem ser configurados para dimensionamento automático com base na profundidade da fila ou da carga com base na demanda do usuário ativo para recursos computacionais.These cluster nodes can be configured to autoscale based on load or queue depth based on active user demand for compute resources.
  • O Serviço de Kubernetes do Azure (AKS) é usado para hospedar os recursos da Web disponíveis para usuários finais.Azure Kubernetes Service (AKS) is used to host the web resources available to end users.

ComponentesComponents

  • As máquinas virtuais da série H são usadas na execução de simulações computacionais intensas, como a modelagem molecular e a dinâmica de fluido computacional.H-series virtual machines are used to run compute-intensive simulations such as molecular modeling and computational fluid dynamics. A solução também se vale das tecnologias do tipo conectividade de acesso remoto direto à memória (RDMA) e redes InfiniBand.The solution also takes advantage of technologies like remote direct memory access (RDMA) connectivity and InfiniBand networking.
  • As máquinas virtuais da série NV oferecem aos engenheiros uma funcionalidade de ponta para a estação de trabalho em um navegador da Web padrão.NV-series virtual machines give engineers high-end workstation functionality from a standard web browser. Essas máquinas virtuais têm GPUs Tesla M60 NVIDIA compatíveis com renderização avançada e podem executar cargas de trabalho de precisão única.These virtual machines have NVIDIA Tesla M60 GPUs that support advanced rendering and can run single precision workloads.
  • As máquinas virtuais de uso geral que executam CentOS lidam com cargas de trabalho mais tradicionais, como aplicativos Web.General purpose virtual machines running CentOS handle more traditional workloads such as web applications.
  • A carga do Gateway de Aplicativo balanceia a carga das solicitações que chegam aos servidores Web.Application Gateway load balances the requests coming into the web servers.
  • O Serviço de Kubernetes do Azure (AKS) é usado para executar cargas de trabalho escalonáveis com um custo menor para simulações que não exijam as funcionalidades de ponta de HPC ou das máquinas virtuais de GPU.Azure Kubernetes Service (AKS) is used to run scalable workloads at a lower cost for simulations that don't require the high end capabilities of HPC or GPU virtual machines.
  • O Pacote Altair PBS Works gerencia o fluxo de trabalho de HPC, garantindo que uma quantidade suficiente de instâncias de máquinas virtuais esteja disponível para lidar com a carga atual.Altair PBS Works Suite orchestrates the HPC workflow, ensuring that enough virtual machine instances are available to handle the current load. Ele também desaloca máquinas virtuais em períodos de menor demanda para reduzir os custos.It also deallocates virtual machines when demand is lower to reduce costs.
  • O Armazenamento de Blobs armazena os arquivos compatíveis com trabalhos agendados.Blob storage stores files that support the scheduled jobs.

AlternativasAlternatives

  • O Azure CycleCloud simplifica a criação, o gerenciamento, a operação e a otimização de clusters de HPC.Azure CycleCloud simplifies creating, managing, operating, and optimizing HPC clusters. Ele oferece recursos avançados de política e governança.It offers advanced policy and governance features. O CycleCloud é compatível com qualquer agendador de trabalhos ou pilha de software.CycleCloud supports any job scheduler or software stack.
  • O Pacote de HPC pode criar e gerenciar um cluster de HPC do Azure para cargas de trabalho baseadas no Windows Server.HPC Pack can create and manage an Azure HPC cluster for Windows Server-based workloads. O Pacote de HPC não é uma opção para cargas de trabalho baseadas em Linux.HPC Pack isn't an option for Linux-based workloads.
  • A Configuração do Estado de Automação do Azure oferece uma abordagem de infraestrutura como código para definição das máquinas virtuais e softwares a ser implantados.Azure Automation State Configuration provides an infrastructure-as-code approach to defining the virtual machines and software to be deployed. As máquinas virtuais podem ser implantadas como parte de um conjunto de dimensionamento de máquinas virtuais, com regras de dimensionamento automático para nós de computação com base no número de trabalhos enviados para a fila de trabalho.Virtual machines can be deployed as part of a virtual machine scale set, with autoscaling rules for compute nodes based on the number of jobs submitted to the job queue. Quando uma nova máquina virtual é necessária, ela é provisionada usando a imagem de patch mais recente da galeria de imagens do Azure e o software necessário é instalado e configurado por meio de um script de configuração de DSC do PowerShell.When a new virtual machine is needed, it is provisioned using the latest patched image from the Azure image gallery, and then the required software is installed and configured via a PowerShell DSC configuration script.
  • Funções do AzureAzure Functions

ConsideraçõesConsiderations

  • Por mais que o uso de uma abordagem de infraestrutura como código seja uma ótima maneira de gerenciar as definições de build de máquinas virtuais, usar um script para o provisionamento de uma nova máquina virtual pode levar muito tempo.While using an infrastructure-as-code approach is a great way to manage virtual machine build definitions, it can take a long time to provision a new virtual machine using a script. Essa solução encontrou um meio-termo adequado usando o script de DSC na criação periódica de uma imagem emulada, que pode ser usada no provisionamento de uma nova máquina virtual mais rapidamente do que compilar totalmente uma VM sob demanda usando o DSC.This solution found a good middle ground by using the DSC script to periodically create a golden image, which can then be used to provision a new virtual machine faster than completely building a VM on demand using DSC. O Azure DevOps Services ou outras ferramentas de CI/CD podem atualizar periodicamente as imagens emuladas usando scripts de DSC.Azure DevOps Services or other CI/CD tooling can periodically refresh golden images using DSC scripts.
  • Uma consideração importante é o equilíbrio entre os custos totais da solução e a ágil disponibilidade de recursos computacionais.Balancing overall solution costs with fast availability of compute resources is a key consideration. Provisionar um pool de instâncias de máquinas virtuais da série N e colocá-las em um estado desalocado reduz os custos operacionais.Provisioning a pool of N-series virtual machine instances and putting them in a deallocated state lowers the operating costs. Quando uma máquina virtual adicional é necessária, realocando a uma instância existente envolverá a ligar a máquina virtual em um host diferente, mas o tempo de detecção de barramento PCI exigido pelo sistema operacional para identificar e instale drivers de GPU é eliminado porque um máquina virtual que é o provisionamento cancelada e, em seguida, provisionada novamente manterá o mesmo barramento PCI para a GPU quando reiniciado.When an additional virtual machine is needed, reallocating an existing instance will involve powering up the virtual machine on a different host, but the PCI bus detection time required by the OS to identify and install drivers for the GPU is eliminated because a virtual machine that is deprovisioned and then reprovisioned will retain the same PCI bus for the GPU when restarted.
  • A arquitetura original era totalmente dependente das máquinas virtuais do Azure para execução de simulações.The original architecture relied entirely on Azure virtual machines for running simulations. Para reduzir os custos das cargas de trabalho que não exigiam todas as funcionalidades de uma máquina virtual, essas cargas foram postas em contêineres e implantadas para o Serviço de Kubernetes do Azure (AKS).In order to reduce costs for workloads that didn't require all the capabilities of a virtual machine, these workloads were containerized and deployed to Azure Kubernetes Service (AKS).
  • A força de trabalho da empresa tinha habilidades existentes em tecnologias de código-fonte aberto.The company's workforce had existing skills in open-source technologies. Eles podem tirar proveito dessas habilidades usando tecnologias como o Linux e o Kubernetes no desenvolvimento.They can take advantage of these skills by building on technologies like Linux and Kubernetes.

PreçosPricing

Para ajudar você a explorar o custo de execução desse cenário, muitos dos serviços exigidos foram pré-configurados em um exemplo de calculadora de custos.To help you explore the cost of running this scenario, many of the required services are pre-configured in a cost calculator example. Os custos de sua solução dependem do número e a escala de serviços necessários para atender às suas necessidades.The costs of your solution depend on the number and scale of services needed to meet your requirements.

As considerações a seguir vão orientar uma parte significativa dos custos para esta solução:The following considerations will drive a substantial portion of the costs for this solution:

  • Os custos da máquina virtual do Azure aumentam de forma linear conforme novas instâncias são provisionadas.Azure virtual machine costs increase linearly as additional instances are provisioned. As máquinas virtuais desalocadas só geram custos de armazenamento, não de computação.Virtual machines that are deallocated will only incur storage costs, and not compute costs. Essas máquinas desalocadas poderão ser realocadas posteriormente, quando houver alta demanda.These deallocated machines can then be reallocated when demand is high.
  • Os custos do Serviço de Kubernetes do Azure são baseados no tipo de VM escolhido para dar suporte à carga de trabalho.Azure Kubernetes Services costs are based on the VM type chosen to support the workload. Os custos aumentarão de forma linear com base no número de VMs no cluster.The costs will increase linearly based on the number of VMs in the cluster.

Próximas etapasNext Steps