SAS pada arsitektur Azure

Komputer Virtual
Virtual Network

Artikel ini menyediakan panduan untuk menjalankan beban kerja analitik SAS di Azure. Ini mencakup berbagai skenario penyebaran. Misalnya, beberapa versi SAS tersedia. Anda dapat menjalankan perangkat lunak SAS pada mesin virtual (VM) yang dikelola sendiri. Anda juga dapat menyebarkan versi berbasis kontainer menggunakan Azure Kubernetes Service (AKS).

Selain membahas penerapan yang berbeda, panduan ini juga sejalan dengan prinsip Microsoft Azure Well-Architected Framework untuk mencapai keunggulan di bidang biaya, DevOps, ketahanan, skalabilitas, dan keamanan. Namun selain menggunakan panduan ini, konsultasikan dengan tim SAS untuk validasi tambahan dari kasus penggunaan khusus Anda.

Sebagai mitra, Microsoft dan SAS bekerja untuk mengembangkan peta jalan bagi organisasi yang berinovasi di cloud. Kedua perusahaan berkomitmen untuk memastikan penyebaran produk dan solusi SAS berkualitas tinggi di Azure.

Pengantar SAS

Perangkat lunak analitik SAS menyediakan serangkaian layanan dan alat untuk menarik wawasan dari data dan membuat keputusan cerdas. Platform SAS sepenuhnya mendukung solusi untuk area seperti manajemen data, deteksi penipuan, analisis risiko, dan visualisasi. SAS menawarkan platform utama ini, yang telah divalidasi oleh Microsoft:

  • SAS Grid 9.4
  • SAS Viya 3.5
  • SAS Viya 4.0

Arsitektur berikut telah diuji:

  • SAS Grid 9.4 di Linux
  • SAS 9 Foundation
  • SAS Viya 3.5 dengan arsitektur multiprosesor simetris (SMP) dan pemrosesan paralel besar-besaran (MPP) di Linux
  • SAS Viya 4.0 dengan arsitektur MPP di AKS

Panduan ini memberikan informasi umum untuk menjalankan SAS di Azure, bukan informasi khusus platform. Panduan ini mengasumsikan bahwa Anda menghosting solusi SAS Anda sendiri di Azure di penyewa Anda sendiri. SAS tidak menghosting solusi untuk Anda di Azure. Untuk informasi selengkapnya tentang layanan manajemen dan hosting Azure yang disediakan SAS, lihat Layanan Aplikasi Terkelola SAS.

Gambaran umum arsitektur

Architecture diagram showing how to deploy SAS products on Azure.

Diagram berisi persegi besar dengan label Azure Virtual Network. Di dalam diagram, persegi besar lainnya memiliki label grup penempatan Kedekatan. Dua persegi ada di dalam diagram itu. Persegi itu ditumpuk secara vertikal, dan masing-masing memiliki label Kelompok keamanan jaringan. Setiap persegi kelompok keamanan berisi beberapa ikon komputer yang disusun dalam baris. Dalam persegi atas, ikon komputer di sisi kiri baris atas memiliki label tingkat Menengah. Ikon di sebelah kanan memiliki label tingkat Metadata. Baris bawah ikon memiliki label tingkat Compute. Dalam persegi bawah, baris atas ikon komputer memiliki label server M G S dan M D S. Baris bawah memiliki label O S T dan server O S S.

Penyebaran SAS Azure biasanya berisi tiga lapisan:

  • API atau tingkat visualisasi. Di dalam lapisan ini:

    • Tingkat metadata memberi aplikasi klien akses ke metadata pada sumber data, sumber daya, server, dan pengguna.
    • Aplikasi web menyediakan akses ke data kecerdasan di tingkat menengah.
  • Platform komputasi, tempat server SAS memproses data.

  • Tingkat penyimpanan yang digunakan SAS untuk penyimpanan permanen. Pilihan populer di Azure adalah:

    • Lustre
    • Skala Spektrum IBM
    • Sistem File Jaringan (NFS)

Azure Virtual Network mengisolasi sistem di cloud. Dalam jaringan tersebut:

  • Grup penempatan kedekatan mengurangi latensi antara VM.
  • Grup keamanan jaringan melindungi sumber daya SAS dari lalu lintas yang tidak diinginkan.

Prasyarat

Sebelum menyebarkan beban kerja SAS, pastikan komponen berikut sudah ada:

  • Rekomendasi ukuran dari tim ukuran SAS
  • File lisensi SAS
  • Akses ke grup sumber daya untuk menyebarkan sumber daya Anda
  • Kuota langganan unit pemrosesan pusat virtual (vCPU) yang memperhitungkan ukuran dokumen dan pilihan VM Anda
  • Akses ke server Protokol Akses Direktori Ringan (LDAP) yang aman

Rekomendasi desain untuk semua solusi SAS

Pertimbangkan poin-poin di bagian berikut saat merancang penerapan Anda.

Dokumentasi SAS menyediakan persyaratan per inti, artinya per inti CPU fisik. Tetapi Azure menyediakan daftar vCPU. Pada VM yang kami rekomendasikan untuk digunakan dengan SAS, ada dua vCPU untuk setiap inti fisik. Akibatnya, untuk menghitung nilai persyaratan vCPU, gunakan setengah dari nilai persyaratan inti. Misalnya, persyaratan inti fisik 150 MBps diterjemahkan menjadi 75 MBps per vCPU. Untuk informasi selengkapnya tentang performa komputasi Azure, lihat Azure compute unit (ACU).

Sistem operasi

Linux paling cocok untuk menjalankan beban kerja SAS. SAS mendukung versi 64-bit dari sistem operasi berikut:

  • Red Hat 7 atau versi lebih baru
  • SUSE Linux Enterprise Server (SLES) 12.2
  • Oracle Linux 6 atau versi lebih baru

Untuk informasi selengkapnya tentang rilis SAS tertentu, lihat matriks dukungan Sistem Operasi SAS. Di lingkungan yang menggunakan banyak mesin, yang terbaik adalah menjalankan versi Linux yang sama di semua mesin. Azure tidak mendukung penyebaran Linux 32-bit.

Untuk mengoptimalkan kompatibilitas dan integrasi dengan Azure, mulailah dengan gambar sistem operasi dari Marketplace Azure. Jika Anda menggunakan gambar kustom tanpa konfigurasi tambahan, gambar tersebut dapat menurunkan performa SAS.

Masalah kernel

Saat memilih sistem operasi, waspadai masalah penguncian lunak yang memengaruhi seluruh seri Red Hat 7.x. Masalah itu terjadi di kernel ini:

  • Kernel Linux 3.x
  • Versi lebih awal dari 4.4

Masalah dengan memori dan manajemen I/O Linux dan Hyper-V menyebabkan masalah. Ketika masalah itu muncul, log sistem berisi entri seperti ini yang menyebutkan interupsi non-maskable (NMI):

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]

Masalah lain memengaruhi versi Red Hat yang lebih lama. Secara khusus, ini dapat terjadi dalam versi yang memenuhi ketentuan berikut:

  • Memiliki kernel Linux yang mendahului 3.10.0-957.27.2
  • Menggunakan ekspres memori non-volatile (NVMe)

Ketika sistem mengalami tekanan memori yang tinggi, driver NVMe Linux generik mungkin tidak mengalokasikan memori yang cukup untuk operasi tulis. Akibatnya, sistem melaporkan penguncian sementara yang berasal dari kebuntuan yang sebenarnya.

Tingkatkan kernel Anda untuk menghindari kedua masalah tersebut. Atau, cobalah solusi yang mungkin ini:

  • Atur /sys/block/nvme0n1/queue/max_sectors_kb ke 128 daripada menggunakan nilai default, 512.
  • Ubah pengaturan ini di setiap perangkat NVMe di VM dan di setiap booting VM.

Jalankan perintah ini untuk menyesuaikan pengaturan tersebut:

# 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

Rekomendasi ukuran VM

Penyebaran SAS sering menggunakan SKU VM berikut:

Seri Edsv4

VM dalam seri Edsv4 adalah mesin SAS default. VM tersebut menawarkan fitur-fitur ini:

  • Inti yang dibatasi. Dengan banyak mesin dalam seri ini, Anda dapat membatasi jumlah VM vCPU.
  • Rasio CPU-ke-memori yang baik.
  • Disk terlampir secara lokal dengan throughput tinggi. Kecepatan I/O penting untuk folder seperti SASWORK dan cache Cloud Analytics Services (CAS), CAS_CACHE, yang digunakan SAS untuk file sementara.

Seri M

Banyak beban kerja menggunakan VM seri M, termasuk:

  • Penerapan SAS Programming Runtime Environment (SPRE) yang menggunakan pendekatan Viya terhadap arsitektur perangkat lunak.
  • Beban kerja SAS Grid tertentu.

VM seri M menawarkan fitur-fitur ini:

  • Inti yang dibatasi
  • Memori hingga 3,8 TiB, cocok untuk beban kerja yang menggunakan memori dalam jumlah besar
  • Throughput tinggi ke disk jarak jauh, yang berfungsi dengan baik untuk folder SASWORK saat disk yang tersedia secara lokal tidak mencukupi

Lsv2

Lingkungan tertentu menggunakan VM Lsv2. Secara khusus, penerapan yang memerlukan kecepatan I/O cepat dan sejumlah besar memori mendapat manfaat dari jenis mesin ini. Contohnya termasuk sistem yang banyak menggunakan folder SASWORK atau CAS_CACHE.

Catatan

SAS mengoptimalkan layanannya untuk digunakan dengan Intel Math Kernel Library (MKL).

  • Dengan beban kerja matematika yang berat, hindari VM yang tidak menggunakan prosesor Intel.
  • Saat memilih CPU, validasi bagaimana performa MKL saat menggunakannya.

Peringatan

Jika memungkinkan, hindari menggunakan VM Lsv2. Generasi CPU dalam jenis VM ini dapat bervariasi dari satu node ke node lain dalam sebuah kluster.

Dengan Azure, Anda dapat menskalakan sistem SAS Viya 4.0 sesuai permintaan untuk memenuhi tenggat waktu:

  • Dengan meningkatkan kapasitas komputasi kumpulan node.
  • Menggunakan Cluster Autoscaler AKS untuk menambahkan node dan menskalakan secara horizontal.
  • Dengan menaikkan skala infrastruktur untuk sementara untuk mempercepat beban kerja SAS.

Catatan

Saat menskalakan komponen komputasi, pertimbangkan juga untuk menaikkan skala penyimpanan untuk menghindari hambatan I/O penyimpanan.

Dengan beban kerja Viya 3.5 dan Grid, Azure tidak mendukung penskalaan horizontal atau vertikal.

Pertimbangan penempatan jaringan dan VM

Beban kerja SAS sering kali ramai. Akibatnya, beban kerja tersebut dapat mentransfer sejumlah besar data. Dengan semua platform SAS, ikuti rekomendasi ini untuk mengurangi efek chatter:

  • Sebarkan SAS dan platform penyimpanan pada jaringan virtual yang sama. Pendekatan ini juga menghindari menimbulkan biaya peering.
  • Tempatkan mesin SAS dalam grup penempatan kedekatan untuk mengurangi latensi antar node.
  • Jika memungkinkan, sebarkan mesin SAS dan platform penyimpanan data berbasis VM dalam grup penempatan kedekatan yang sama.
  • Terapkan SAS dan peralatan penyimpanan di zona ketersediaan yang sama untuk menghindari latensi lintas zona. Jika Anda tidak dapat mengonfirmasi bahwa komponen solusi Anda disebarkan di zona yang sama, hubungi dukungan Azure.

SAS memiliki nama domain yang sepenuhnya memenuhi syarat (FQDN) khusus untuk VM. Atur FQDN mesin dengan benar, dan pastikan bahwa layanan sistem nama domain (DNS) berfungsi. Anda dapat mengatur nama dengan Azure DNS. Anda juga dapat mengedit file hosts dalam folder konfigurasi etc.

Catatan

Aktifkan jaringan yang dipercepat di semua node dalam penyebaran SAS. Saat Anda menonaktifkan fitur ini, performa mengalami penurunan yang signifikan.

Untuk mengaktifkan jaringan yang dipercepat pada VM, ikuti langkah-langkah berikut:

  1. Jalankan perintah ini di Azure CLI untuk membatalkan alokasi VM:

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

  2. Nonaktifkan VM.

  3. Jalankan perintah ini di CLI:

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

Saat Anda memigrasikan data atau berinteraksi dengan SAS di Azure, sebaiknya Anda menggunakan salah satu solusi ini untuk menyambungkan sumber daya lokal ke Azure:

Untuk beban kerja SAS produksi di Azure, ExpressRoute menyediakan koneksi privat, khusus, dan andal yang menawarkan keunggulan ini dibandingkan VPN situs-ke-situs:

  • Kecepatan lebih tinggi
  • Latensi yang lebih rendah
  • Keamanan yang lebih ketat

Waspadai antarmuka yang sensitif terhadap latensi antara aplikasi SAS dan non-SAS. Pertimbangkan untuk memindahkan sumber data dan sink dekat dengan SAS.

Manajemen identitas

Platform SAS dapat menggunakan akun pengguna lokal. Platform juga dapat menggunakan server LDAP yang aman untuk memvalidasi pengguna. Sebaiknya jalankan pengontrol domain di Azure. Kemudian gunakan fitur gabungan domain untuk mengelola akses keamanan dengan benar. Jika Anda belum menyiapkan pengontrol domain, pertimbangkan untuk menyebarkan Azure Active Directory Domain Services (Azure AD DS). Saat Anda menggunakan fitur gabungan domain, pastikan nama mesin tidak melebihi batas 15 karakter.

Catatan

Di beberapa lingkungan, ada persyaratan untuk konektivitas lokal atau kumpulan data bersama antara lingkungan SAS lokal dan yang dihosting Azure. Dalam situasi ini, kami sangat menyarankan untuk menggunakan pengontrol domain di Azure.

Forest Azure AD DS membuat pengguna yang dapat mengautentikasi terhadap perangkat Azure AD tetapi bukan sumber daya lokal dan sebaliknya.

Sumber data

Solusi SAS sering mengakses data dari beberapa sistem. Sumber data ini terbagi dalam dua kategori:

  • Himpunan data SAS, yang disimpan SAS di folder SASDATA
  • Database, yang sering menjadi beban berat SAS

Untuk performa terbaik:

  • Memposisikan sumber data sedekat mungkin dengan infrastruktur SAS.
  • Membatasi jumlah lompatan jaringan dan peralatan antara sumber data dan infrastruktur SAS.

Catatan

Jika Anda tidak dapat memindahkan sumber data ke dekat infrastruktur SAS, hindari menjalankan analitik pada sumber data tersebut. Sebagai gantinya, jalankan proses ekstrak, transformasi, muat (ETL) terlebih dahulu lalu baru analitik. Ambil pendekatan yang sama dengan sumber data yang berada di bawah tekanan.

Penyimpanan jarak jauh permanen untuk Data SAS

SAS dan Microsoft telah menguji serangkaian platform data yang dapat Anda gunakan untuk menghosting himpunan data SAS. Blog SAS mendokumentasikan hasil secara rinci, termasuk karakteristik performa. Pengujian meliputi platform berikut:

SAS menawarkan skrip pengujian performa untuk arsitektur Viya dan GRID. Forum SAS menyediakan dokumentasi tentang pengujian dengan skrip pada platform ini.

Sycomp Storage Fueled by IBM Spectrum Scale (GPFS)

Untuk informasi tentang bagaimana Sycomp Storage Fueled by IBM Spectrum Scale memenuhi ekspektasi performa, lihat ulasan SAS Sycomp untuk SAS Grid.

Untuk ukuran, Sycomp membuat rekomendasi berikut:

  • Sediakan satu node skala GPFS per delapan core dengan konfigurasi 150 MBps per inti.
  • Gunakan minimal lima drive P30 per instans.

DDN EXAScaler Cloud (Lustre)

DDN, yang mengakuisisi bisnis Lustre Intel, menyediakan EXAScaler Cloud, yang didasarkan pada sistem file paralel Luster. Solusinya tersedia di Marketplace Azure sebagai bagian dari payung DDN EXAScaler Cloud. Dirancang untuk penyebaran data-intensif, ini memberikan throughput tinggi dengan biaya rendah.

Pengujian menunjukkan bahwa DDN EXAScaler dapat menjalankan beban kerja SAS secara paralel. DDN merekomendasikan menjalankan perintah ini pada semua node klien saat menggunakan EXAScaler atau 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

Azure NetApp Files (NFS)

Pengujian SAS telah memvalidasi performa NetApp untuk SAS Grid. Secara khusus, pengujian menunjukkan bahwa Azure NetApp Files adalah opsi penyimpanan utama yang layak untuk kluster SAS Grid hingga 32 inti fisik di beberapa mesin. Saat pengoptimalan yang disediakan NetApp dan fitur Linux digunakan, Azure NetApp Files dapat menjadi opsi utama untuk mengelompokkan hingga 48 inti fisik di beberapa mesin.

Pertimbangkan poin-poin berikut saat menggunakan layanan ini:

  • Azure NetApp Files bekerja dengan baik dengan penyebaran Viya 3.5 dan Viya 4.0. Jangan gunakan Azure NetApp Files untuk cache CAS di Viya, karena throughput penulisan tidak memadai. Jika memungkinkan, gunakan disk ephemeral lokal VM Anda sebagai gantinya.
  • Pada SAS 9 Foundation dengan Grid 9.4, performa Azure NetApp Files dengan SAS untuk file SASDATA bagus untuk kluster hingga 32 inti fisik. Ini mencapai 48 inti saat penyetelan diterapkan.
  • Untuk memastikan performa yang baik, pilih setidaknya tingkat layanan penyimpanan Premium atau Ultra saat menyebarkan Azure NetApp Files. Anda dapat memilih tingkat layanan Standar untuk volume yang sangat besar. Pertimbangkan untuk memulai dengan tingkat Premium dan beralih ke Ultra atau Standar nanti. Perubahan tingkat layanan dapat dilakukan secara online, tanpa gangguan atau migrasi data.
  • Kinerja baca dan tulis berbeda untuk Azure NetApp Files. Throughput tulis untuk SAS mencapai batas sekitar 1600MiB/dtk sementara throughput baca melampaui itu, hingga sekitar 4500MiB/dtk. Jika Anda membutuhkan throughput tulis tinggi yang berkelanjutan, Azure NetApp Files mungkin tidak cocok.

Sumber data lainnya

Platform SAS mendukung berbagai sumber data:

Penyebaran

Yang terbaik adalah menyebarkan beban kerja menggunakan proses infrastruktur sebagai kode (IaC). Beban kerja SAS dapat sensitif terhadap kesalahan konfigurasi yang sering terjadi dalam penyebaran manual dan mengurangi produktivitas.

Saat membangun lingkungan Anda, lihat materi referensi panduan memulai di repositori ini:

Keamanan

Output dari beban kerja SAS Anda dapat menjadi salah satu aset penting organisasi Anda. Output SAS memberikan wawasan tentang efisiensi internal dan dapat memainkan peran penting dalam strategi pelaporan. Oleh karena itu, penting untuk mengamankan akses ke arsitektur SAS Anda. Untuk mencapai tujuan ini, gunakan autentikasi aman dan mengatasi kerentanan jaringan. Gunakan enkripsi untuk melindungi semua data yang masuk dan keluar dari arsitektur Anda.

Azure memberikan SAS menggunakan model cloud infrastruktur sebagai layanan (IaaS). Microsoft membangun perlindungan keamanan ke dalam layanan di tingkat berikut:

  • Pusat data fisik
  • Jaringan fisik
  • Host fisik
  • Hypervisor

Evaluasi dengan cermat layanan dan teknologi yang Anda pilih untuk area di atas hypervisor, seperti sistem operasi tamu untuk SAS. Pastikan untuk memberikan kontrol keamanan yang tepat untuk arsitektur Anda.

SAS saat ini tidak sepenuhnya mendukung Azure Active Directory (Azure AD). Untuk autentikasi ke dalam lapisan visualisasi untuk SAS, Anda dapat menggunakan Azure AD. Namun untuk otorisasi back-end, gunakan strategi yang mirip dengan autentikasi lokal. Saat mengelola sumber daya IaaS, Anda dapat menggunakan Azure AD untuk autentikasi dan otorisasi ke portal Azure. Saat menggunakan Azure AD DS, Anda tidak dapat mengautentikasi akun tamu. Upaya tamu untuk masuk akan gagal.

Gunakan grup keamanan jaringan untuk memfilter lalu lintas jaringan ke dan dari sumber daya di jaringan virtual Anda. Dengan grup ini, Anda dapat menentukan aturan yang memberikan atau menolak akses ke layanan SAS Anda. Contohnya meliputi:

  • Memberikan akses ke port pekerja CAS dari rentang alamat IP lokal.
  • Memblokir akses ke layanan SAS dari internet.

Anda dapat menggunakan Azure Disk Encryption untuk enkripsi dalam sistem operasi. Solusi ini menggunakan fitur DM-Crypt dari Linux. Namun saat ini kami tidak menyarankan penggunaan Azure Disk Encryption. Itu dapat sangat menurunkan performa, terutama saat Anda menggunakan SASWORK file secara lokal.

Enkripsi sisi server (SSE) Azure Disk Storage melindungi data Anda. Enkripsi ini juga membantu Anda memenuhi komitmen kepatuhan dan keamanan organisasi. Dengan disk terkelola Azure, SSE mengenkripsi data tidak aktif saat menyimpannya ke cloud. Perilaku ini berlaku secara default untuk OS dan disk data. Anda dapat menggunakan kunci yang dikelola platform atau kunci Anda sendiri untuk mengenkripsi disk yang dikelola.

Melindungi infrastruktur Anda

Kontrol akses ke sumber daya Azure yang Anda sebarkan. Setiap langganan Azure memiliki hubungan kepercayaan dengan penyewa Azure AD. Gunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberi pengguna dalam organisasi Anda izin yang benar ke sumber daya Azure. Berikan akses dengan menetapkan peran Azure kepada pengguna atau grup pada cakupan tertentu. Cakupannya bisa berupa langganan, grup sumber daya, atau satu sumber daya. Pastikan untuk mengaudit semua perubahan pada infrastruktur.

Kelola akses jarak jauh ke VM Anda melalui Azure Bastion. Jangan memaparkan salah satu komponen ini ke internet:

  • VM
  • Port Secure Shell Protocol (SSH)
  • Port Remote Desktop Protocol (RDP)

Langkah berikutnya

Untuk bantuan memulai, lihat sumber daya berikut:

Untuk bantuan dengan proses otomatisasi, lihat templat berikut yang disediakan SAS: