Satu langkah awal dan mudah untuk memindahkan beban kerja SQL Server di tempat Anda ke cloud adalah menggunakan Azure VM untuk menjalankan beban kerja SQL Server Anda dalam skenario infrastruktur sebagai layanan (IaaS). Ini menghilangkan beban pembelian dan pemeliharaan perangkat keras, penyimpanan, dan infrastruktur jaringan Anda, sambil tetap memberi Anda pengalaman yang sangat akrab dengan Windows dan SQL Server itu sendiri.
Anda masih harus memelihara sistem operasi, SQL Server, dan database Anda seperti yang Anda lakukan dalam skenario lokal. Sebagai gantinya, database dan aplikasi Anda akan bekerja sama seperti pada instalasi lokal, yang menjadikan ini cara mudah untuk mulai menggunakan Azure.
Satu pilihan penting yang masih harus Anda buat adalah jenis dan ukuran mesin virtual Azure yang ingin Anda gunakan untuk beban kerja SQL Server yang ada. Tidak seperti skenario di tempat, Anda akan memiliki kontrol yang jauh lebih sedikit atas pilihan prosesor yang sebenarnya di mesin host yang mendasarinya. Dengan Azure VM, Anda memilih seri mesin tertentu (seperti seri Esv3) dan ukuran di wilayah Azure tertentu, lalu Anda mendapatkan prosesor apa pun yang digunakan Microsoft untuk seri dan ukuran itu di wilayah Azure tersebut.
Jenis dan Seri VM Azure
Microsoft saat ini memiliki delapan jenis utama mesin virtual yang dirancang untuk berbagai jenis beban kerja. Ini termasuk Entry level, tujuan umum, komputasi dioptimalkan, memori dioptimalkan, penyimpanan dioptimalkan, GPU, komputasi kinerja tinggi dan enklave aman rahasia.
Untuk beban kerja OLTP SQL Server kinerja tinggi, jenis VM Azure yang dioptimalkan memori biasanya merupakan pilihan terbaik. Menurut Microsoft, "Ukuran VM yang dioptimalkan memori menawarkan rasio memori-ke-CPU tinggi yang bagus untuk server database relasional." Ini memberi Anda jumlah inti yang lebih rendah, dengan lebih banyak memori, yang biasanya Anda inginkan untuk SQL Server, untuk meminimalkan biaya lisensi dan tetap memiliki kinerja yang baik.
Anda dapat melangkah lebih jauh ke jalur ini dengan ukuran VM berkemampuan vCPU Terbatas, di mana Anda dapat membatasi jumlah VM vCPU (menjadi satu setengah atau seperempat dari ukuran VM asli) untuk mengurangi biaya lisensi SQL Server, sambil mempertahankan memori yang sama , penyimpanan, dan bandwidth I/O sebagai VM yang tidak dibatasi. VM Azure yang dibatasi ini memiliki akhiran dalam nama yang menunjukkan jumlah vCPU aktif di VM.
Misalnya:Standard_E64s_v3 biasa akan memiliki 64 inti vCPU, sedangkan Standard_E64-16s_v3 yang dibatasi hanya akan memiliki 16 inti vCPU dengan spesifikasi yang identik. Akhiran -16 menunjukkan jumlah inti vCPU yang aktif.
Esv3-series
Seri ini menggunakan prosesor Intel Xeon Platinum 8171M (Skylake-SP) 2,1 GHz, yang merupakan SKU prosesor pesanan khusus yang tidak ada dalam database Intel ARK publik. Tampaknya memiliki spesifikasi yang identik dengan prosesor 26C/52T 2.1 GHz Intel Xeon Platinum 8170M (Skylake-SP). Akhiran M dalam nomor model berarti mendukung 1,5TB RAM per soket daripada 768GB RAM per soket. Seri Esv3 memiliki peringkat 160-190 Azure Compute Units (ACU).
Catatan:Di beberapa wilayah, Microsoft menggunakan prosesor dipesan lebih dahulu Intel Xeon E5-2673 v4 (Broadwell) yang lebih lama di seri Esv3. Tokus Tambang Microsoft memiliki artikel yang bagus di mana ia menjalankan serangkaian tolok ukur TPC-E yang diperkecil terhadap VM E64s_v3 yang menggunakan prosesor Broadwell yang lebih lama.
Esv3-series dimulai dengan Standard_E2s_v3 dengan 2 vCPU dan RAM 16GB, dan melampaui Standard_E64is_v3 dengan 64 vCPU dan RAM 432GB. Ada juga perbedaan besar dalam kapasitas penyimpanan dan throughput antara ekstrem ini. BTW, "i" dalam penamaan Standard_E64is_v3 berarti bahwa instans diisolasi ke perangkat keras yang didedikasikan untuk satu pelanggan. Sebagian besar ukuran seri Esv3 reguler juga tersedia sebagai VM terbatas, yang memberi Anda banyak fleksibilitas untuk menentukan ukuran.
Jika Anda membandingkan Gambar 1 dan 2 dengan cermat, Anda akan melihat serangkaian pilihan yang jauh lebih menguntungkan untuk jumlah vCPU, jumlah RAM, dan throughput disk yang tidak di-cache maksimal dengan pilihan VM yang dibatasi pada Gambar 2.
Gambar 1:Spesifikasi Seri Esv3 Reguler (klik untuk memperbesar)
Secara khusus, saya menyukai ukuran Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3, dan Standard_E64-16s_v3 untuk SQL Server karena mereka memiliki kombinasi yang sangat bagus dari jumlah inti yang relatif rendah, kapasitas memori yang tinggi, dan throughput disk yang tinggi dibandingkan dengan pilihan lain yang tersedia dalam seri ini.
Ini semua adalah penawaran terbatas yang hanya menggunakan seperempat dari inti vCPU yang tersedia dari penawaran reguler. Pilihan lain pada Gambar 2 semuanya menggunakan setengah dari inti vCPU yang tersedia dari penawaran reguler, dengan memori dan batas throughput disk yang sama, yang akan menggandakan biaya lisensi Anda dengan RAM dan throughput disk yang lebih rendah daripada yang bisa Anda dapatkan dengan pilihan yang lebih baik .
Gambar 2:Spesifikasi Seri Esv3 Terbatas (klik untuk memperbesar)
Misalnya, bandingkan tiga kemungkinan pilihan VM yang ditunjukkan pada Gambar 3. Dengan memilih dengan bijak di antara pilihan yang dibatasi pada jumlah vCPU tertentu, Anda bisa mendapatkan antara 2X dan 4X memori dan throughput disk dengan biaya lisensi SQL Server yang sama.
Perlu diingat bahwa biaya komputasi, yang mencakup lisensi OS, tetap sama dengan ukuran vCPU asli yang digunakan untuk mendapatkan ukuran yang dibatasi.
Gambar 3:Perbandingan Spesifikasi vCPU Esv3-series 8 (klik untuk memperbesar)
Seri Esv4
Pilihan lain yang sangat cocok untuk beban kerja OLTP dan DW adalah seri Esv4. VM ini menggunakan prosesor 7nm 2.35GHz AMD EPYC 7452 (Roma) yang lebih baru. Prosesor ini memiliki 32C/64T, base clock 2.35GHz, max boost clock hingga 3.35 GHz, 128MB L3 cache, 128 jalur PCIe 4.0, dan kapasitas RAM 2TB. Azure VM dalam seri ini dimulai dengan Standard_E2as_v4 dengan 2 vCPU dan RAM 16GB, dan yang teratas dengan Standard_E96as_v4 dengan 96 vCPU dan RAM 672GB. Seri Esv4 memiliki peringkat 230-260 Azure Compute Units (ACU).
Prosesor AMD EPYC 7452 sebenarnya secara signifikan lebih cepat untuk kinerja CPU single-threaded daripada prosesor Intel Xeon Platinum 8171M menurut perkiraan perhitungan skor TPC-E saya. AMD EPYC 7452 memiliki perkiraan skor/inti TPC-E 67,64, sedangkan Intel Xeon Platinum 8171M memiliki perkiraan skor/inti TPC-E 49,55. Saya yakin ini karena IPC yang lebih tinggi dan kecepatan clock dasar prosesor AMD yang lebih tinggi.
Gambar 4 menunjukkan spesifikasi yang relevan untuk sebagian besar ukuran VM seri Esv4. Dari apa yang saya tahu, Microsoft belum menawarkan versi terbatas dari VM seri Esv4. Mudah-mudahan, mereka akan melakukannya di masa depan.
Gambar 4:Spesifikasi seri Esv4 yang dipilih (klik untuk memperbesar)
Kesimpulan
Saat Anda menggunakan mesin virtual Azure untuk beban kerja SQL Server, Anda harus meluangkan waktu untuk mengevaluasi berbagai seri dan ukuran Azure VM yang tersedia di wilayah pilihan Anda. Microsoft menggunakan prosesor dipesan lebih dahulu yang berbeda dalam seri VM yang berbeda dan terkadang dalam seri VM yang sama. Melakukan analisis semacam ini terhadap pilihan yang tersedia untuk seri dan ukuran VM harus menjadi salah satu tugas awal Anda. Jika memungkinkan, coba manfaatkan penawaran terbatas yang ditawarkan Microsoft, karena penawaran tersebut menawarkan nilai yang sangat baik untuk SQL Server.
Setelah Anda memilih seri dan ukuran VM, saya akan melakukan beberapa benchmark CPU dan penyimpanan cepat, seperti CPU-Z, Geekbench 5, dan CrystalDiskMark 7 sebagai pemeriksaan kewarasan awal (bahkan sebelum Anda menginstal SQL Server). Ini akan memungkinkan Anda membandingkan VM Azure satu sama lain, dan dengan perangkat keras dan penyimpanan lokal lama Anda. Tim Radney memiliki artikel bagus tentang proses ini (untuk penyimpanan).