Uma etapa inicial e fácil para mover suas cargas de trabalho locais do SQL Server para a nuvem é usar VMs do Azure para executar suas cargas de trabalho do SQL Server em um cenário de infraestrutura como serviço (IaaS). Isso elimina o fardo de comprar e manter seu hardware, armazenamento e infraestrutura de rede, enquanto ainda oferece uma experiência muito familiar com o Windows e o próprio SQL Server.
Você ainda terá que manter seu sistema operacional, SQL Server e bancos de dados exatamente como faria em um cenário local. Em troca disso, seus bancos de dados e aplicativos funcionarão da mesma forma que em uma instalação local, o que torna essa maneira fácil de começar a usar o Azure.
Uma escolha importante que você ainda terá que fazer é que tipo e tamanho de máquina virtual do Azure você deseja usar para sua carga de trabalho existente do SQL Server. Ao contrário de um cenário local, você terá muito menos controle sobre a escolha real do processador na máquina host subjacente. Com uma VM do Azure, você escolhe uma série de máquina específica (como uma série Esv3) e tamanho em uma determinada região do Azure e, em seguida, obtém o processador que a Microsoft está usando para essa série e tamanho nessa região do Azure.
Tipos e séries de VM do Azure
Atualmente, a Microsoft possui oito tipos principais de máquinas virtuais projetadas para diferentes tipos de cargas de trabalho. Isso inclui nível de entrada, uso geral, otimizado para computação, otimizado para memória, otimizado para armazenamento, GPU, computação de alto desempenho e enclave seguro confidencial.
Para cargas de trabalho OLTP SQL Server de alto desempenho, o tipo de memória otimizada de VMs do Azure geralmente é a melhor escolha. De acordo com a Microsoft, “os tamanhos de VM otimizados para memória oferecem uma alta proporção de memória para CPU que são ótimas para servidores de banco de dados relacionais”. Isso oferece contagens de núcleos mais baixas, com mais memória, que geralmente é o que você deseja para o SQL Server, para minimizar os custos de licença e ainda ter um bom desempenho.
Você pode ir ainda mais longe nesse caminho com tamanhos de VM com capacidade de vCPU restrita, onde você pode restringir a contagem de vCPU da VM (para metade ou um quarto do tamanho da VM original) para reduzir o custo de licenciamento do SQL Server, mantendo a mesma memória , armazenamento e largura de banda de E/S como uma VM sem restrições. Essas VMs do Azure restritas têm um sufixo no nome que indica o número de vCPUs ativas na VM.
Por exemplo:um Standard_E64s_v3 normal teria 64 núcleos de vCPU, enquanto um Standard_E64-16s_v3 restrito teria apenas 16 núcleos de vCPU com especificações idênticas. O sufixo -16s indica o número de núcleos de vCPU ativos.
Série Esv3
Esta série usa o processador Intel Xeon Platinum 8171M (Skylake-SP) de 2,1 GHz, que é um SKU de processador sob medida especial que não está no banco de dados público Intel ARK. Parece ter especificações idênticas ao processador 26C/52T 2.1 GHz Intel Xeon Platinum 8170M (Skylake-SP). O sufixo M no número do modelo significa que ele suporta 1,5 TB de RAM por soquete em vez de 768 GB de RAM por soquete. A série Esv3 é avaliada em 160-190 Unidades de Computação do Azure (ACU).
Observação:em algumas regiões, a Microsoft usa o processador sob medida Intel Xeon E5-2673 v4 (Broadwell) mais antigo na série Esv3. Mine Tokus da Microsoft tem um bom artigo onde ela executou uma série de benchmarks TPC-E reduzidos em uma VM E64s_v3 que estava usando o processador Broadwell mais antigo.
A série Esv3 começa com um Standard_E2s_v3 com 2 vCPU e 16 GB de RAM e termina com um Standard_E64is_v3 com 64 vCPU e 432 GB de RAM. Há também grandes diferenças na capacidade de armazenamento e na taxa de transferência entre esses extremos. BTW, o “i” na nomenclatura Standard_E64is_v3 significa que a instância está isolada ao hardware dedicado a um único cliente. A maioria dos tamanhos regulares da série Esv3 também está disponível como VMs restritas, o que oferece muita flexibilidade para dimensionamento.
Se você comparar de perto as Figuras 1 e 2, verá um conjunto muito mais favorável de opções para contagens de vCPU, quantidades de RAM e taxa de transferência máxima de disco sem cache com as opções de VM restritas na Figura 2.
Figura 1:Especificações regulares da série Esv3 (clique para ampliar)
Em particular, gosto dos tamanhos Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 e Standard_E64-16s_v3 para SQL Server, pois eles têm uma combinação extremamente agradável de contagens de núcleo relativamente baixas, alta capacidade de memória e alta taxa de transferência de disco em comparação com o outras opções disponíveis nesta série.
Todas essas são ofertas restritas que usam apenas um quarto dos núcleos de vCPU disponíveis da oferta regular. As outras opções na Figura 2 usam metade dos núcleos de vCPU disponíveis da oferta regular, com os mesmos limites de memória e taxa de transferência de disco, o que duplicaria seu custo de licença com menor taxa de RAM e taxa de transferência de disco do que você poderia obter com uma escolha melhor .
Figura 2:Especificações restritas da série Esv3 (clique para ampliar)
Por exemplo, compare as três opções de VM possíveis mostradas na Figura 3. Ao escolher sabiamente entre as opções restritas em uma contagem de vCPU específica, você pode obter entre 2X e 4X a taxa de transferência de memória e disco pelo mesmo custo de licenciamento do SQL Server.
Lembre-se de que o custo de computação, que inclui o licenciamento do SO, permanece igual ao tamanho original da vCPU do qual o tamanho restrito foi derivado.
Figura 3:Especificações comparativas de vCPU da série Esv3 8 (clique para ampliar)
Série Esv4
Outra opção adequada para cargas de trabalho OLTP e DW é a série Esv4. Essas VMs usam o processador AMD EPYC 7452 (Roma) de 7 nm e 2,35 GHz mais recente. Este processador tem 32C/64T, clock base de 2,35GHz, clock boost máximo de até 3,35GHz, 128MB de cache L3, 128 pistas PCIe 4.0 e 2TB de capacidade de RAM. As VMs do Azure nesta série começam com o Standard_E2as_v4 com 2 vCPU e 16 GB de RAM e terminam com o Standard_E96as_v4 com 96 vCPU e 672 GB de RAM. A série Esv4 é avaliada em 230-260 Unidades de Computação do Azure (ACU).
O processador AMD EPYC 7452 é, na verdade, significativamente mais rápido para desempenho de CPU single-thread do que o processador Intel Xeon Platinum 8171M, de acordo com meus cálculos estimados de pontuação TPC-E. O AMD EPYC 7452 tem uma pontuação/núcleo TPC-E estimado de 67,64, enquanto o Intel Xeon Platinum 8171M tem uma pontuação/núcleo TPC-E estimado de 49,55. Acredito que isso se deva ao IPC mais alto e à velocidade de clock base mais alta do processador AMD.
A Figura 4 mostra as especificações relevantes para a maioria dos tamanhos de VM da série Esv4. Pelo que posso dizer, a Microsoft ainda não está oferecendo versões restritas das VMs da série Esv4. Espero que eles façam isso no futuro.
Figura 4:Especificações da série Esv4 selecionadas (clique para ampliar)
Conclusão
Ao usar as máquinas virtuais do Azure para cargas de trabalho do SQL Server, você deve passar algum tempo avaliando as diferentes séries e tamanhos de VMs do Azure disponíveis em sua região preferida. A Microsoft usa diferentes processadores sob medida em diferentes séries de VM e, às vezes, na mesma série de VM. Fazer esse tipo de análise das opções disponíveis para a série e o dimensionamento de VMs deve ser uma de suas tarefas iniciais. Se possível, tente aproveitar as ofertas restritas que a Microsoft oferece, pois elas oferecem um excelente valor para o SQL Server.
Depois de selecionar uma série e tamanho de VM, eu faria alguns benchmarks rápidos de CPU e armazenamento, como CPU-Z, Geekbench 5 e CrystalDiskMark 7 como uma verificação de integridade inicial (antes mesmo de instalar o SQL Server). Isso permitirá que você compare suas VMs do Azure entre si e com seu hardware e armazenamento locais herdados. Tim Radney tem um ótimo artigo sobre esse processo (para armazenamento).