Marco de buena arquitectura de Azure para HPC

El plan de informática de alto rendimiento (HPC) de Azure describe un proceso para racionalizar el escenario, priorizar los esfuerzos técnicos e identificar las cargas de trabajo. Para muchas de las cargas de trabajo, es importante adherirse a un conjunto de entidades de seguridad de arquitectura. Estos principios ayudan a guiar el desarrollo y la optimización de las cargas de trabajo. Las cinco construcciones arquitectónicas se detallan en el Marco de buena arquitectura de Azure. Esta guía proporciona un resumen de cómo puede aplicar estos principios a la administración de las cargas de trabajo de datos.

Confiabilidad

Todo puede potencialmente romperse. Las canalizaciones de datos no son ninguna excepción. Las arquitecturas óptimas están diseñadas pensando en la disponibilidad y la resistencia. Las consideraciones clave son la rapidez para detectar un cambio y la rapidez para reanudar las operaciones.

El entorno de datos debe tener en cuenta arquitecturas resistentes, las redundancias entre regiones, el nivel de servicio, los acuerdos de nivel de servicio (SLA) y el soporte técnico crítico. El entorno existente también debe incluir auditoría, supervisión y alertas mediante la supervisión integrada y un marco de notificación.

Además de estos controles del entorno, el equipo de cargas de trabajo debe tener en cuenta lo siguiente:

  • Hacer más modificación de la arquitectura para mejorar los acuerdos de nivel de servicio.
  • Configuración de una arquitectura redundante específica de la carga de trabajo.
  • Establecer procesos de supervisión y notificación más allá de lo que proporcionan los equipos de operaciones en la nube.

Conectividad de ExpressRoute híbrida

Para admitir cargas de trabajo de HPC críticas, use una configuración de alta disponibilidad de Azure ExpressRoute. Incluso en un único sitio, una configuración de alta disponibilidad en la que puede tener una conexión de ExpressRoute redundante, no ofrece protección contra el tiempo de inactividad de un solo sitio perimetral. Al habilitar dos conexiones en dos instalaciones, la redundancia permite a su empresa continuar si hay un desastre en la ubicación principal. Mediante la alta disponibilidad de ExpressRoute, puede ayudar a garantizar la conectividad a Azure si se produce una interrupción de ExpressRoute en una sola región.

Recomendaciones

  • Habilite dos circuitos ExpressRoute en dos ubicaciones de sitio perimetrales de ExpressRoute diferentes para obtener una redundancia máxima.
    • Esta configuración requiere que establezca dos circuitos ExpressRoute en Azure Portal para las dos ubicaciones de sitio perimetrales de ExpressRoute diferentes. A continuación, conectará ambos circuitos ExpressRoute a la misma red de concentrador virtual en Azure.
    • Coloque las dos ubicaciones de sitio perimetrales en la misma región de Azure. Es lo que proporciona la redundancia en caso de que se produzca un error en una de las ubicaciones de emparejamiento. Ambas conexiones de ExpressRoute finalizan en la misma red de concentrador virtual de Azure. Lea la lista de asociados de conectividad y ubicaciones de ExpressRoute para planificar las ubicaciones de emparejamiento de ExpressRoute.
    • Trabaje con el proveedor para configurar el segundo sitio de ExpressRoute.
    • Asegúrese de que la segunda conexión funciona mediante la conmutación por error del tráfico a la segunda ubicación, que es fundamental. Realice simulacros normales para garantizar la conectividad.

Para más información sobre una configuración máxima de ExpressRoute de resistencia, consulte Diseño para la recuperación ante desastres con ExpressRoute.

Seguridad

Aplique principios de seguridad al entorno de HPC para proporcionar medidas de seguridad contra ataques deliberados y abuso de sus valiosos datos y sistemas. Examine la protección de las imágenes del sistema operativo del usuario y el acceso del usuario y siga las directrices de seguridad de Azure Batch y Azure CycleCloud. Para más información, consulte Principios del pilar de seguridad.

Imágenes de sistema operativo

Azure Marketplace proporciona imágenes de HPC basadas en Linux para usar en el clúster. Estas imágenes contienen muchas bibliotecas populares, paquetes de software y herramientas de diagnóstico como:

  • Bibliotecas de interfaz de paso de mensajes (MPI) basadas en InfiniBand.
  • Mellanox OFED.
  • IP preconfigurada a través de InfiniBand.
  • Entornos de ejecución de comunicación.
  • Bibliotecas optimizadas para Intel/AMD.
  • Herramientas de diagnóstico de HPC de Azure.

Puede empezar con las imágenes y, a continuación, aplicar las directivas de seguridad de su organización para reforzar las imágenes de software frente a vulnerabilidades y amenazas cibernéticas. Después de la validación, puede guardar la nueva imagen en Azure Compute Gallery. Después, puede usar la imagen para crear máquinas virtuales en Azure CycleCloud, Azure HPC y Batch.

Acceso de usuarios

  • Defina unas líneas claras de responsabilidad y separación de tareas para cada función.
  • Restrinja el acceso a lo que se necesita saber y a los principios de seguridad con privilegios mínimos.
  • Asigne permisos a los usuarios, los grupos y las aplicaciones en un ámbito determinado mediante el control de acceso basado en roles de Azure. Utilice roles integrados siempre que sea posible.
  • Impida la eliminación o modificación de un recurso, grupo de recursos o suscripción mediante bloqueos de administración.
  • Utilizar las identidades administradas para tener acceso a los recursos de Azure.
  • Admite un único directorio de empresa. Mantenga sincronizados los directorios locales y en la nube, excepto para las cuentas con un impacto crítico.
  • Configurar el acceso condicional de Microsoft Entra. Aplique y mida los atributos de seguridad clave al autenticar a todos los usuarios, especialmente para las cuentas con un impacto crítico.
  • Use métodos sin contraseña u opte por métodos de contraseña modernos.
  • Bloquee los protocolos y los métodos de autenticación heredados.

Seguridad de Azure Batch

Siga los procedimientos recomendados para habilitar la seguridad de Batch.

Seguridad de Azure CycleCloud

Siga los procedimientos recomendados para habilitar la seguridad de Azure CycleCloud.

Optimización de costos

Para sacar el máximo partido a la ejecución del entorno en Azure, priorice los ejercicios de administración de costos y planeamiento inicial. La administración de costos y la planificación suelen ser las consideraciones más importantes para el recorrido correcto de la migración a la nube de una organización. Microsoft Cost Management ofrece las herramientas para planear, analizar y reducir los gastos para maximizar su inversión en la nube. Para más información sobre las formas en que puede planear y optimizar los costos en la nube, consulte Procedimientos recomendados de facturación de Cost Management. Las siguientes consideraciones son algunas de las más importantes en la optimización de costos.

Elección del sistema operativo

Linux es el sistema operativo dominante para las cargas de trabajo de HPC. Linux es de código abierto y está optimizado para que el rendimiento use la infraestructura de HPC. Por lo tanto, las bibliotecas MPI y los controladores infiniband funcionan bien en Linux frente a Windows. Usar Linux Virtual Machines a través de Windows para configurar un clúster de HPC sin duda ahorraría costos. Sin embargo, algunos usuarios puedan tener una gran preferencia por un entorno de Windows, especialmente mientras se realizan las tareas previas y posteriores al procesamiento en la carga de trabajo, como las dinámicas de fluido computacional. En tal caso, la recomendación es hacer que un front-end de Windows envíe trabajos a un host de Linux (nodo principal) que pueda usar los nodos de ejecución para simulaciones.

Escalado automático

El escalado automático le permite configurar y usar máquinas virtuales solo cuando envía un trabajo o cuando un trabajo está activo. Cuando finalice el trabajo, los nodos se desactivarán automáticamente. Usar el escalado automático permite ajustar los recursos de proceso usados por la aplicación, lo que puede ahorrarle tiempo y dinero. Azure CycleCloud tiene activado el escalado automático en sus programadores de forma predeterminada. El límite de tiempo predeterminado para desactivar los nodos es de 15 minutos. Puede personalizar el límite de tiempo: El límite de tiempo garantiza que los usuarios paguen solo por lo que usan. Batch proporciona un mecanismo para integrar una fórmula de escalado automático con la elección de parámetros. Para más información sobre el escalado, consulte Introducción al escalado automático en Azure.

Instancias reservadas de pago por uso e instancias de acceso puntual

Azure proporciona varias opciones de precios: pago por uso, instancia reservada con opciones de 1 o 3 años e instancias de acceso puntual sujetas a la capacidad disponible en el centro de datos. Las instancias de pago por uso son rentables porque satisfacen la demanda esporádica de capacidad. Las instancias reservadas pueden resultar rentables si hay una demanda continua de HPC o hay muchas aplicaciones que se ejecutan en HPC de Azure. Ambas opciones son adecuadas para cargas de trabajo listas para producción. Las instancias de acceso puntual son adecuadas para realizar breves pruebas y experimentación o si la aplicación necesita puntos de control, por ejemplo, Genomics. Las instancias de acceso puntual están sujetas a la capacidad disponible en el centro de datos. El precio depende de los siguientes factores. Puede expulsar instancias de acceso puntual con un aviso mínimo.

Clasificación de datos

Las cargas de trabajo de HPC se benefician del almacenamiento de alto rendimiento. Por ejemplo, use Azure Managed Lustre, Azure Net App Files o BeeGFS Parallel File System. Estos servicios de almacenamiento ofrecen rendimiento, pero pueden tener un costo. Es importante que los datos se clasifiquen antes para que solo los datos específicos de la aplicación residan en estos sistemas. El resto de datos puede residir en soluciones de almacenamiento de bajo costo, como Azure Data Lake Storage o Azure Blob Storage.

Además, puede resultar útil configurar sistemas de almacenamiento HPC a petición para ayudar a asegurar que los datos se sincronizan con un servicio de almacenamiento de bajo costo, como Blob Storage. El almacenamiento a petición ayuda a garantizar que los datos se conservan en Blob Storage cuando el sistema de almacenamiento de alto rendimiento está desactivado. Managed Lustre y Net App Files ofrecen un servicio de sincronización.

Definición de presupuestos

Azure CycleCloud permite elaborar presupuestos por clúster y puede enviar notificaciones a los destinatarios si están a punto de agotar los presupuestos. En Batch, puede elaborar presupuestos y alertas de gastos para los grupos o cuentas de Batch desde Azure Portal. Los presupuestos y las alertas son útiles para notificar a las partes interesadas de cualquier riesgo de exceso de gasto, aunque es posible que haya un retraso en las alertas de gasto y que se supere ligeramente el presupuesto.

Excelencia operativa

Al mantener las aplicaciones de HPC en ejecución en producción, las implementaciones deben ser confiables y predecibles. Las implementaciones confiables y predecibles conllevan automatizar cargas de trabajo de HPC con soluciones de infraestructura como código (IaC). También debe realizar comprobaciones de estado del nodo para analizar y supervisar las cargas de trabajo de HPC.

Para obtener más información sobre las sugerencias de implementación, consulte Recomendaciones para usar la infraestructura como código. Para obtener más información sobre las sugerencias de supervisión, consulte Recomendaciones para diseñar y crear un sistema de supervisión.

Infraestructura como código

HPC en Azure implementa varios recursos como Azure CycleCloud, clúster de HPC, almacenamiento, nodos de visualización, servidores de licencias, etc. Para automatizar la implementación, se recomienda usar herramientas estándar del sector como Terraform, Ansible y Packer para simplificar el proceso.

Comprobación de estado del nodo

Azure Managed Grafana es un servicio totalmente administrado para soluciones de análisis y supervisión. Grafana Labs admite Grafana y proporciona visualizaciones de datos extensibles. Puede integrar esta solución en las cargas de trabajo de HPC como ejemplo. Para obtener más información, consulte plataforma HPC de Azure OnDemand.

Eficiencia del rendimiento

Asegúrese de que el entorno de HPC se pueda escalar para satisfacer las demandas que los usuarios realizan. Elija la plataforma adecuada para las aplicaciones de HPC en función de las recomendaciones del proveedor de aplicaciones. Invertir en planeamiento de capacidad si necesita infraestructura adicional para satisfacer la demanda. Supervise el rendimiento de la infraestructura de HPC a medida que los usuarios usen el sistema.

Para obtener más información, vea los artículos de eficiencia de rendimiento.

Elección de la plataforma adecuada para la aplicación de HPC

Azure ofrece una variedad de plataformas para máquinas virtuales basadas en Intel, CPU AMD o NVIDIA y GPU AMD. Aunque la mayoría de las aplicaciones son compatibles con lo que está disponible, hay algunas que solo se benefician de un tipo determinado de CPU o GPU. Antes de implementar la infraestructura en la nube, es importante tener una recomendación del proveedor de la aplicación (ISV) para saber las siguientes necesidades.

  • Si la aplicación está enlazada a la memoria, a la CPU o a la GPU
  • Si tienen alguna recomendación sobre cualquier tipo de arquitectura de CPU/GPU para el rendimiento
  • Si hay algún tipo de MPI y versión de la que la aplicación puede beneficiarse
  • Si hay una recomendación sobre el tipo de programador
  • Si hay una recomendación sobre IOPS/rendimiento de los sistemas de archivos paralelos

Invertir en planeamiento de capacidad

En función del tipo de aplicación y sus condiciones de licencia, revise si la licencia está establecida para usar un número específico de núcleos. Evalúe su inversión para permitir que la licencia se adapte a HPC y, a continuación, planee su capacidad en consecuencia.

Supervisión del rendimiento de la infraestructura

  • Es importante poder controlar la forma en que los usuarios usan el sistema, realizan un seguimiento del uso de recursos y supervisan en general el estado y el rendimiento del sistema. Esta información se puede usar como herramienta de diagnóstico para detectar y corregir problemas y para ayudar a detectarlos antes de que se produzcan. Para información general sobre los componentes y servicios de Azure disponibles para supervisar sus recursos, lea Introducción a Azure Monitor.
  • Monitor es una excelente herramienta para identificar si hay cuellos de botella en el almacenamiento y las instancias de máquina virtual.
  • La limitación del almacenamiento puede provocar una ralentización significativa de las aplicaciones, lo que afecta al rendimiento. La limitación de almacenamiento sucede cuando las operaciones de entrada y salita dentro del almacenamiento superan los límites de rendimiento establecidos. Los servicios de Azure Storage ofrecen los gráficos de operaciones de lectura y escritura para supervisar si hay algún problema relacionado con la limitación.
  • Azure CycleCloud se integra con servicios de Azure como Monitor y las herramientas de Microsoft Cost Management. También admite la supervisión de servicios externos a través de su arquitectura conectable. Para más información, consulte Supervisión.
  • Además, si usa Batch, Batch Explorer es una herramienta de cliente independiente, completa y gratuita que puede ayudarle a crear, depurar y supervisar aplicaciones de Batch.

Pasos siguientes