Zona de aterrizaje de Azure para HPC

La metodología de preparación de Cloud Adoption Framework para Azure puede guiarle a través de la preparación del entorno para la adopción de la nube. Durante la fase de preparación, puede usar una zona de aterrizaje de Azure. Una zona de aterrizaje es un acelerador técnico que proporciona el bloque de creación básico para cualquier entorno de adopción de la nube. Una zona de aterrizaje puede automatizar la configuración del entorno de Azure, y se alinea con la guía de procedimientos recomendados en Cloud Adoption Framework. Al preparar la informática de alto rendimiento (HPC), es posible que encuentre configuraciones de entorno que dependan del caso de uso y los requisitos del sector.

Arquitectura conceptual de la zona de aterrizaje de Azure

A medida que prepara el entorno para la adopción sostenida de la nube, puede usar una arquitectura conceptual de zona de aterrizaje de Azure, que representa un estado final de destino. Para HPC, hay varias referencias de arquitectura conceptual, basadas en los tres sectores a los que Cloud Adoption Framework se dirige actualmente:

Tenga en cuenta estas referencias de arquitectura a medida que desarrolle una visión a largo plazo para la zona de aterrizaje. Estas referencias proporcionan un punto inicial. En función de los requisitos empresariales de la organización y de las necesidades de los usuarios finales, es posible que tenga que modificarlas.

Evaluación de HPC

Las decisiones que tome durante la evaluación de impacto estratégico y la planificación técnica influyen en la configuración de la zona de aterrizaje que elija para las implementaciones de HPC en Azure. Le recomendamos que considere las siguientes preguntas:

  • ¿Qué grado de madurez tiene el entorno en Azure? ¿Está en la fase de prueba de concepto? ¿O ya es una aplicación madura que sirve a los usuarios? En función de su fase, puede incluir o omitir la gobernanza, la seguridad o la organización de recursos.
  • ¿La aplicación que va crear en Azure es un proyecto de corta duración o de larga duración? La respuesta a esta pregunta puede ayudarle a elegir las opciones de proceso y almacenamiento.
  • ¿Requiere su organización que los usuarios accedan a los recursos de Azure en varios niveles?

Como puede ver a raíz de estas preguntas, el modelo de implementación varía en función del uso de la empresa, el sector y la aplicación.

Aceleración de la zona de aterrizaje de Azure para HPC

Azure Batch y Azure CycleCloud constituyen ambos un servicio proporcionado por Azure, mientras que Azure HPC OnDemand Platform (AzHop) es una automatización basada en Azure Cycle Cloud que ofrece un mecanismo de implementación de un extremo a otro para una solución completa de clúster de HPC en Azure.

Azure Batch

  • Batch está diseñado para ejecutar trabajos por lotes de HPC en paralelo y a gran escala de forma eficaz en Azure.
  • Batch crea y administra un grupo de nodos de proceso o máquinas virtuales (VM). También puede usar Batch para instalar las aplicaciones que desea ejecutar y programar trabajos para que se ejecuten en los nodos.
  • No hay ningún software de programador de clústeres o trabajos que instalar, administrar o escalar.
  • Batch funciona bien con cargas de trabajo intrínsecamente paralelas. Estas cargas de trabajo tienen aplicaciones que se pueden ejecutar de manera independiente y donde cada instancia completa una parte del trabajo.
  • También puede usar Batch para ejecutar cargas de trabajo estrechamente acopladas donde las aplicaciones que se ejecutan necesitan comunicarse entre sí, en lugar de hacerlo de forma independiente.
  • Las tareas de Batch se pueden ejecutar directamente en máquinas virtuales o nodos en un grupo de Batch. Pero también puede configurar un grupo de Batch para ejecutar tareas en contenedores compatibles con Docker en los nodos.

Azure CycleCloud

  • Admite varios programadores de HPC, como SLURM, OpenPBS, PBSPro, LSF, Grid Engine y HTCondor12.
  • Permite aprovisionar infraestructura para sistemas HPC, como máquinas virtuales, conjuntos de escalado, interfaces de red y discos.
  • Escala automáticamente la infraestructura para ejecutar trabajos de forma eficaz a cualquier escala en función de los requisitos de carga, disponibilidad y tiempo del trabajo.
  • Proporciona un formato enriquecido, declarativo y de plantillas para construir entornos de HPC completos en Azure.
  • Se integra con servicios de Azure como Azure Monitor y las herramientas de Azure Cost Management.

AzHop

  • AzHop proporciona un mecanismo de implementación de un extremo a otro para una infraestructura HPC base en Azure utilizando CycleCloud para orquestar trabajos.
  • Ofrece una solución completa de clúster de HPC que está lista para que los usuarios ejecuten aplicaciones en ella y que sea fácil de implementar y administrar para los administradores de HPC.
  • AzHop utiliza varias aplicaciones integradas que puede utilizar "tal cual" o que puede personalizar y ampliar fácilmente para satisfacer cualquier necesidad no cubierta.
  • Incluye un portal de OpenOn Demand para el acceso unificado de usuarios, el acceso de shell remoto, el acceso a la visualización remoto, el envío de trabajos, el acceso a archivos, etc.
  • Usa Active Directory para la autenticación de usuarios y el control de dominio.
  • Usa OpenPBS o Simple Linux Utility for Resource Management (SLURM) como programador de trabajos.
  • El aprovisionamiento dinámico de recursos y el escalado automático se realizan mediante colas de trabajos preconfiguradas de CycleCloud y comprobaciones de estado integradas para evitar rápidamente nodos no óptimos.
  • Azure NetApp Files ofrece un sistema de archivos compartido para el directorio principal y las aplicaciones.

Gráfico de comparación

Característica Azure Batch Azure CycleCloud
Scheduler Las API y herramientas de Batch están disponibles. También puede usar scripts de línea de comandos nativos en la nube en Azure Portal. Puede usar programadores de HPC estándar, como SLURM, OpenPBS, PBSPro, LSF, Grid Engine y HTCondor. O bien, puede ampliar los complementos de escalado automático de Azure CycleCloud para trabajar con su propio programador.
Recursos de proceso Nodos de software como servicio (SaaS): Plataforma como servicio (PaaS). Software PaaS: PaaS.
Herramientas de supervisión Azure Monitor. Azure Monitor y Grafana.
Personalización Puede usar grupos de imágenes personalizados, imágenes de terceros o acceso de API de Batch. Puede usar la API de RESTful completa para personalizar y ampliar la funcionalidad, implementar su propio programador y dar soporte técnico a los administradores de carga de trabajo existentes.
Integración Canalizaciones de Azure Synapse Analytics, Azure Data Factory y la CLI de Azure. Una CLI integrada para Windows y Linux.
Tipo de usuario Desarrolladores. Administradores y usuarios clásicos de HPC.
Tipo de trabajo Lotes y flujos de trabajo. Flujos de trabajo estrechamente acoplados que usan la interfaz de paso de mensajes (MPI).
Soporte técnico de Windows Proporcionado. Depende de la elección del programador.

Azure CycleCloud y Azure Batch son herramientas eficaces para tareas de HPC en Azure, pero están diseñadas para diferentes casos de uso.

Azure CycleCloud es una herramienta fácil de manejar para orquestar y administrar entornos de HPC en Azure. Está dirigida a administradores y usuarios de HPC que desean implementar un entorno de HPC teniendo en cuenta un programador específico. Azure CycleCloud proporciona herramientas eficaces para construir entornos de HPC completos en Azure, incluidos servidores de Network File Sharing (NFS), sistemas de archivos paralelos, hosts de inicio de sesión, servidores de licencias y servicios de directorio. Es útil para las organizaciones que han operado entornos de HPC durante un tiempo y han acumulado años de experiencia y herramientas internas en torno a un programador específico.

En cambio, Batch se dirige sobre todo a desarrolladores y equipos que incorporan una capacidad a su propio producto o servicio. Batch incluye su propio programador y está diseñado para ejecutar trabajos paralelos a gran escala de forma eficaz sin software de programador de trabajos o clústeres. Batch es útil cuando no es necesario administrar un programador de cargas de trabajo.

En resumen, use Azure CycleCloud cuando quiera implementar un entorno de HPC con un programador específico en mente y necesite un entorno de HPC completo. Use Batch cuando desarrolle un producto o servicio que requiera procesamiento paralelo a gran escala y no quiera administrar un programador de cargas de trabajo.

Pasos siguientes