Een eerste, gemakkelijke stap om uw on-premises SQL Server-workloads naar de cloud te verplaatsen, is het gebruik van Azure-VM's om uw SQL Server-workloads uit te voeren in een IaaS-scenario (Infrastructure as a Service). Dit neemt de last van het aanschaffen en onderhouden van uw hardware, opslag en netwerkinfrastructuur weg, terwijl u toch een zeer vertrouwde ervaring met Windows en SQL Server zelf krijgt.
U zult nog steeds uw besturingssysteem, SQL Server en databases moeten onderhouden, net zoals u zou doen in een on-premises scenario. In ruil hiervoor werken uw databases en applicaties precies hetzelfde als in een on-premises installatie, wat dit een gemakkelijke manier maakt om met Azure aan de slag te gaan.
Een belangrijke keuze die u nog moet maken, is welk type en grootte van de virtuele Azure-machine u wilt gebruiken voor uw bestaande SQL Server-workload. In tegenstelling tot een on-premises scenario, heb je veel minder controle over de daadwerkelijke processorkeuze in de onderliggende hostmachine. Met een Azure-VM kiest u een bepaalde machinereeks (zoals een Esv3-reeks) en grootte in een bepaalde Azure-regio, en dan krijgt u de processor die Microsoft voor die reeks en grootte in die Azure-regio gebruikt.
Azure VM-typen en series
Microsoft heeft momenteel acht hoofdtypen virtuele machines die zijn ontworpen voor verschillende soorten workloads. Deze omvatten instapniveau, algemeen gebruik, compute-geoptimaliseerd, geheugen geoptimaliseerd, storage-geoptimaliseerd, GPU, high-performance compute en vertrouwelijke veilige enclave.
Voor hoogwaardige OLTP SQL Server-workloads is het voor geheugen geoptimaliseerde type Azure-VM's meestal de beste keuze. Volgens Microsoft bieden "voor geheugen geoptimaliseerde VM-grootten een hoge geheugen-naar-CPU-verhouding die geweldig is voor relationele databaseservers." Dit geeft u een lager aantal cores, met meer geheugen, wat u normaal gesproken wilt voor SQL Server, om uw licentiekosten te minimaliseren en toch goede prestaties te leveren.
U kunt nog verder op dit pad gaan met beperkte vCPU-compatibele VM-grootten, waarbij u het aantal VM-vCPU's kunt beperken (tot de helft of een kwart van de oorspronkelijke VM-grootte) om de kosten van SQL Server-licenties te verlagen, terwijl u hetzelfde geheugen behoudt , opslag en I/O-bandbreedte als een niet-beperkte VM. Deze beperkte virtuele Azure-machines hebben een achtervoegsel in de naam dat het aantal actieve vCPU's in de virtuele machine aangeeft.
Bijvoorbeeld:een gewone Standard_E64s_v3 zou 64 vCPU-cores hebben, terwijl een beperkte Standard_E64-16s_v3 slechts 16 vCPU-cores zou hebben met verder identieke specificaties. Het achtervoegsel -16s geeft het aantal actieve vCPU-cores aan.
Esv3-serie
Deze serie maakt gebruik van de 2,1 GHz Intel Xeon Platinum 8171M (Skylake-SP) processor, een speciale op maat gemaakte processor-SKU die niet in de openbare Intel ARK-database staat. Het lijkt identieke specificaties te hebben als de 26C/52T 2,1 GHz Intel Xeon Platinum 8170M (Skylake-SP) processor. Het M-achtervoegsel in het modelnummer betekent dat het 1,5 TB RAM per socket ondersteunt in plaats van 768 GB RAM per socket. De Esv3-serie heeft een nominale waarde van 160-190 Azure Compute Units (ACU).
Opmerking:in sommige regio's gebruikt Microsoft de oudere Intel Xeon E5-2673 v4 (Broadwell) op maat gemaakte processor in de Esv3-serie. Mine Tokus van Microsoft heeft een goed artikel waarin ze een reeks verkleinde TPC-E-benchmarks heeft uitgevoerd tegen een E64s_v3-VM die de oudere Broadwell-processor gebruikte.
De Esv3-serie begint met een Standard_E2s_v3 met 2 vCPU en 16 GB RAM, en eindigt met een Standard_E64is_v3 met 64 vCPU en 432 GB RAM. Er zijn ook grote verschillen in opslagcapaciteit en doorvoer tussen deze uitersten. Trouwens, de "i" in de naamgeving Standard_E64is_v3 betekent dat de instantie is geïsoleerd voor hardware die is toegewezen aan een enkele klant. De meeste reguliere formaten uit de Esv3-serie zijn ook beschikbaar als beperkte VM's, wat u veel flexibiliteit geeft bij het dimensioneren.
Als u de figuren 1 en 2 nauwkeurig vergelijkt, ziet u een veel gunstiger aantal keuzes voor vCPU-tellingen, RAM-hoeveelheden en maximale doorvoer van niet-gecachete schijven met de beperkte VM-keuzes in figuur 2.
Figuur 1:Normale specificaties van de Esv3-serie (klik om te vergroten)
In het bijzonder vind ik de formaten Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 en Standard_E64-16s_v3 voor SQL Server leuk, omdat ze een buitengewoon mooie combinatie hebben van een relatief laag aantal kernen, een hoge geheugencapaciteit en een hoge schijfdoorvoer vergeleken met de andere beschikbare keuzes in deze serie.
Dit zijn allemaal beperkte aanbiedingen die slechts een kwart van de beschikbare vCPU-kernen van het reguliere aanbod gebruiken. De andere keuzes in figuur 2 gebruiken allemaal de helft van de beschikbare vCPU-cores van het reguliere aanbod, met dezelfde geheugen- en schijfdoorvoerlimieten, wat uw licentiekosten zou verdubbelen met een lagere RAM- en schijfdoorvoer dan u anders zou krijgen met een betere keuze .
Figuur 2:Beperkte specificaties van de Esv3-serie (klik om te vergroten)
Vergelijk bijvoorbeeld de drie mogelijke VM-keuzes die worden weergegeven in afbeelding 3. Door verstandig te kiezen uit de beperkte keuzes bij een bepaald aantal vCPU's, kunt u tussen de 2x en 4x de geheugen- en schijfdoorvoer krijgen voor dezelfde SQL Server-licentiekosten.
Houd er rekening mee dat de rekenkosten, inclusief OS-licenties, hetzelfde blijven als de oorspronkelijke vCPU-grootte waarvan de beperkte grootte is afgeleid.
Figuur 3:Vergelijkende Esv3-serie 8 vCPU-specificaties (klik om te vergroten)
Esv4-serie
Een andere keuze die zeer geschikt is voor zowel OLTP- als DW-workloads is de Esv4-serie. Deze VM's gebruiken de nieuwere 7nm 2,35GHz AMD EPYC 7452 (Rome)-processor. Deze processor heeft 32C/64T, een basiskloksnelheid van 2,35 GHz, een maximale boostklok van maximaal 3,35 GHz, 128 MB L3-cache, 128 PCIe 4.0-lanes en 2 TB RAM-capaciteit. De Azure-VM's in deze serie beginnen met de Standard_E2as_v4 met 2 vCPU en 16 GB RAM en eindigen met de Standard_E96as_v4 met 96 vCPU en 672 GB RAM. De Esv4-serie heeft een vermogen van 230-260 Azure Compute Units (ACU).
De AMD EPYC 7452-processor is in feite aanzienlijk sneller voor single-threaded CPU-prestaties dan de Intel Xeon Platinum 8171M-processor volgens mijn geschatte TPC-E-scoreberekeningen. De AMD EPYC 7452 heeft een geschatte TPC-E score/core van 67,64, terwijl de Intel Xeon Platinum 8171M een geschatte TPC-E score/core van 49,55 heeft. Ik denk dat dit komt door de hogere IPC en hogere basiskloksnelheid van de AMD-processor.
Afbeelding 4 toont de relevante specificaties voor de meeste VM-grootten van de Esv4-serie. Voor zover ik kan zien, biedt Microsoft nog geen beperkte versies van de Esv4-serie VM's aan. Hopelijk zullen ze dat in de toekomst doen.
Figuur 4:geselecteerde specificaties van de Esv4-serie (klik om te vergroten)
Conclusie
Wanneer u virtuele Azure-machines gebruikt voor SQL Server-workloads, moet u enige tijd besteden aan het evalueren van de verschillende Azure VM-series en -grootten die beschikbaar zijn in uw voorkeursregio. Microsoft gebruikt verschillende op maat gemaakte processors in verschillende VM-series en soms binnen dezelfde VM-serie. Het doen van dit soort analyse van uw beschikbare keuzes voor VM-series en dimensionering zou een van uw eerste taken moeten zijn. Probeer indien mogelijk te profiteren van de beperkte aanbiedingen die Microsoft biedt, aangezien ze uitstekende waarde bieden voor SQL Server.
Nadat je een VM-serie en -grootte hebt geselecteerd, zou ik een paar snelle CPU- en opslagbenchmarks doen, zoals CPU-Z, Geekbench 5 en CrystalDiskMark 7 als een eerste sanity-check (voordat je SQL Server zelfs maar installeert). Hiermee kunt u uw Azure-VM's met elkaar en met uw oude on-premises hardware en opslag vergelijken. Tim Radney heeft een geweldig artikel over dit proces (voor opslag).