A estrutura bem arquitetada do Azure para HPC
O plano para a computação de alto desempenho (HPC) do Azure descreve um processo para racionalizar seu cenário, priorizar esforços técnicos e identificar cargas de trabalho. Para muitas das cargas de trabalho, é importante aderir a um conjunto de princípios de arquitetura. Esses princípios ajudam a orientar o desenvolvimento e a otimização das cargas de trabalho. As cinco construções arquitetônicas são detalhadas no Azure Well-Architected Framework. Este guia fornece um resumo de como você pode aplicar esses princípios ao gerenciamento de suas cargas de trabalho de dados.
Fiabilidade
Tudo tem potencial para quebrar. Os pipelines de dados não são exceção. Grandes arquiteturas são projetadas com disponibilidade e resiliência em mente. As principais considerações são a rapidez com que você pode detetar alterações e a rapidez com que você pode retomar as operações.
Seu ambiente de dados deve considerar arquiteturas resilientes, redundâncias entre regiões, nível de serviço, contratos de nível de serviço (SLAs) e suporte crítico. O ambiente existente deve também incluir auditorias, monitorização e alertas, utilizando uma monitorização integrada e um quadro de notificação.
Além desses controles ambientais, a equipe de carga de trabalho deve considerar:
- Fazer mais modificações na arquitetura para melhorar os SLAs de nível de serviço.
- Configuração de arquitetura redundante específica da carga de trabalho.
- Estabelecer processos de monitoramento e notificação além do que as equipes de operações em nuvem fornecem.
Conectividade Hybrid ExpressRoute
Para dar suporte a cargas de trabalho HPC de missão crítica, use uma configuração de alta disponibilidade do Azure ExpressRoute. Mesmo em uma configuração de alta disponibilidade em um único site, onde você pode ter uma conexão redundante de Rota Expressa, ela não o protege contra o tempo de inatividade de um único site de borda. Quando você habilita duas conexões em duas instalações, a redundância permite que sua empresa continue se houver um desastre no local principal. Usando a alta disponibilidade da Rota Expressa, você pode ajudar a garantir a conectividade com o Azure se ocorrer uma interrupção da Rota Expressa em uma única região.
Recomendações
- Habilite dois circuitos de Rota Expressa em dois locais de presença de Rota Expressa diferentes para máxima redundância.
- Essa configuração requer que você estabeleça dois circuitos de Rota Expressa no portal do Azure para os dois locais de presença de Rota Expressa diferentes. Em seguida, você conecta ambos os circuitos de Rota Expressa à mesma rede de hub virtual no Azure.
- Coloque os dois locais de site de borda na mesma região do Azure. É o que fornece a redundância no caso de um dos locais de emparelhamento falhar. Ambas as conexões de Rota Expressa terminam na mesma rede de hub virtual no Azure. Veja a lista de locais de Rota Expressa e parceiros de conectividade para planejar seus locais de emparelhamento de Rota Expressa.
- Trabalhe com o provedor para configurar o segundo site da Rota Expressa.
- Certifique-se de que a segunda conexão está funcionando fazendo o failover de tráfego para o segundo local, que é crítico. Execute exercícios regulares para garantir a conectividade.
Para obter mais informações sobre uma configuração de Rota Expressa de resiliência máxima, consulte Design para recuperação de desastres com a Rota Expressa.
Segurança
Aplique princípios de segurança ao seu ambiente HPC para fornecer proteções contra ataques deliberados e abuso dos seus valiosos dados e sistemas. Verifique a proteção das imagens do sistema operacional do usuário e do acesso do usuário e siga as diretrizes de segurança do Azure Batch e do Azure CycleCloud. Para obter mais informações, consulte Princípios do pilar de segurança.
Imagens de sistema operativo
O Azure Marketplace fornece imagens HPC baseadas em Linux para usar no cluster. Essas imagens contêm muitas bibliotecas populares, pacotes de software e ferramentas de diagnóstico, como:
- Bibliotecas de interface de passagem de mensagens (MPI) baseadas em InfiniBand.
- Mellanox OFED.
- IP pré-configurado sobre InfiniBand.
- Tempos de execução da comunicação.
- Bibliotecas otimizadas para Intel/AMD.
- Ferramentas de diagnóstico de HPC do Azure.
Você pode começar com as imagens e, em seguida, aplicar as políticas de segurança da sua organização para fortalecer as imagens de software contra vulnerabilidades e ameaças cibernéticas. Após a validação, você pode salvar a nova imagem na Galeria de Computação do Azure. Em seguida, você pode usar a imagem para criar máquinas virtuais no Azure CycleCloud, Azure HPC e Batch.
Acesso do utilizador
- Definir linhas claras de responsabilidade e separação de funções para cada função.
- Restrinja o acesso com base em princípios de segurança de necessidade de conhecimento e privilégios mínimos.
- Atribua permissões a usuários, grupos e aplicativos em um determinado escopo por meio do controle de acesso baseado em função do Azure. Use funções internas sempre que possível.
- Impeça a exclusão ou modificação de um recurso, grupo de recursos ou assinatura por meio de bloqueios de gerenciamento.
- Use identidades gerenciadas para acessar recursos no Azure.
- Ofereça suporte a um único diretório corporativo. Mantenha os diretórios na nuvem e no local sincronizados, exceto para contas de impacto crítico.
- Configure o Acesso Condicional do Microsoft Entra. Imponha e meça os principais atributos de segurança ao autenticar todos os usuários, especialmente para contas de impacto crítico.
- Use métodos sem senha ou opte por métodos de senha modernos.
- Bloqueie protocolos herdados e métodos de autenticação.
Segurança do Azure Batch
Siga as práticas recomendadas para habilitar a segurança para o Batch.
Segurança do Azure CycleCloud
Siga as práticas recomendadas para habilitar a segurança para o Azure CycleCloud.
Otimização de custos
Para aproveitar ao máximo a execução do seu ambiente no Azure, priorize o gerenciamento de custos e os exercícios de planejamento inicial. O gerenciamento e o planejamento de custos geralmente são as considerações mais importantes para a jornada bem-sucedida de migração para a nuvem de uma organização. O Microsoft Cost Management oferece ferramentas para planejar, analisar e reduzir gastos para maximizar seu investimento em nuvem. Para obter mais informações sobre as maneiras de planejar e otimizar seus custos de nuvem, consulte Práticas recomendadas de faturamento de gerenciamento de custos. As considerações a seguir são algumas das mais importantes na otimização de custos.
Escolha do sistema operacional
O Linux é o sistema operacional dominante para cargas de trabalho HPC. O Linux é de código aberto e ajustado para o desempenho para usar a infraestrutura HPC. Assim, as bibliotecas MPI e drivers Infiniband funcionam bem no Linux versus Windows. Ao usar máquinas virtuais (VMs) Linux versus Windows para configurar um cluster HPC, ele definitivamente pode economizar custos. Mas alguns usuários podem ter uma forte preferência por um ambiente Windows, especialmente ao fazer as tarefas de pré-processamento e pós-processamento em cargas de trabalho, como dinâmica de fluidos computacional. Nesse caso, recomendamos que um front-end do Windows envie trabalhos para um host Linux, um nó principal, que usa os nós de computação para simulações.
Dimensionamento automático
O dimensionamento automático permite configurar e usar VMs somente quando você envia um trabalho ou quando um trabalho está ativo. Quando o trabalho termina, os nós são desligados automaticamente. Ao usar o dimensionamento automático, você ajusta os recursos de computação usados pelo seu aplicativo, potencialmente economizando tempo e dinheiro. O Azure CycleCloud tem o dimensionamento automático ativado em seus agendadores por padrão. O limite de tempo padrão para desligar os nós é de 15 minutos. Você pode personalizar o limite de tempo. O limite de tempo ajuda a garantir que os utilizadores paguem apenas pelo que utilizam. O lote fornece um mecanismo para integrar uma fórmula de dimensionamento automático com uma escolha de parâmetros. Para obter mais informações, consulte Introdução ao dimensionamento automático no Azure.
Pagamento conforme o uso versus instâncias reservadas e instâncias spot
O Azure fornece várias opções de preços, pré-pagamento, instância reservada com opções de um ou três anos e instâncias spot que estão sujeitas à capacidade disponível no Data center. As instâncias de pagamento conforme o uso são econômicas porque atendem à demanda esporádica por capacidade. As instâncias reservadas podem ser rentáveis se houver uma demanda contínua por HPC ou se houver muitos aplicativos executados no Azure HPC. Ambos são adequados para cargas de trabalho prontas para produção. As instâncias pontuais são boas para testes e experimentação breves ou se o seu aplicativo precisar de pontos de verificação, por exemplo, genômica. As instâncias spot estão sujeitas à capacidade disponível no data center. O preço depende desses fatores. Você pode remover instâncias pontuais com aviso prévio mínimo.
Classificação de dados
As cargas de trabalho de HPC se beneficiam do armazenamento de alto rendimento. Por exemplo, use o Azure Managed Lustre, Azure Net App Files ou BeeGFS Parallel File System. Esses serviços de armazenamento oferecem desempenho, mas podem ter um custo. É importante classificar seus dados com antecedência para que apenas dados específicos do aplicativo residam nesses sistemas. Todos os outros dados podem residir em soluções de armazenamento de baixo custo, como o Armazenamento Azure Data Lake ou o Armazenamento de Blobs do Azure.
Além disso, pode ser útil configurar sistemas de armazenamento HPC sob demanda para ajudar a garantir que os dados sejam sincronizados com um serviço de armazenamento de baixo custo, como o Blob Storage. O armazenamento sob demanda ajuda a garantir a retenção de dados no armazenamento de Blob quando o sistema de armazenamento de alto desempenho é desligado. O Managed Lustre e o Net App Files oferecem um serviço de sincronização.
Definir orçamentos
O Azure CycleCloud permite definir orçamentos por cluster e pode enviar notificações aos destinatários se eles estiverem perto de esgotar os orçamentos. Para o Lote, você pode criar orçamentos e alertas de gastos para seus pools de Lotes ou contas de Lote no portal do Azure. Os orçamentos e alertas são úteis para notificar as partes interessadas de quaisquer riscos de gastos excessivos, embora seja possível que haja um atraso nos alertas de gastos e exceda ligeiramente um orçamento.
Excelência operacional
Quando você mantém seus aplicativos HPC em execução em produção, as implantações devem ser confiáveis e previsíveis. Implantações confiáveis e previsíveis consistem em automatizar cargas de trabalho de HPC com soluções de infraestrutura como código (IaC). Você também deve executar verificações de integridade do nó para analisar e monitorar suas cargas de trabalho de HPC.
Para obter mais informações sobre sugestões de implantação, consulte Recomendações para usar a infraestrutura como código. Para obter mais informações sobre sugestões de monitoramento, consulte Recomendações para projetar e criar um sistema de monitoramento.
Infraestrutura como código
O HPC no Azure implanta vários recursos, como Azure CycleCloud, Cluster HPC, Armazenamento, Nós de Visualização, Servidores de Licença e assim por diante. Para automatizar a implantação, recomendamos que você use ferramentas padrão do setor, como Terraform, Ansible e Packer, para simplificar o processo.
Verificação de integridade do nó
O Azure Managed Grafana é um serviço totalmente gerenciado para soluções de análise e monitoramento. O Grafana Labs suporta o Grafana e fornece visualizações de dados extensíveis. Você pode integrar essa solução nas cargas de trabalho de HPC como exemplo. Para obter mais informações, consulte Plataforma Azure HPC OnDemand.
Eficiência de desempenho
Certifique-se de que seu ambiente HPC seja capaz de ser dimensionado de forma eficiente para que possa atender às demandas impostas pelos usuários. Escolha a plataforma certa para as suas aplicações HPC com base nas recomendações do fornecedor da aplicação. Invista no planejamento de capacidade se precisar de infraestrutura extra para atender à demanda. Monitorize o desempenho da infraestrutura HPC à medida que os utilizadores utilizam o seu sistema.
Para obter mais informações, consulte os artigos sobre eficiência de desempenho.
Escolha a plataforma certa para a aplicação HPC
O Azure oferece uma variedade de plataformas para VMs baseadas em Intel, CPU AMD e NVIDIA e GPU AMD. Embora a maioria dos aplicativos seja compatível com o que está disponível, alguns se beneficiam apenas de um tipo específico de CPU ou GPU. Antes de implantar sua infraestrutura na nuvem, é importante ter uma recomendação do fornecedor do aplicativo (ISV) para entender as seguintes necessidades.
- Se o aplicativo estiver ligado à memória, à CPU ou à GPU
- Se eles tiverem alguma recomendação sobre qualquer tipo de arquitetura de CPU ou GPU para desempenho
- Se houver um tipo de IPM e sua versão da qual seu aplicativo possa se beneficiar
- Se houver uma recomendação sobre o tipo de agendador:
- Se houver uma recomendação sobre IOPS/taxa de transferência dos sistemas de arquivos paralelos
Invista no planejamento de capacidade
Com base no tipo de aplicativo e suas condições de licença, verifique se a licença está definida para usar um número específico de núcleos. Avalie o seu investimento para permitir que a licença atenda à HPC e, em seguida, planeie a sua capacidade em conformidade.
Monitorar o desempenho da infraestrutura
- É importante ser capaz de rastrear a maneira como os usuários usam seu sistema, rastrear o uso de recursos e, geralmente, monitorar a integridade e o desempenho do seu sistema. Você pode usar essas informações como um auxílio de diagnóstico para detetar e corrigir problemas e para ajudar a detetar possíveis problemas e evitar que eles ocorram. Para obter uma visão geral dos componentes e serviços do Azure disponíveis para monitorar seus recursos, consulte Visão geral do Azure Monitor.
- O Monitor é uma ótima ferramenta para identificar se há gargalos nas instâncias e no armazenamento da VM.
- A limitação do armazenamento pode fazer com que os aplicativos diminuam substancialmente e afetem o desempenho. A limitação acontece quando as operações de entrada e saída dentro do armazenamento excedem os limites de taxa de transferência definidos. Os serviços de Armazenamento do Azure oferecem gráficos de operações de leitura e gravação para monitorar se há algum problema de limitação.
- O Azure CycleCloud integra-se com serviços do Azure, como as ferramentas Monitor e Microsoft Cost Management. Ele também suporta o monitoramento de serviços externos através de sua arquitetura conectável. Para obter mais informações, consulte Monitoramento.
- Além disso, se você estiver usando o Batch, o Batch Explorer é uma ferramenta de cliente autônoma, gratuita e com recursos avançados para ajudar a criar, depurar e monitorar aplicativos em lote.