Descrever os conceitos básicos do Azure CycleCloud
Muitas organizações querem fazer a transição de suas cargas de trabalho de HPC locais para o Azure para aproveitar os recursos de hiperescala. Elas também querem minimizar a curva de aprendizado associada a essa transição e usar a experiência associada às implantações existentes, como um agendador de HPC específico. Por fim, elas buscam informações sobre o desempenho e o custo dos recursos de cluster baseados em nuvem em relação a seus ambientes locais.
Implementar uma solução personalizada que atende a essas necessidades é um desafio. Requer um conhecimento aprofundado dos recursos de computação, rede e armazenamento do Azure que servem como blocos de construção de clusters de HPC baseados em nuvem. Além disso, sem uma interface de gerenciamento correspondente, operar essa solução contando com as ferramentas de gerenciamento padrão do Azure resultaria em sobrecarga administrativa significativa.
O Azure CycleCloud resolve essas preocupações oferecendo um modo simples, seguro e escalonável de implementar agendadores de HPC no Azure. Nesta unidade, você aprende sobre sua funcionalidade básica.
Observação
O Azure CycleCloud destina-se a cenários de implantação que exigem o uso de um agendador HPC específico. Isso complementa o Lote do Azure, que fornece um agendador como um serviço no Azure.
O que é o Azure CycleCloud?
O Azure CycleCloud é uma ferramenta para implantar clusters HPC no Azure e gerenciar suas cargas de trabalho. Ele oferece uma ampla variedade de recursos de HPC, incluindo:
Implantação baseada em modelo de clusters HPC. O Azure CycleCloud fornece modelos personalizáveis integrados para a implantação dos agendadores de cluster mais comuns, incluindo o SLURM, o OpenPBS, o LSF, o Grid Engine e o HTCondor. Muitos outros modelos predefinidos, que você pode importar para sua instância do Azure CycleCloud, estão disponíveis no repositório do CycleCloud do GitHub.
Observação
Os modelos são arquivos formatados em INI que usam sintaxe declarativa para descrever como os nós são organizados em um cluster do CycleCloud, incluindo as respectivas relações. Os modelos contêm referências a projetos, que definem a configuração do nó.
Dimensionamento manual e automatizado de nós de cluster. O Azure CycleCloud permite os dimensionamentos horizontais manual e automatizado de clusters gerenciados de acordo com o tamanho das filas de trabalho e das políticas de governança. Ele também oferece uma API REST para desenvolver adaptadores de dimensionamento automático para agendadores personalizados.
Configuração de nó por meio de scripts cloud-init. O Azure CycleCloud dá suporte ao gerenciamento de configuração com base em scripts personalizados executados em nós de cluster gerenciado antes de qualquer outra tarefa de configuração específica do CycleCloud.
Gerenciamento do armazenamento de cluster interno e externo. O Azure CycleCloud permite configurar o armazenamento de cluster provisionando, montando e formatando discos gerenciados do Azure e o NAS, como servidores NFS ou clusters BeeGFS.
Monitoramento, registro em log e alertas. O Azure CycleCloud oferece monitoramento de cluster integrado e integra-se ao Azure Monitor. Também é possível armazenar dados de log de clusters do CycleCloud para o Log Analytics e criar painéis de métricas personalizados. Além disso, você pode criar alertas personalizados e notificações por email disparadas por dados telemétricos. Todas as atividades do Azure CycleCloud são registradas.
Autenticação e autorização. O Azure CycleCloud dá suporte à autenticação local integrada. Como alternativa, você pode integrá-la ao Active Directory Domain Services ou a outros provedores de identidade baseados no protocolo LDAP. Por padrão, os usuários definidos localmente têm acesso ao sistema operacional nos nós de cluster gerenciados, mas é possível administrar usuários de cluster em separado. Para gerenciamento de recursos em uma assinatura do Azure, você pode usar uma entidade de serviço do Microsoft Entra ou uma identidade gerenciada.
Relatórios e controles de custos em quase tempo real. O Azure CycleCloud rastreia o uso do cluster e estima o custo correspondente. Esse recurso permite configurar alertas de orçamento disparados quando o custo do cluster excede o valor monetário especificado. O Azure CycleCloud também se integra ao Gerenciamento de Custos da Microsoft.
Como implementar e usar o Azure CycleCloud?
O CycleCloud é implementado como um aplicativo Web baseado em Linux, que você pode instalar em qualquer localização da qual possa acessar seu ambiente do Azure. A maneira mais simples de defini-lo é implantando uma VM do Azure usando a imagem Azure Marketplace correspondente, com a opção de automatizar a implantação usando um modelo do ARM (Azure Resource Manager). Como alternativa, você pode usar pacotes yum ou apt ou uma imagem de contêiner disponível no Registro de Contêiner da Microsoft.
Durante a configuração inicial, você pode fornecer uma chave SSH para proteger o acesso ao sistema operacional que hospeda o aplicativo do CycleCloud e aos nós de cluster implantados posteriormente. Para permitir que o aplicativo do CycleCloud interaja com o Azure Resource Manager, escolha uma identidade do Microsoft Entra que forneça contexto de segurança para essa interação e atribua a ela permissões suficientes na assinatura do Azure de destino usando o RBAC (controle de acesso baseado em função) do Azure. Essa identidade pode assumir a forma de uma entidade de serviço ou uma identidade gerenciada caso você esteja hospedando o aplicativo do Azure CycleCloud em uma VM do Azure.
Uma instância do Azure CycleCloud também requer uma conta de armazenamento do Azure e um contêiner de blob que a acompanhe. Esse contêiner, conhecido como um armário, fornece a área de preparo para a implantação de projetos em nós de cluster.
Uma vez instalado, o aplicativo Azure CycleCloud fornece uma interface gráfica do usuário que permite que um usuário gerencie e monitore sistemas HPC e uma CLI (interface de linha de comando) que facilita a automação e a integração do CycleCloud aos fluxos de trabalho. Você também pode usar a CLI para importar modelos, automatizar o provisionamento de cluster e executar tarefas de gerenciamento mais avançadas.
Qual é a arquitetura do Azure CycleCloud?
O Azure CycleCloud fornece uma camada adicional de abstração em comparação ao Azure Resource Manager, minimizando a necessidade de seus usuários lidarem diretamente com os recursos de computação e armazenamento do Azure. Sua função é converter configurações no nível do agendador acessíveis por meio de sua interface gráfica ou da CLI em chamadas à API do Azure Resource Manager (ARM) que interagem com VMs do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais do Azure em redes virtuais e sub-redes definidas pelo usuário. Essas chamadas também consideram cotas de vCPU regionais, limites de tamanho de cluster e restrições de topologia de rede InfiniBand. Elas também facilitam a otimização do desempenho do cluster usando constructos como grupos de posicionamento por proximidade ou conectando nós de cluster ao mesmo comutador InfiniBand.
Observação
Um grupo de posicionamento por proximidade permite colocar VMs do Azure próximas umas das outras, mas não considera a rede InfiniBand. O Azure CycleCloud permite que você use seu próprio constructo específico, conhecido como PlacementGroupId , para agrupar nós de cluster em um único Conjunto de Dimensionamento de VMs do Azure conectado ao mesmo comutador de rede. É possível combinar esses dois recursos, mas isso pode reduzir o número de nós que você pode provisionar no mesmo conjunto de dimensionamento de VM do Azure.
O Azure CycleCloud orquestra o ciclo de vida de clusters HPC, que normalmente consistem em um ou mais nós de computação e nós de computação do agendador de HPC, mas também podem incluir o Armazenamento Anexado à Rede, como um servidor NFS ou cluster BeeGFS, Azure NetApp Files, Azure HPC Cache e Microsoft Entra Domains Services. Ele inclui um armazenamento de dados NoSQL interno que armazena em cache os estados do cluster e do nó. Seu sistema de monitoramento de nós habilita alertas. Sua funcionalidade de gerenciamento é exposta por meio da API REST e fica acessível por meio da Web e da CLI.
O cálculo automático do cluster gerenciado depende da calculadora de demanda e da biblioteca de dimensionamento automático. Você aprenderá sobre as características desses itens na próxima unidade deste curso.
O que é o ciclo de vida do cluster do Azure CycleCloud?
O ciclo de vida de um cluster começa com a seleção de um modelo que contém sua definição. Você tem a opção de usar um dos modelos internos ou criar um modelo personalizado e importá-lo para o aplicativo CycleCloud. O modelo normalmente inclui vários parâmetros, que permitem personalizar a configuração do cluster durante a criação. As especificidades do processo de criação de cluster dependem de se você usa a Web ou a CLI.
Depois de criar um cluster, você pode iniciá-lo. Iniciar um cluster dispara uma sequência de tarefas para cada nó que faz parte da definição baseada em modelo de cluster. Essa sequência consiste em uma chamada para o Azure Resource Manager solicitando o provisionamento de uma VM do Azure, conhecida como estado de aquisição . Isso é seguido pela configuração da VM, incluindo a execução de sua inicialização definida no projeto correspondente, execução de scripts para instalar e configurar o software de agendamento e provisionamento e montagem de volumes do sistema de arquivos. Quando a sequência for concluída, o nó atingirá o estado Iniciado. Qualquer erro não tratado ou desconhecido resulta no estado erro .
Depois que os nós de cluster estão em execução, eles ficam acessíveis remotamente por meio de SSH ou RDP, dependendo do sistema operacional. Você pode usar essas conexões para enviar trabalhos de cluster. Dependendo da configuração do cluster, isso pode disparar o dimensionamento do cluster.
Você poderá encerrar um cluster quando ele concluir todos os trabalhos enviados. Encerrar o cluster interrompe e remove os nós e exclui todos os volumes não persistentes, deixando o cluster no estado Desligado.

