Editar

Share via


Arquitetura de SAS no Azure

Máquinas Virtuais do Azure
Rede Virtual do Azure

Essa solução executa cargas de trabalho analíticas do SAS no Azure. As diretrizes abrangem vários cenários de implantação. Por exemplo, várias versões de SAS estão disponíveis. Você pode executar o software SAS em VMs (máquinas virtuais autogerenciadas). Você também pode implantar versões baseadas em contêiner usando o AKS (Serviço de Kubernetes do Azure).

Arquitetura

Architecture diagram showing how to deploy SAS products on Azure.

O diagrama contém um retângulo grande com o rótulo Rede Virtual do Azure. Dentro dele, outro retângulo grande tem o rótulo Grupo de posicionamento por proximidade. Dois retângulos estão dentro dele. Eles são empilhados verticalmente e cada um tem o rótulo Grupo de segurança de rede. Cada retângulo de grupo de segurança contém vários ícones de computador organizados em linhas. No retângulo superior, os ícones do computador no lado esquerdo da linha superior têm o rótulo Camada Intermediária. Os ícones à direita têm o rótulo Camada de metadados. A linha inferior dos ícones tem o rótulo Camada de computação. No retângulo inferior, a linha superior dos ícones de computador tem o rótulo Servidores MGS e MDS. A linha inferior tem o rótulo Servidores OSTs e OSS.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

As implantações do SAS Azure normalmente contêm três camadas:

  • Uma camada de API ou visualização. Dentro dessa camada:

    • A camada de metadados fornece aos aplicativos cliente acesso a metadados em fontes de dados, recursos, servidores e usuários.
    • Os aplicativos Web fornecem acesso aos dados de inteligência na camada intermediária.
  • Uma plataforma de computação, em que os servidores SAS processam dados.

  • Uma camada de armazenamento que a SAS usa para armazenamento permanente. As opções populares no Azure são:

    • Lustre
    • IBM Spectrum Scale
    • NFS (sistema de arquivos de rede)

Uma Rede Virtual do Azure isola o sistema na nuvem. Dentro dessa rede:

  • Um grupo de posicionamento por proximidade reduz a latência entre VMs.
  • Os grupos de segurança de rede protegem os recursos SAS contra tráfego indesejado.

Pré-requisitos

Antes de implantar uma carga de trabalho SAS, confirme se os seguintes componentes estão em vigor:

  • Uma recomendação de dimensionamento de uma equipe de dimensionamento de SAS
  • Um arquivo de licença SAS
  • Acesso a um grupo de recursos para implantar seus recursos
  • Uma cota de assinatura de vCPU (unidade de processamento central virtual) que leva em conta o documento de dimensionamento e a escolha da VM
  • Acesso a um servidor LDAP (Lightweight Directory Access Protocol) seguro

Detalhes do cenário

Além de discutir diferentes implementações, este guia também se alinha aos princípios do Microsoft Azure Well-Architected Framework para obter excelência nas áreas de custo, DevOps, resiliência, escalabilidade e segurança. Mas, além de usar esse guia, consulte uma equipe SAS para obter validação adicional do seu caso de uso específico.

Como parceiros, a Microsoft e a SAS estão trabalhando para desenvolver um roteiro para organizações que inovam na nuvem. Ambas as empresas estão comprometidas em garantir implantações de alta qualidade de produtos e soluções SAS no Azure.

Introdução a SAS

O software de análise SAS fornece um conjunto de serviços e ferramentas para extrair insights de dados e tomar decisões inteligentes. As plataformas SAS dão suporte total a suas soluções para áreas como gerenciamento de dados, detecção de fraude, análise de risco e visualização. A SAS oferece essas plataformas primárias, que a Microsoft validou:

  • Grade SAS 9.4
  • SAS Viya

As arquiteturas a seguir foram testadas:

  • SAS Grid 9.4 no Linux
  • SAS 9 Foundation
  • SAS Viya 3.5 com arquiteturas SMP (multiprocessamento simétrico) e MPP (processamento paralelo em massa) no Linux
  • SAS Viya 2020 e superiores com uma arquitetura MPP no AKS

Este guia fornece informações gerais para a execução de SAS no Azure, não informações específicas da plataforma. Essas diretrizes pressupõem que você hospede sua própria solução SAS no Azure em seu próprio locatário. A SAS não hospeda uma solução para você no Azure. Para obter mais informações sobre os serviços de hospedagem e gerenciamento do Azure que a SAS fornece, consulte os Serviços de Aplicativos Gerenciados de SAS.

Recomendações

Considere os pontos nas seções a seguir ao projetar sua implementação.

A documentação da SAS fornece requisitos por núcleo, o que significa por núcleo físico da CPU. Mas o Azure fornece listagens de vCPU. Nas VMs que recomendamos para uso com SAS, há duas vCPUs para cada núcleo físico. Como resultado, para calcular o valor de um requisito de vCPU, use metade do valor do requisito de núcleo. Por exemplo, um requisito de núcleo físico de 150 MBps é convertido em 75 MBps por vCPU. Para obter mais informações sobre o desempenho da computação do Azure, consulte a ACU (unidade de computação do Azure).

Observação

Se você estiver escalando verticalmente e persistindo dados em uma implantação SAS de nó único (e não em um sistema de arquivos externalizado), a documentação do SAS recomenda largura de banda de pelo menos 150 MB/s. Para obter essa largura de banda, você precisa distribuir vários discos P30 Premium (ou maiores).

Sistemas operacionais

O Linux funciona melhor para executar cargas de trabalho SAS. O SAS tem suporte para as versões de 64 bits desses sistemas operacionais a seguir:

  • Red Hat 7 ou mais recente
  • SUSE Linux Enterprise Server (SLES) 12.2
  • Oracle Linux 6 ou mais recente

Para obter mais informações sobre versões específicas de SAS, consulte a matriz de suporte do Sistema Operacional SAS. Em ambientes que usam vários computadores, é melhor executar a mesma versão do Linux em todos eles. O Azure não dá suporte a implantações de 32 bits do Linux.

Para otimizar a compatibilidade e a integração com o Azure, comece com uma imagem do sistema operacional do Azure Marketplace. Se você usar uma imagem personalizada sem configurações adicionais, ela poderá prejudicar o desempenho da SAS.

Problemas de kernel

Ao escolher um sistema operacional, lembre-se de um problema de bloqueio reversível que afeta toda a série Red Hat 7.x. Ele ocorre nestes kernels:

  • Kernels do Linux 3.x
  • Versões anteriores à 4.4

Um problema com o gerenciamento de E/S e memória do Linux e do Hyper-V causa o problema. Quando ele aparece, os logs do sistema contêm entradas como esta que mencionam uma NMI (interrupção não mascarada):

Message from syslogd@ronieuwe-sas-e48-2 at Sep 13 08:26:08
kernel:NMI watchdog: BUG: soft lockup - CPU#12 stuck for 22s! [swapper/12:0]

Outro problema afeta versões mais antigas do Red Hat. Especificamente, isso pode acontecer em versões que atendem a essas condições:

  • Ter kernels do Linux que precedam 3.10.0-957.27.2
  • Usar unidades NVMe (express de memória não volátil)

Quando o sistema sofre alta pressão de memória, o driver NVMe genérico do Linux pode não alocar memória suficiente para uma operação de gravação. Como resultado, o sistema relata um bloqueio reversível proveniente de um deadlock real.

Atualize o kernel para evitar os dois problemas. Como alternativa, tente esta possível solução alternativa:

  • Defina /sys/block/nvme0n1/queue/max_sectors_kb como 128, em vez de usar o valor padrão, 512.
  • Altere essa configuração em cada dispositivo NVMe na VM e em cada inicialização de VM.

Execute estes comandos para ajustar essa configuração:

# cat /sys/block/nvme0n1/queue/max_sectors_kb
512
# echo 128 >/sys/block/nvme0n1/queue/max_sectors_kb
# cat /sys/block/nvme0n1/queue/max_sectors_kb
128

Recomendações de dimensionamento de VM

As implantações SAS geralmente usam as seguintes SKUs de VM:

Série Edsv5

As VMs na série Edsv5 são as máquinas SAS padrão para Viya e Grid. Elas oferecem estes recursos:

  • Núcleos restritos. Com muitos computadores nesta série, você pode restringir a contagem de vCPU da VM.
  • Alta relação de CPU/memória.
  • Um disco conectado localmente de alta taxa de transferência. A velocidade de E/S é importante para pastas como SASWORK e o cache CAS_CACHECAS (Serviços de Análise de Nuvem), que a SAS usa para arquivos temporários.

Se as VMs da série Edsv5 não estiverem disponíveis, é recomendável usar a geração anterior. As VMs da série Edsv4 foram testadas e apresentam bom desempenho em cargas de trabalho SAS.

Série Ebsv5

Em alguns casos, o disco conectado localmente não tem espaço de armazenamento suficiente para SASWORK ou CAS_CACHE. Para obter um diretório de trabalho maior, use a série Ebsv5 de VMs com discos premium conectados. Essas VMs oferecem estes recursos:

  • Mesmas especificações que as VMs Edsv5 e Esv5
  • Alta taxa de transferência no disco remoto conectado, até 4 GB/s, oferecendo SASWORK ou CAS_CACHE nos tamanhos ideais para as necessidades de E/S do SAS.

Se as VMs da série Edsv5 oferecerem armazenamento suficiente, é melhor usá-las, pois são mais econômicas.

Série M

Muitas cargas de trabalho usam VMs da série M, incluindo:

  • Implementações do SPRE (Ambiente de Runtime de Programação de SAS) que usam uma abordagem do Viya para a arquitetura de software.
  • Determinadas cargas de trabalho do SAS Grid.

As VMs da série M oferecem estes recursos:

  • Núcleos restritos
  • Até 3.8 TiB de memória, adequado para cargas de trabalho que usam uma grande quantidade de memória
  • Alta taxa de transferência para discos remotos, que funciona bem para a pasta SASWORK quando o disco disponível localmente é insuficiente

Série Ls

Determinados ambientes pesados de E/S devem usar as VMs da série Lsv2 ou da série Lsv3. Especificamente, as implementações que exigem baixa latência, alta velocidade de E/S e uma grande quantidade de memória se beneficiam desse tipo de computador. Exemplos incluem sistemas que fazem uso pesado da pasta SASWORK ou CAS_CACHE.

Observação

A SAS otimiza seus serviços para uso com a MKL (Biblioteca de Kernel de Matemática) Intel.

  • Em cargas de trabalho com muita matemática, evite VMs que não usam processadores Intel: a Lsv2 e a Lasv3.
  • Ao selecionar uma CPU AMD, valide o desempenho do MKL nela.

Aviso

Quando possível, evite usar VMs Lsv2. Em vez disso, use as VMs Lsv3 com chipsets Intel.

Com o Azure, você pode dimensionar sistemas SAS Viya sob demanda para atender aos prazos:

  • Aumentando a capacidade de computação do pool de nós.
  • Usando o Autodimensionador de Cluster do AKS para adicionar nós e dimensionar horizontalmente.
  • Escalando temporariamente a infraestrutura para acelerar uma carga de trabalho SAS.

Observação

Ao dimensionar componentes de computação, considere também aumentar o armazenamento para evitar gargalos de E/S de armazenamento.

Com cargas de trabalho do Viya 3.5 e Grid, no momento, o Azure não dá suporte ao dimensionamento horizontal ou vertical. O Viya 2022 dá suporte ao dimensionamento horizontal.

Considerações sobre posicionamento de rede e VM

As cargas de trabalho SAS geralmente são volumosas. Como resultado, elas podem transferir uma quantidade significativa de dados. Com todas as plataformas SAS, siga estas recomendações para reduzir os efeitos do volume grande:

  • Implante SAS e plataformas de armazenamento na mesma rede virtual. Essa abordagem também evita incorrer em custos de emparelhamento.
  • Coloque computadores SAS em um grupo de posicionamento por proximidade para reduzir a latência entre nós.
  • Quando possível, implante computadores SAS e plataformas de armazenamento de dados baseadas em VM no mesmo grupo de posicionamento por proximidade.
  • Implante SAS e dispositivos de armazenamento na mesma zona de disponibilidade para evitar latência entre zonas. Se você não puder confirmar se os componentes da solução foram implantados na mesma zona, entre em contato com o Suporte do Azure.

A SAS tem requisitos específicos de FQDN (nome de domínio totalmente qualificado) para VMs. Defina FQDNs do computador corretamente e verifique se os serviços de DNS (sistema de nomes de domínio) estão funcionando. Você pode definir os nomes com o DNS do Azure. Você também pode editar o arquivo hosts na pasta de configuração etc.

Observação

Ative a rede acelerada em todos os nós na implantação de SAS. Quando você desativa esse recurso, o desempenho sofre significativamente.

Para ativar a rede acelerada em uma VM, siga estas etapas:

  1. Execute este comando na CLI do Azure para desalocar a VM:

    az vm deallocate --resource-group <resource_group_name> --name <VM_name>

  2. Desative o nó.

  3. Execute este comando na CLI:

    az network nic update -n <network_interface_name> -g <resource_group_name> --accelerated-networking true

Ao migrar dados ou interagir com a SAS no Azure, recomendamos que você use uma dessas soluções para conectar recursos locais ao Azure:

Para cargas de trabalho SAS de produção no Azure, o ExpressRoute fornece uma conexão privada, dedicada e confiável que oferece essas vantagens em uma VPN site a site:

  • Velocidade mais alta
  • Menor latência
  • Segurança mais rígida

Esteja ciente das interfaces sensíveis à latência entre aplicativos SAS e não SAS. Considere mover fontes de dados e coletores próximos à SAS.

Gerenciamento de identidades

As plataformas SAS podem usar contas de usuário locais. Elas também podem usar um servidor LDAP seguro para validar os usuários. É recomendável executar um controlador de domínio no Azure. Em seguida, use o recurso de ingresso no domínio para gerenciar corretamente o acesso à segurança. Se você não configurou controladores de domínio, considere a implantação do Microsoft Entra Domain Services (Serviços de Domínio do Microsoft Entra). Ao usar o recurso de ingresso no domínio, verifique se os nomes dos computadores não excedem o limite de 15 caracteres.

Observação

Em alguns ambientes, há um requisito de conectividade local ou conjuntos de dados compartilhados entre ambientes SAS locais e hospedados pelo Azure. Nessas situações, é altamente recomendável implantar um controlador de domínio no Azure.

A floresta do Microsoft Entra Domain Services cria usuários que podem se autenticar em dispositivos do Microsoft Entra, mas não em recursos locais, e vice-versa.

Fontes de dados

As soluções SAS geralmente acessam dados de vários sistemas. Essas fontes de dados se enquadram em duas categorias:

  • Conjuntos de dados SAS, que a SAS armazena na pasta SASDATA
  • Bancos de dados, nos quais a SAS geralmente coloca uma carga pesada

Para obter o melhor desempenho:

  • Posicione as fontes de dados o mais próximo possível da infraestrutura SAS.
  • Limite o número de saltos de rede e dispositivos entre fontes de dados e infraestrutura SAS.

Observação

Se você não conseguir mover fontes de dados para perto da infraestrutura SAS, evite executar a análise nelas. Em vez disso, execute os processos ETL (extração, transformação, carregamento) primeiro e análise posteriormente. Use a mesma abordagem com fontes de dados que estejam sob estresse.

Armazenamento remoto permanente para dados SAS

A SAS e a Microsoft testaram uma série de plataformas de dados que você pode usar para hospedar conjuntos de dados SAS. Os blogs SAS documentam os resultados em detalhes, incluindo características de desempenho. Os testes incluem as seguintes plataformas:

A SAS oferece scripts de teste de desempenho para as arquiteturas Viya e Grid. Os fóruns SAS fornecem documentação sobre testes com scripts nessas plataformas.

Armazenamento Sycomp alimentado por IBM Spectrum Scale (GPFS)

Para obter informações sobre como o Armazenamento do Sycomp alimentado pelo IBM Spectrum Scale atende às expectativas de desempenho, consulte a revisão SAS do Sycomp para SAS Grid.

Para dimensionar, o Sycomp faz as seguintes recomendações:

  • Forneça um nó de escala GPFS por oito núcleos com uma configuração de 150 MBps por núcleo.
  • Use um mínimo de cinco unidades P30 por instância.
DDN EXAScaler Cloud (Lustre)

O DDN, que adquiriu o negócio da Intel, Lustre, fornece o EXAScaler Cloud, que é baseado no sistema de arquivos paralelo Lustre. A solução está disponível no Azure Marketplace como parte do guarda-chuva do DDN EXAScaler Cloud. Projetado para implantação com uso intensivo de dados, ele fornece alta taxa de transferência a baixo custo.

Os testes mostram que o DDN EXAScaler pode executar cargas de trabalho SAS de maneira paralela. O DDN recomenda a execução desse comando em todos os nós de cliente ao implantar o EXAScaler ou o Lustre:

lctl set_param mdc.*.max_rpcs_in_flight=128 osc.*.max_pages_per_rpc=16M osc.*.max_rpcs_in_flight=16 osc.*.max_dirty_mb=1024 llite.*.max_read_ahead_mb=2048 osc.*.checksums=0  llite.*.max_read_ahead_per_file_mb=256
NFS (Azure NetApp Files)

Os testes SAS validaram o desempenho do NetApp para a Grade SAS. Especificamente, os testes mostram que o Azure NetApp Files é uma opção de armazenamento primário viável para clusters de Grade SAS de até 32 núcleos físicos em vários computadores. Quando as otimizações fornecidas pelo NetApp e os recursos do Linux são usados, o Azure NetApp Files pode ser a opção principal para clusters de até 48 núcleos físicos em vários computadores.

Considere os seguintes pontos ao usar este serviço:

  • O Azure NetApp Files funciona bem com implantações do Viya. Não use o Azure NetApp Files para o cache CAS no Viya, pois a taxa de transferência de gravação é inadequada. Se possível, use o disco efêmero local da VM.
  • No SAS 9 Foundation com a Grade 9.4, o desempenho do Azure NetApp Files com SAS para SASDATA arquivos é bom para clusters de até 32 núcleos físicos. Isso vai até 48 núcleos quando o ajuste é aplicado.
  • Para garantir um bom desempenho, selecione pelo menos um nível de serviço da camada de armazenamento Premium ou Ultra ao implantar o Azure NetApp Files. Você pode escolher o nível de serviço Standard para volumes muito grandes. Considere começar com o nível Premium e alternar para Ultra ou Standard mais tarde. As alterações no nível do serviço podem ser feitas online, sem interrupções ou migrações de dados.
  • O desempenho de leitura e gravação é diferente para o Azure NetApp Files. A taxa de transferência de gravação para SAS atinge limites em torno de 1.600MiB/s, enquanto a taxa de transferência de leitura vai além disso, para cerca de 4.500MiB/s. Se você precisar de alta taxa de transferência de gravação contínua, o Azure NetApp Files pode não ser uma boa opção.

Outras fontes de dados

As plataformas SAS dão suporte a várias fontes de dados:

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

A saída das cargas de trabalho de SAS pode ser um dos ativos críticos da sua organização. A saída de SAS fornece informações sobre eficiências internas e pode desempenhar um papel essencial na estratégia de relatório. É importante, então, proteger o acesso à sua arquitetura SAS. Para atingir essa meta, use a autenticação segura e resolva vulnerabilidades de rede. Use a criptografia para proteger todos os dados que estão entrando e saindo de sua arquitetura.

O Azure fornece SAS usando um modelo de nuvem IaaS (infraestrutura como serviço). A Microsoft cria proteções de segurança no serviço nos seguintes níveis:

  • Datacenter físico
  • Rede física
  • Host físico
  • Hipervisor

Avalie cuidadosamente os serviços e as tecnologias selecionados para as áreas acima do hipervisor, como o sistema operacional convidado para SAS. Certifique-se de fornecer os controles de segurança adequados para sua arquitetura.

Atualmente, o SAS não dá suporte total ao Microsoft Entra ID. Para autenticação na camada de visualização para SAS, você pode usar o Microsoft Entra ID. Mas, para autorização de back-end, use uma estratégia semelhante à autenticação local. Ao gerenciar recursos de IaaS, você pode usar o Microsoft Entra ID para autenticação e autorização no portal do Azure. Ao usar o Microsoft Entra Domain Services, não é possível autenticar contas convidado. As tentativas de entrada do convidado falharão.

Use os grupos de segurança de rede para filtrar o tráfego de rede para e de recursos em uma rede virtual. Com esses grupos, você pode definir regras que concedem ou negam acesso aos serviços de SAS. Os exemplos incluem:

  • Dando acesso a portas de trabalho CAS de intervalos de endereços IP locais.
  • Bloqueio do acesso aos serviços SAS da Internet.

Você pode usar o Azure Disk Encryption para criptografia no sistema operacional. Essa solução usa o recurso DM-Crypt do Linux. No entanto, no momento, não recomendamos usar a Azure Disk Encryption. Ela pode prejudicar severamente o desempenho, especialmente quando você usa SASWORK arquivos localmente.

A SSE (criptografia do lado do servidor) do Armazenamento em Disco do Azure protege seus dados. Ela também ajuda você a cumprir os compromissos organizacionais de segurança e conformidade. Com os discos gerenciados do Azure, a SSE criptografa os dados inativos ao persisti-los na nuvem. Esse comportamento se aplica por padrão aos discos de dados e ao sistema operacional. Você pode usar chaves gerenciadas pela plataforma ou suas próprias chaves para criptografar seu disco gerenciado.

Proteger a infraestrutura

Controle o acesso aos recursos do Azure que você implanta. Todas as assinaturas do Azure têm uma relação de confiança com um locatário do Microsoft Entra. Use o Azure RBAC (controle de acesso baseado em função do Azure) para conceder as permissões corretas para recursos do Azure a usuários em sua organização. Conceda o acesso atribuindo funções do Azure a usuários ou grupos em um determinado escopo. O escopo pode ser uma assinatura, um grupo de recursos ou um único recurso. Faça auditoria de todas as alterações de infraestrutura.

Gerencie o acesso remoto às suas VMs por meio do Azure Bastion. Não exponha nenhum desses componentes à Internet:

  • VMs
  • Portas SSH (Secure Shell Protocol)
  • Portas RDP (Remote Desktop Protocol)

Implantar este cenário

É melhor implantar cargas de trabalho usando um processo de IaC (infraestrutura como código). As cargas de trabalho SAS podem ser sensíveis a configurações incorretas que geralmente ocorrem em implantações manuais e reduzem a produtividade.

Ao criar seu ambiente, confira o material de referência de início rápido em CoreCompete SAS 9 ou Viya no Azure.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Principais autores:

Outro colaborador:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Para obter ajuda para começar, consulte os seguintes recursos:

Para obter ajuda com o processo de automação, consulte os seguintes modelos que a SAS fornece: