Marco de buena arquitectura de Azure para HPC

En Planeamiento de la metodología de este escenario se describe un proceso para racionalizar tu escenario, priorizar los esfuerzos técnicos e identificar las cargas de trabajo. Para muchas de las cargas de trabajo con nombre, 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 se puede interrumpir y las canalizaciones de datos no son una excepción. Por eso, 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:

  • Más modificación de la arquitectura para mejorar los SLA de nivel de servicio
  • Redundancia de la arquitectura específica de la carga de trabajo
  • Procesos de supervisión y notificación más allá de lo que proporcionan los equipos de operaciones en la nube

Seguridad

Aplique principios de seguridad al entorno de HPC para proporcionar garantías contra ataques deliberados y abuso de sus valiosos datos y sistemas. Examine la protección de las imágenes del sistema operativo del usuario, el acceso del usuario y siga las directrices de seguridad de Batch y CycleCloud. Para obtener más sugerencias, consulte Principios de diseño de seguridad.

Imágenes de sistema operativo

Azure Marketplace proporciona imágenes de HPC basadas en Linux para usarlas en el clúster. Estas imágenes vienen integradas en las bibliotecas MPI populares basadas en InfiniBand, Mellanox OFED, direcciones IP preconfiguradas a través de InfiniBand, entornos de ejecución de comunicación, bibliotecas optimizadas para Intel/AMD, herramientas de diagnóstico de Azure HPC, etc. Los usuarios pueden empezar con estas imágenes y, a continuación, aplicar las directivas de protección de seguridad de su organización para endurecer las imágenes de software frente a vulnerabilidades y ciberamenazas. Tras el endurecimiento, la nueva imagen se puede guardar en la galería de imágenes de Azure que se usará para crear máquinas virtuales en el servicio de orquestador de clústeres de HPC de Azure, Azure CycleCloud, el servicio Azure HPC y Azure 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 Azure RBAC. 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 preferiblemente 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 Azure 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, primero debe priorizar los ejercicios de administración de costos y planeamiento inicial. Estos son los más importantes para una migración y una trayectoria correctas en la nube para casi cualquier organización. Azure Cost Management ofrece las herramientas para planear, analizar y reducir los gastos para maximizar su inversión en la nube. Aquí puede encontrar una amplia lista de formas en las que puede optimizar y planear el gasto en la nube, pero, para los fines de discusión, veamos algunos casos importantes aquí:

Las siguientes medidas serían útiles para la optimización de costos de las cargas de trabajo de HPC.

Elección del sistema operativo

Linux ha sido el sistema operativo dominante para las cargas de trabajo de HPC. Linux es de código abierto y se ajusta al rendimiento para aprovechar la infraestructura de HPC, por lo que las bibliotecas de MPI y los controladores Infiniband funcionan bien en Linux frente a Windows. De este modo, el uso de máquinas virtuales Linux a través de Windows para configurar un clúster de HPC sin duda ahorraría costos. Sin embargo, es comprensible que 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 la dinámica de fluidos 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 proceso para simulaciones.

Escalado automático

El escalado automático es una funcionalidad para aprovisionar y usar las máquinas virtuales solo cuando se envía o activa el trabajo. Una vez completado el trabajo, los nodos se desactivan automáticamente. El uso del escalado automático permite ajustar los recursos de proceso usados por la aplicación, lo que puede ahorrarle tiempo y dinero. Azure CycleCloud ha integrado el escalado automático activado en sus programadores de forma predeterminada. El límite de tiempo predeterminado para desactivar los nodos es de 15 minutos y se puede personalizar. Esto garantiza que los usuarios paguen solo por lo que usan. Por otro lado, Azure Batch proporciona al usuario un mecanismo para integrar una fórmula de escalado automático con la elección de parámetros. Para más información, consulte este artículo.

Pago por uso frente a instancia reservada y frente a instancia puntual

Azure proporciona varias opciones de precios, es decir, pago por uso (PAYG), instancia reservada con opciones de 1 o 3 años e instancias puntuales sujetas a la capacidad disponible en el centro de datos. Las instancias de pago por uso son rentables para satisfacer la demanda esporádica de capacidad y las instancias reservadas podrían resultar rentables si hay una demanda continua de HPC o hay muchas aplicaciones que ejecutar en Azure HPC. Ambas opciones son adecuadas para cargas de trabajo listas para producción. Por otro lado, las instancias puntuales son adecuadas para realizar breves pruebas y experimentación o si la aplicación se adapta a los puntos de control, por ejemplo, Genomics. Las instancias puntuales están sujetas a la capacidad disponible en el centro de datos y los cambios de precios y, en función de estos factores, las instancias puntuales se pueden expulsar con un aviso mínimo.

Clasificación de los datos

Las cargas de trabajo de HPC se benefician del almacenamiento de alto rendimiento, por ejemplo, Azure Managed Lustre, Azure Net App Files, BeeGFS Parallel File System, etc. Estos servicios de almacenamiento proporcionan rendimiento y pueden tener un costo. Es importante que los datos se clasifiquen antes de 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 o Blob. Además, puede resultar útil aprovisionar sistemas de almacenamiento HPC a petición para asegurarse de que los datos se sincronizan con un servicio de almacenamiento de bajo costo, como Azure Blob Storage. Esto garantizará que los datos se conserven en Azure Blob cuando el sistema de almacenamiento de alto rendimiento esté desactivado. Azure Managed Lustre y Azure Net App Files ofrecen un servicio de sincronización.

Establecimiento 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 Azure 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 sugerencias de implementación, consulte Infraestructura repetible. Para obtener más sugerencias de supervisión, consulte la lista de comprobación recomendada.

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. Es compatible con Grafana Enterprise, que proporciona visualizaciones de datos extensibles. Se puede integrar en las cargas de trabajo de HPC y se muestra un ejemplo en la plataforma OnDemand de Azure HPC.

Eficiencia del rendimiento

Asegúrese de que el entorno de HPC se pueda escalar para satisfacer las demandas que los usuarios realizan de manera eficaz. Elija la plataforma adecuada para las aplicaciones de HPC en función de las recomendaciones del proveedor de aplicaciones, invierta en planeamiento de capacidad si se necesita una infraestructura adicional para satisfacer la demanda y supervise el rendimiento de la infraestructura de HPC a medida que los usuarios usan el sistema.

Para obtener más información, vea los temas de eficiencia de rendimiento.

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

Azure ofrece una variedad de plataformas para Virtual Machines 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 lo siguiente:

  • 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.
  • El tipo de MPI y la versión de la que la aplicación puede beneficiarse.
  • Recomendación sobre el tipo de programador.
  • Su recomendación sobre IOPS/rendimiento de los sistemas de archivos paralelos, si existe.

Inversión en el planeamiento de capacidad

En función del tipo de aplicación y sus condiciones de licencia, investigue si la licencia está bloqueada para usar un número específico de núcleos y, por tanto, evalúe su inversión para permitir que la licencia sirva para HPC y planee la 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 los recursos de Azure, lea este artículo.
  • Azure 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 la aplicación, lo que afecta al rendimiento. Esto 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 Azure Monitor y las herramientas de Azure Cost Management. También admite la supervisión de servicios externos a través de su arquitectura conectable. Puede consultar más información aquí.
  • Además, si usa Azure Batch, Batch Explorer es una herramienta de cliente independiente, completa y gratuita que puede ayudarle a crear, depurar y supervisar aplicaciones de Azure Batch.

Pasos siguientes