Ingeniería asistida por PC

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

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para obtener más información, consulte la Guía de fin de ciclo de vida de CentOS.

Este escenario de ejemplo muestra la entrega de una plataforma de software como servicio (SaaS) basada en las capacidades de informática de alto rendimiento (HPC) de Azure. Este escenario se basa en una solución de ingeniería de software. De todas formas, la arquitectura es significativa para otros sectores que requieren los recursos HPC como la representación en imágenes, los modelos complejos y el cálculo de riesgos financieros.

Architecture

Arquitectura de una solución de SaaS que habilita las funcionalidades de HPC.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  • Los usuarios pueden acceder a máquinas virtuales de serie NV mediante un explorador con una conexión RDP basada en HTML5 usando el servicio Apache Guacamole. Estas instancias de máquina virtual proporcionan GPU eficaces para las tareas de representación y colaboración. Los usuarios pueden modificar los diseños y ver los resultados sin necesidad de acceso a equipos portátiles o dispositivos móviles de alta gama. El programador pone en marcha máquinas virtuales adicionales en función de la heurística definida por el usuario.
  • Desde una sesión de escritorio CAD, los usuarios pueden enviar cargas de trabajo para su ejecución en los nodos de clúster HPC disponibles. Estas cargas de trabajo realizan tareas tales como el análisis de tensión o cálculos de dinámica de fluidos computacional, lo que elimina la necesidad de clústeres de proceso locales dedicados. Estos nodos del clúster se pueden configurar para la escalabilidad automática en función de la carga o de la profundidad de cola según la demanda del usuario activo para los recursos de proceso.
  • Azure Kubernetes Service (AKS) se utiliza para hospedar los recursos web disponibles para los usuarios finales.

Componentes

  • Máquinas virtuales de serie H se utilizan para ejecutar simulaciones de proceso intensivo, como el modelado molecular y la dinámica de fluidos computacional. La solución también aprovecha tecnologías como la conectividad de acceso directo a memoria remota (RDMA) y la red InfiniBand.
  • Las máquinas virtuales de serie NV proporciona a los ingenieros la funcionalidad de una estación de trabajo de alta gama desde un explorador web estándar. Estas máquinas virtuales tienen GPU NVIDIA Tesla M60 que admiten la representación avanzada y pueden ejecutar cargas de trabajo de precisión sencilla.
  • Las máquinas virtuales de uso general que ejecutan CentOS controlan cargas de trabajo más tradicionales como las aplicaciones web.
  • Application Gateway equilibra la carga de las solicitudes que entran en los servidores web.
  • Azure Kubernetes Service (AKS) se usa para ejecutar cargas de trabajo escalables con un costo menor para simulaciones que no requieren las funcionalidades de gama alta de máquinas virtuales HPC o GPU.
  • Altair PBS Works Suite organiza el flujo de trabajo HPC, lo que garantiza que hay suficientes instancias de máquina virtual disponibles para controlar la carga actual en cada momento. También desasigna máquinas virtuales cuando la demanda es inferior para reducir los costos.
  • Blob Storage almacena los archivos que admiten los trabajos programados.

Alternativas

  • Azure CycleCloud simplifica la creación, administración, funcionamiento y optimización de los clústeres de HPC. Ofrece una directiva avanzada y características de gobernanza. CycleCloud admite cualquier programador de trabajos o pila de software.
  • HPC Pack puede crear y administrar un clúster de HPC de Azure para cargas de trabajo basadas en Windows Server. HPC Pack no es una opción para cargas de trabajo basadas en Linux.
  • Azure Automation State Configuration proporciona un enfoque de infraestructura como código para definir las máquinas virtuales y software que se van a implementar. Las máquinas virtuales se pueden implementar como parte de un conjunto de escalado de máquinas virtuales con reglas de escalabilidad automática para los nodos de proceso en función del número de trabajos enviados a la cola de trabajos. Cuando se necesita una nueva máquina virtual, se aprovisiona con la imagen de revisión más reciente desde la Galería de imágenes de Azure y, a continuación, se instala y configura el software necesario mediante un script de configuración de DSC de PowerShell.
  • Funciones de Azure

Detalles del escenario

En este ejemplo se muestra un proveedor de software de ingeniería, que ofrece aplicaciones de ingeniería asistida por PC (CAE) a compañías de ingeniería y empresas de fabricación. Las soluciones CAE posibilitan la innovación, reducen los tiempos de desarrollo y los costos durante la duración del diseño de un producto. Estas soluciones requieren recursos de proceso considerables y generalmente procesan grandes volúmenes de datos. El elevado costo de una aplicación de HPC local o de estaciones de trabajo de tecnología avanzada, a menudo mantienen a estas tecnologías fuera del alcance de pequeñas compañías y empresarios de ingeniería y de los estudiantes.

La empresa quiere expandir el mercado para sus aplicaciones mediante la creación de una plataforma de SaaS respaldada por tecnologías HPC basadas en la nube. Sus clientes deben poder pagar por los recursos de proceso según los necesiten y tener acceso a una enorme capacidad informática que de otra forma resultaría inasequible.

Los objetivos de la empresa incluyen:

  • Sacar provecho de las funcionalidades de HPC en Azure para acelerar el diseño del producto y el proceso de pruebas.
  • Usar las últimas innovaciones de hardware para ejecutar simulaciones complejas, mientras se minimizan los costos para simulaciones más sencillas.
  • Habilitar la visualización de gran realismo y la representación en un explorador web, sin necesidad de una estación de trabajo de ingeniería de gama alta.

Posibles casos de uso

Este escenario se relaciona con los sectores de medios de comunicación, finanzas, fabricación, educación, energía y medio ambiente. Otros casos de uso pertinentes incluyen:

  • Investigación genómica
  • Simulación de tiempo metereológico
  • Aplicaciones de química computacional

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

  • Si bien el uso de un enfoque de infraestructura como código es una excelente manera de administrar las definiciones de compilación de la máquina virtual, aprovisionar una nueva máquina virtual mediante un script puede llevar mucho tiempo. Esta solución ha encontrado un buen término medio con el uso del script de DSC para crear periódicamente una imagen maestra, que a su vez puede utilizarse para aprovisionar una nueva máquina virtual en menos tiempo que el que lleva crear una máquina virtual a petición mediante DSC. Los servicios Azure DevOps u otras herramientas de CI/CD pueden actualizar periódicamente las imágenes maestras mediante scripts de DSC.
  • El equilibrio entre los costos de la solución global y una rápida disponibilidad de recursos de proceso es un factor clave a considerar. El aprovisionamiento de un grupo de instancias de máquina virtual de la serie N y su colocación en un estado desasignado reduce los costos operativos. Cuando se necesita una máquina virtual adicional, la reasignación de una instancia existente implicará encender la máquina virtual en un host diferente, pero el tiempo de detección del bus PCI que necesita el sistema operativo para identificar e instalar controladores de la GPU se elimina, porque una máquina virtual desaprovisionada que se vuelve a aprovisionar conservará el mismo bus PCI para la GPU cuando se reinicie.
  • La arquitectura original se basaba completamente en máquinas virtuales de Azure para ejecutar simulaciones. Con el fin de reducir los costos de cargas de trabajo que no requieren todas las funcionalidades de una máquina virtual, estas cargas de trabajo se agruparon en contenedores y se implementaron en Azure Kubernetes Service (AKS).
  • Los trabajadores de la compañía tenían las habilidades y conocimientos existentes en tecnologías de código abierto. Pueden aprovechar las ventajas de estas habilidades y conocimientos trabajando sobre las bases de tecnologías, como Linux y Kubernetes.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Para ayudarle a explorar el costo de ejecución de este escenario, muchos de los servicios necesarios están preconfigurados en un ejemplo de la calculadora de costos. Los costos de la solución dependen del número y la escala de los servicios necesarios para satisfacer sus necesidades.

Las siguientes consideraciones supondrán una parte considerable de los costos de esta solución:

  • Los costos de máquina virtual de Azure aumentarán linealmente a medida que se aprovisionen instancias adicionales. Las máquinas virtuales que se desasignen supondrán solo costos de almacenamiento y no de proceso. Estas máquinas desasignadas se pueden reasignar cuando la demanda sea alta.
  • Los costos de Azure Kubernetes Service se basan en el tipo de máquina virtual elegido para soportar la carga de trabajo. Los costos, aumentará linealmente en función del número de máquinas virtuales del clúster.

Pasos siguientes