Visão geral completa da arquitetura de elevação e mudança de HPC
"Lift and shift" no contexto da computação de alto desempenho (HPC) refere-se principalmente ao processo de migração de um ambiente local e carga de trabalho para a nuvem. Idealmente, as modificações são mantidas a um mínimo (por exemplo, aplicativos, agendadores de trabalho, e suas configurações devem permanecer basicamente as mesmas). Os ajustes no armazenamento e no hardware são naturais porque os recursos são diferentes das plataformas locais para as plataformas em nuvem. Com a abordagem lift and shift, as organizações podem começar a se beneficiar da nuvem mais rapidamente.
A figura a seguir representa um cluster HPC local típico em um ambiente de produção, que o fabricante de hardware geralmente fornece. Esse ambiente local compreende um conjunto de nós de computação, que podem ou não funcionar com imagens e contêineres de máquinas virtuais. Esses nós executam cargas de trabalho gerenciadas por um agendador de tarefas, que normalmente pode ser Slurm, PBS ou LSF. As cargas de trabalho vêm de vários usuários que têm o gerenciamento de identidade associado a eles. Normalmente, existem diretórios base, discos de trabalho e armazenamento de longo prazo. Alguma forma de monitoramento para verificar o desempenho dos trabalhos e a integridade dos nós de computação também estão disponíveis. Os usuários podem acessar o ambiente por meio de linha de comando, navegadores ou algum tipo de tecnologia de visualização remota. Todo o ambiente é hospedado em uma rede privada, para que os usuários tenham algum mecanismo para acessar a instalação de computação, seja via VPN ou via portal.
Como vemos ao longo deste documento, o ambiente na nuvem seguindo o modelo de Infraestrutura como Serviço, conceitualmente falando, não é tão diferente. Algumas tecnologias precisam de algumas atualizações e algumas etapas durante a migração do local para a nuvem são necessárias.
Por conseguinte, o presente documento:
- Passa pelas opções para o processo de migração;
- Fornece indicações para produtos e melhores práticas para cada componente;
- E fornece recomendações para evitar armadilhas no processo.
Antes de saltar para a descrição da arquitetura, é relevante entender as diferentes personas neste contexto, suas necessidades e expectativas.
Personas e experiência do usuário
Existem diferentes pessoas que precisam de aceder ao ambiente de HPC. As suas atividades e a forma como interagem com o ambiente variam bastante.
Utilizador final (engenheiro/cientista/investigador)
Esta persona representa o especialista no assunto (por exemplo, biólogo, físico, engenheiro, etc.) que deseja executar experimentos (ou seja, enviar trabalhos) e analisar resultados. Os usuários finais interagem com os administradores de sistema para ajustar o ambiente de computação sempre que necessário. Eles podem ter alguma experiência usando ferramentas baseadas em CLI, mas alguns deles podem confiar apenas em portais da web ou interfaces gráficas do usuário via VDI para enviar seus trabalhos e interagir com os resultados gerados.
Novas responsabilidades em ambiente de HPC na nuvem:
- O utilizador final não deve ter quaisquer novas responsabilidades com base no trabalho do Administrador de HPC e do Administrador de Nuvem. Dependendo do ambiente local, os usuários finais têm acesso a uma maior capacidade e variedade de recursos de computação para se tornarem mais produtivos.
Administrador de HPC
Esta persona representa aquele que tem experiência em HPC e é responsável por implantar a infraestrutura de computação inicial e adaptá-la de acordo com as necessidades do negócio e do usuário final. Essa persona também é responsável por verificar a integridade do sistema e realizar a solução de problemas. Os administradores de HPC estão confortáveis em acessar a arquitetura e seus componentes por meio de CLI, SDKs e portais da Web. Eles também são o primeiro ponto de contato quando os usuários finais enfrentam qualquer desafio com o ambiente de computação.
Novas responsabilidades em ambiente de HPC na nuvem:
- Gerir recursos e serviços na nuvem (por exemplo, máquinas virtuais, armazenamento, rede) através de plataformas de gestão na nuvem.
- Implementação e gestão de clusters e recursos através de novas ferramentas de orquestração de recursos (por exemplo, CycleCloud).
- Otimizando a implantação de aplicativos entendendo os detalhes da infraestrutura (ou seja, tipos de VM, armazenamento e opções de rede).
- Otimizar a utilização de recursos e os custos usando recursos específicos da nuvem, como dimensionamento automático e instâncias spot.
Administrador de nuvem
Esta persona trabalha com o administrador de HPC para ajudar a implantar e manter a infraestrutura de computação. Essa persona não é (necessariamente) um especialista em HPC, mas um especialista em nuvem com profundo conhecimento da infraestrutura geral de TI da empresa, incluindo configurações/políticas de rede, direitos de acesso do usuário e dispositivos do usuário. Dependendo do caso, o administrador de HPC e o administrador de nuvem podem ser a mesma pessoa.
Novas responsabilidades em ambiente de HPC na nuvem:
- Colaborar com administradores de HPC para garantir a integração perfeita de cargas de trabalho de HPC com a infraestrutura de nuvem.
- Monitoramento e gerenciamento de desempenho, segurança e conformidade da infraestrutura de nuvem.
- Ajudar na configuração de soluções de rede e armazenamento baseadas na nuvem para suportar cargas de trabalho HPC.
Gestor de negócio / proprietário
Essa persona representa aquele que é responsável pelo negócio, o que inclui cuidar do orçamento e dos projetos para atingir as metas organizacionais. Para essa persona, o componente contábil da arquitetura é relevante para entender os custos de cada projeto. Essa persona trabalha com administradores de HPC e usuários finais para entender as necessidades da plataforma, incluindo armazenamento, rede e recursos de computação. Eles também planejam cargas de trabalho futuras.
Novas responsabilidades em ambiente de HPC na nuvem:
- Analisar relatórios de custos detalhados e métricas de uso fornecidas por provedores de serviços em nuvem para gerenciar orçamentos e prever despesas.
- Tomada de decisões estratégicas com base no uso de recursos na nuvem e oportunidades de otimização de custos.
- Planejamento e aprovação de investimentos em infraestrutura de nuvem para dar suporte a futuras cargas de trabalho de HPC e objetivos de negócios.
Visão geral da arquitetura de elevadores e turnos
Um ambiente de HPC de produção na nuvem compreende vários componentes. Existem alguns componentes principais para suportar um ambiente, como um agendador de tarefas, um provedor de recursos, um ponteiro de entrada para o usuário acessar o ambiente, dispositivos de computação e armazenamento, entre outros. À medida que o ambiente entra em produção, o monitoramento, a observabilidade, as verificações de integridade, a segurança, o gerenciamento de identidade, a responsabilidade, as diferentes opções de armazenamento, entre outros componentes, começam a desempenhar um papel crítico.
Há também extensões que podem estar em vigor, como nós de login, data movers, uso de contêineres, gerenciadores de licenças, entre outros que dependem da instalação.
Esse ambiente de nível de produção pode ter vários componentes a serem configurados. Portanto, os implantadores e gerentes de ambiente tornam-se fundamentais para automatizar sua implantação inicial e atualizá-la ao longo do caminho, respectivamente. Instalações mais avançadas também podem ter modelos de ambiente (ou especificações) com versões e configurações de software que são mais ideais e testadas corretamente. Quando o ambiente estiver em produção com todos os componentes necessários instalados, ao longo do tempo, poderão ser necessários ajustes para atender às demandas do usuário, incluindo alterações nos tipos de VM ou opções/recursos de armazenamento.
Instanciando a arquitetura de nuvem HPC de elevação e deslocamento
Aqui fornecemos mais detalhes para cada componente de arquitetura, incluindo ponteiros para produtos oficiais do Azure, blogs de tecnologia com algumas práticas recomendadas, repositórios git e links para soluções que não são de produtos.
Início rápido. Para obter uma solução de início rápido para criar um ambiente HPC na nuvem com blocos de construção básicos, recomendamos o uso do espaço de trabalho Azure CycleCloud Slurm.