Служба автоматизированного проектирования в AzureA computer-aided engineering service on Azure

В этом примере сценарий демонстрирует поставку платформы программного обеспечения как услуги (SaaS), построенной на возможностях высокопроизводительных вычислений (HPC) Azure.This example scenario demonstrates delivery of a software-as-a-service (SaaS) platform built on the high-performance computing (HPC) capabilities of Azure. Этот сценарий основан на решении проектирования программного обеспечения.This scenario is based on an engineering software solution. Тем не менее архитектура подходит для других отраслей, требуя ресурсы HPC, такие как отрисовка образов, комплексное моделирование и вычисление финансовых рисков.However, the architecture is relevant to other industries requiring HPC resources such as image rendering, complex modeling, and financial risk calculation.

В этом примере демонстрируется поставщик инженерного программного обеспечения, который предоставляет приложения для автоматизированного проектирования (CAE) для инженерных фирм и производственных предприятий.This example demonstrates an engineering software provider that delivers computer-aided engineering (CAE) applications to engineering firms and manufacturing enterprises. Решения автоматизированного проектирования предоставляют инновации, сокращают время разработки и снижают затраты на протяжении всего срока разработки продукта.CAE solutions enable innovation, reduce development times, and lower costs throughout the lifetime of a product's design. Эти решения требуют значительных вычислительных ресурсов и часто обрабатывают большие объемы данных.These solutions require substantial compute resources and often process high data volumes. Высокая стоимость локального оборудования HPC или высокопроизводительных рабочих станций часто делает эти технологии недоступными для небольших инженерных фирм, предпринимателей и студентов.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.

Компания планирует расширить рынок для своих приложений, созданием платформы SaaS, которая поддерживается облачными технологиями HPC.The company wants to expand the market for its applications by building a SaaS platform backed by cloud-based HPC technologies. Клиенты будут иметь возможность оплачивать вычислительные ресурсы по мере необходимости и получать доступ к огромным вычислительным ресурсам, которые в противном случае были бы недоступны.Their customers should be able to pay for compute resources as needed and access massive computing power that would be unaffordable otherwise.

Компания поставила перед собой следующие цели.The company's goals include:

  • Использование преимуществ возможностей HPC в Azure для ускорения разработки продукта и процесса тестирования.Taking advantage of HPC capabilities in Azure to accelerate the product design and testing process.
  • Использование последних инноваций аппаратных средств для запуска сложных моделей,минимизируя затраты на более простые симуляции.Using the latest hardware innovations to run complex simulations, while minimizing the costs for simpler simulations.
  • Включение визуализации и рендеринга в реальном времени в веб-браузере, не требуя высокопроизводительной рабочей станции.Enabling true-to-life visualization and rendering in a web browser, without requiring a high-end engineering workstation.

Варианты соответствующего использованияRelevant use cases

Другие варианты использования:Other relevant use cases include:

  • геномные исследования;Genomics research
  • моделирование погоды;Weather simulation
  • приложения для вычислительной химии.Computational chemistry applications

АрхитектураArchitecture

Архитектура для решения SaaS, обеспечивающая возможности HPC

  • Пользователи могут получить доступ к виртуальным машинам серии NV через браузер, используя подключение протокола удаленного рабочего стола на основе HTML5, с помощью службы Apache Guacamole.Users can access NV-series virtual machines (VMs) via a browser with an HTML5-based RDP connection using the Apache Guacamole service. Эти экземпляры виртуальных машин предоставляют мощные графические процессоры для рендеринга и совместных задач.These VM instances provide powerful GPUs for rendering and collaborative tasks. Пользователи могут изменять свои модели и просматривать их результаты без обращения к современных мобильным вычислительным устройствам высокого класса или ноутбукам.Users can edit their designs and view their results without needing access to high-end mobile computing devices or laptops. Планировщик запускает дополнительные виртуальные машины, на основе пользовательской эвристики.The scheduler spins up additional VMs based on user-defined heuristics.
  • В сеансе рабочего стола CAD пользователи могут отправлять рабочие нагрузки для выполнения на доступных узлах кластера HPC.From a desktop CAD session, users can submit workloads for execution on available HPC cluster nodes. Эти рабочие нагрузки выполняют такие задачи, как анализ напряжений или расчеты вычислительной гидродинамики, устраняя необходимость выделенных локальных вычислительных кластеров.These workloads perform tasks such as stress analysis or computational fluid dynamics calculations, eliminating the need for dedicated on-premises compute clusters. Эти узлы кластера можно настроить для автоматического масштабирования на основе нагрузки или глубокой очереди по требованию активного пользователя для вычислительных ресурсов.These cluster nodes can be configured to autoscale based on load or queue depth based on active user demand for compute resources.
  • Служба Azure Kubernetes (AKS) используется для размещения веб-ресурсов, доступных для конечных пользователей.Azure Kubernetes Service (AKS) is used to host the web resources available to end users.

КомпонентыComponents

  • Виртуальные машины серии H используются для запуска ресурсоемких процессов, таких как молекулярное моделирование и вычислительная гидродинамика.H-series virtual machines are used to run compute-intensive simulations such as molecular modeling and computational fluid dynamics. Решение также использует преимущества технологий, такие как подключения удаленного доступа к памяти (RDMA) и сеть InfiniBand.The solution also takes advantage of technologies like remote direct memory access (RDMA) connectivity and InfiniBand networking.
  • Виртуальные машины серии NV предоставляют инженерам высокопроизводительные функциональности рабочих станций в стандартном веб-браузере.NV-series virtual machines give engineers high-end workstation functionality from a standard web browser. Эти виртуальные машины имеют графические процессоры NVIDIA Tesla M60, которые поддерживают расширенный рендеринг и выполняют одноточечные рабочие нагрузки.These virtual machines have NVIDIA Tesla M60 GPUs that support advanced rendering and can run single precision workloads.
  • Виртуальные машины общего назначения выполняющие CentOS обрабатывают более традиционные рабочие нагрузки, такие как веб-приложения.General purpose virtual machines running CentOS handle more traditional workloads such as web applications.
  • Шлюз приложений балансирует нагрузку запросов, поступающую на веб-серверы.Application Gateway load balances the requests coming into the web servers.
  • Служба Azure Kubernetes (AKS) используется для запуска масштабируемых рабочих нагрузок с меньшими затратами для моделирования, которые не требуют высокопроизводительных возможностей виртуальных машин HPC или 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.
  • Altair PBS Works Suite организовывает рабочий процесс HPC, обеспечивая достаточное количество экземпляров виртуальной машины для обработки текущей нагрузки.Altair PBS Works Suite orchestrates the HPC workflow, ensuring that enough virtual machine instances are available to handle the current load. Он также освобождает виртуальные машины, когда спрос снижается, чтобы снизить затраты.It also deallocates virtual machines when demand is lower to reduce costs.
  • Хранилище BLOB-объектов хранит файлы, которые поддерживают запланированные задания.Blob storage stores files that support the scheduled jobs.

Альтернативные вариантыAlternatives

  • Azure CycleCloud упрощает создание, управление, эксплуатацию и оптимизацию кластеров HPC.Azure CycleCloud simplifies creating, managing, operating, and optimizing HPC clusters. Она предлагает расширенные функции политики и управления.It offers advanced policy and governance features. CycleCloud поддерживает любые планировщики заданий и стеков программного обеспечения.CycleCloud supports any job scheduler or software stack.
  • Пакет HPC может создавать и управлять кластером Azure HPC для рабочих нагрузок на базе сервера Windows.HPC Pack can create and manage an Azure HPC cluster for Windows Server-based workloads. Пакет HPC не представляет возможности для рабочих нагрузок на базе системы Linux.HPC Pack isn't an option for Linux-based workloads.
  • Настройки состояния службы автоматизации Azure обеспечивает подход, основанный на инфраструктуре для определения виртуальных машин и развертывания программного обеспечения.Azure Automation State Configuration provides an infrastructure-as-code approach to defining the virtual machines and software to be deployed. Виртуальные машины могут быть развернуты как часть масштабируемого набора виртуальных машин с помощью правил автоматического масштабирования для вычислительных узлов на основе количества заданий, отправленных в очередь.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. При необходимости виртуальная машина подготавливается к работе с помощью последней версии установленного образа из коллекции Azure, а затем устанавливается и настраивается необходимое программное обеспечение с помощью сценария конфигурации DSC 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.
  • Функции AzureAzure Functions

РекомендацииConsiderations

  • Несмотря на то, что использование подхода, основанное на инфраструктуре, является отличным способом управления определениями построения виртуальной машины, может потребоваться немало времени для создания новой виртуальной машины с помощью сценария.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. Используя сценарий DSC это решение нашло хороший компромиссный вариант периодического создания окончательного образа, который можно использовать для создания новой виртуальной машины быстрее, чем полное построение по требованию с использованием 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. Azure DevOps Services или другие инструменты CI/CD могут периодически обновлять окончательные образы с помощью сценариев DSC.Azure DevOps Services or other CI/CD tooling can periodically refresh golden images using DSC scripts.
  • Основное внимание уделяется балансировке затрат на решения с быстрой доступностью вычислительных ресурсов.Balancing overall solution costs with fast availability of compute resources is a key consideration. Предоставление пула экземпляров виртуальной машины N-серии и помещение их в освобожденное состояние снижает затраты на использование.Provisioning a pool of N-series virtual machine instances and putting them in a deallocated state lowers the operating costs. Если требуется дополнительная виртуальная машина, перераспределение существующего экземпляра влечет за собой включение виртуальной машины на другом узле, но время обнаружения шины PCI, необходимое операционной системе для определения и установки драйверов для GPU, исключается из-за того, что виртуальная машина, которая подготавливается, а затем повторно подготавливается, будет хранить ту же шину PCI для GPU при перезапуске.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.
  • При запуске моделирования первоначальная архитектура целиком зависит от виртуальных машин Azure.The original architecture relied entirely on Azure virtual machines for running simulations. Чтобы снизить затраты на рабочие нагрузки, которые не требуют всех возможностей виртуальной машины, они были контейнеризированы и развернуты в Azure Kubernetes Service (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).
  • Сотрудники компании имеют навыки использования технологий с открытым исходным кодом.The company's workforce had existing skills in open-source technologies. Они могут воспользоваться этими навыками, опираясь на такие технологии, как Linux и Kubernetes.They can take advantage of these skills by building on technologies like Linux and Kubernetes.

ЦеныPricing

Чтобы помочь вам изучить стоимость запуска этого сценария, многие требуемые службы были предварительно сконфигурированы в примерах калькулятора стоимости.To help you explore the cost of running this scenario, many of the required services are pre-configured in a cost calculator example. Стоимость вашего решения зависит от числа и масштаба служб, необходимых для удовлетворения ваших требований.The costs of your solution depend on the number and scale of services needed to meet your requirements.

Следующие соображения определят значительную часть затрат для этого решения.The following considerations will drive a substantial portion of the costs for this solution:

  • Стоимость виртуальной машины Azure увеличивается по мере создания дополнительных экземпляров.Azure virtual machine costs increase linearly as additional instances are provisioned. Оплата освобожденных виртуальных машин будет взиматься за хранение, а не за вычислительные операции.Virtual machines that are deallocated will only incur storage costs, and not compute costs. Когда спрос возрастет, эти освобожденные машины могут быть перераспределены.These deallocated machines can then be reallocated when demand is high.
  • Стоимость служб Kubernetes Azure основана на типе виртуальной машины, выбранной для поддержки рабочей нагрузки.Azure Kubernetes Services costs are based on the VM type chosen to support the workload. Цены будут возрастать линейно в зависимости от количества виртуальных машин в кластере.The costs will increase linearly based on the number of VMs in the cluster.

Дальнейшие действияNext steps