Redigera

Dela via


SAS i Azure-arkitektur

Azure Virtual Machines
Azure Virtual Network

Den här lösningen kör SAS-analysarbetsbelastningar i Azure. Vägledningen omfattar olika distributionsscenarier. Till exempel är flera versioner av SAS tillgängliga. Du kan köra SAS-programvara på självhanterade virtuella datorer (VM). Du kan också distribuera containerbaserade versioner med hjälp av Azure Kubernetes Service (AKS).

Arkitektur

Arkitekturdiagram som visar hur du distribuerar SAS-produkter i Azure.

Diagrammet innehåller en stor rektangel med etiketten Azure Virtual Network. Inuti den har en annan stor rektangel etiketten Närhetsplaceringsgrupp. Två rektanglar finns i den. De staplas lodrätt och var och en har etiketten Nätverkssäkerhetsgrupp. Varje rektangel för säkerhetsgrupper innehåller flera datorikoner som är ordnade i rader. I den övre rektangeln har datorikonerna till vänster på den övre raden etiketten Medelnivå. Ikonerna till höger har etiketten Metadata-nivå. Den nedre raden med ikoner har etiketten Beräkningsnivå. I den nedre rektangeln har den övre raden med datorikoner etiketten MGS- och MDS-servrar. Den nedre raden har etiketten OST och OSS-servrar.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

SAS Azure-distributioner innehåller vanligtvis tre lager:

  • En API- eller visualiseringsnivå. I det här lagret:

    • Metadatanivån ger klientappar åtkomst till metadata på datakällor, resurser, servrar och användare.
    • Webbappar ger åtkomst till intelligensdata på mellannivån.
  • En beräkningsplattform där SAS-servrar bearbetar data.

  • En lagringsnivå som SAS använder för permanent lagring. Populära alternativ i Azure är:

    • Glans
    • IBM Spectrum Scale
    • Network File System (NFS)

Ett virtuellt Azure-nätverk isolerar systemet i molnet. I det nätverket:

  • En närhetsplaceringsgrupp minskar svarstiden mellan virtuella datorer.
  • Nätverkssäkerhetsgrupper skyddar SAS-resurser från oönskad trafik.

Förutsättningar

Kontrollera att följande komponenter finns på plats innan du distribuerar en SAS-arbetsbelastning:

  • En storleksrekommendations från ett SAS-storleksteam
  • En SAS-licensfil
  • Åtkomst till en resursgrupp för att distribuera dina resurser
  • En prenumerationskvot för virtuell central bearbetningsenhet (vCPU) som tar hänsyn till ditt val av storleksdokument och virtuell dator
  • Åtkomst till en säker LDAP-server (Lightweight Directory Access Protocol)

Information om scenario

Tillsammans med att diskutera olika implementeringar överensstämmer den här guiden även med Microsoft Azure Well-Architected Framework-grundsatser för att uppnå utmärkthet inom områdena kostnad, DevOps, återhämtning, skalbarhet och säkerhet. Men förutom att använda den här guiden kan du kontakta ett SAS-team för ytterligare validering av ditt specifika användningsfall.

Som partner arbetar Microsoft och SAS med att utveckla en översikt för organisationer som förnyar i molnet. Båda företagen strävar efter att säkerställa högkvalitativa distributioner av SAS-produkter och -lösningar i Azure.

Introduktion till SAS

SAS-analysprogramvaran tillhandahåller en uppsättning tjänster och verktyg för att dra insikter från data och fatta intelligenta beslut. SAS-plattformar har fullt stöd för sina lösningar för områden som datahantering, bedrägeriidentifiering, riskanalys och visualisering. SAS erbjuder dessa primära plattformar, som Microsoft har verifierat:

  • SAS Grid 9.4
  • SAS Viya

Följande arkitekturer har testats:

  • SAS Grid 9.4 på Linux
  • SAS 9 Foundation
  • SAS Viya 3.5 med symmetrisk multiprocessarkitektur (SMP) och MPP-arkitekturer (massivt parallell bearbetning) i Linux
  • SAS Viya 2020 och upp med en MPP-arkitektur på AKS

Den här guiden innehåller allmän information för att köra SAS på Azure, inte plattformsspecifik information. Dessa riktlinjer förutsätter att du är värd för din egen SAS-lösning i Azure i din egen klientorganisation. SAS är inte värd för en lösning för dig i Azure. Mer information om Azures värd- och hanteringstjänster som SAS tillhandahåller finns i SAS Managed Application Services.

Rekommendationer

Tänk på punkterna i följande avsnitt när du utformar implementeringen.

SAS-dokumentationen innehåller krav per kärna, vilket innebär per fysisk CPU-kärna. Men Azure tillhandahåller vCPU-listor. På de virtuella datorer som vi rekommenderar för användning med SAS finns det två virtuella processorer för varje fysisk kärna. För att beräkna värdet för ett vCPU-krav använder du därför halva kärnkravsvärdet. Till exempel innebär ett fysiskt kärnkrav på 150 Mbit/s 75 Mbit/s per vCPU. Mer information om Prestanda för Azure-databehandling finns i Azure Compute Unit (ACU).

Kommentar

Om du skalar upp och bevarar data i en SAS-distribution med en nod (och inte till ett externaliserat filsystem) rekommenderar SAS-dokumentationen bandbredd på minst 150 MB/s. För att uppnå den här bandbredden måste du strecka flera P30 Premium-diskar (eller större).

Operativsystem

Linux fungerar bäst för att köra SAS-arbetsbelastningar. SAS stöder 64-bitarsversioner av följande operativsystem:

  • Red Hat 7 eller senare
  • SUSE Linux Enterprise Server (SLES) 12.2
  • Oracle Linux 6 eller senare

Mer information om specifika SAS-versioner finns i SAS-stödmatrisen för operativsystem. I miljöer som använder flera datorer är det bäst att köra samma version av Linux på alla datorer. Azure har inte stöd för 32-bitarsdistributioner i Linux.

Om du vill optimera kompatibilitet och integrering med Azure börjar du med en operativsystemavbildning från Azure Marketplace. Om du använder en anpassad avbildning utan ytterligare konfigurationer kan det försämra SAS-prestanda.

Kernelproblem

När du väljer ett operativsystem bör du vara medveten om ett problem med mjuk låsning som påverkar hela Red Hat 7.x-serien. Den förekommer i dessa kärnor:

  • Linux 3.x-kernels
  • Tidigare versioner än 4.4

Ett problem med minnes- och I/O-hantering av Linux och Hyper-V orsakar problemet. När det kommer upp innehåller systemloggarna poster som den här som nämner ett icke-maskerbart avbrott (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]

Ett annat problem påverkar äldre versioner av Red Hat. Mer specifikt kan det inträffa i versioner som uppfyller dessa villkor:

  • Ha Linux-kernels som föregår 3.10.0-957.27.2
  • Använda nvme-enheter (non-volatile memory express)

När systemet har högt minnestryck kanske den generiska Linux NVMe-drivrutinen inte allokerar tillräckligt med minne för en skrivåtgärd. Därför rapporterar systemet en mjuk låsning som härrör från ett faktiskt dödläge.

Uppgradera kerneln för att undvika båda problemen. Du kan också prova den här möjliga lösningen:

  • Ange /sys/block/nvme0n1/queue/max_sectors_kb till 128 i stället för att använda standardvärdet . 512
  • Ändra den här inställningen på varje NVMe-enhet på den virtuella datorn och vid varje vm-start.

Kör följande kommandon för att justera den inställningen:

# 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

Storleksrekommendationer för virtuella datorer

SAS-distributioner använder ofta följande VM-SKU:er:

Edsv5-serien

Virtuella datorer i Edsv5-serien är standard-SAS-datorerna för Viya och Grid. De erbjuder följande funktioner:

  • Begränsade kärnor. Med många datorer i den här serien kan du begränsa antalet virtuella datorers vCPU.
  • Ett bra förhållande mellan processor och minne.
  • En lokalt ansluten disk med högt dataflöde. I/O-hastighet är viktigt för mappar som SASWORK och Cloud Analytics Services-cachen CAS_CACHE(CAS), som SAS använder för temporära filer.

Om de virtuella datorerna i Edsv5-serien inte är tillgängliga rekommenderar vi att du använder den tidigare generationen. De virtuella datorerna i Edsv4-serien har testats och fungerar bra på SAS-arbetsbelastningar.

Ebsv5-serien

I vissa fall har den lokalt anslutna disken inte tillräckligt med lagringsutrymme för SASWORK eller CAS_CACHE. Om du vill få en större arbetskatalog använder du Ebsv5-serien med virtuella datorer med premiumanslutna diskar. Dessa virtuella datorer erbjuder följande funktioner:

  • Samma specifikationer som de virtuella datorerna Edsv5 och Esv5
  • Högt dataflöde mot fjärransluten disk, upp till 4 GB/s, vilket ger dig ett SASWORK så stort eller CAS_CACHE efter behov som möjligt enligt SAS I/O-behov.

Om de virtuella datorerna i Edsv5-serien erbjuder tillräckligt med lagringsutrymme är det bättre att använda dem eftersom de är mer kostnadseffektiva.

M-serien

Många arbetsbelastningar använder virtuella datorer i M-serien, inklusive:

  • SPRE-implementeringar (SAS Programming Runtime Environment) som använder en Viya-metod för programvaruarkitektur.
  • Vissa SAS Grid-arbetsbelastningar.

Virtuella datorer i M-serien erbjuder följande funktioner:

  • Begränsade kärnor
  • Upp till 3,8 TiB minne, som lämpar sig för arbetsbelastningar som använder en stor mängd minne
  • Högt dataflöde till fjärrdiskar, vilket fungerar bra för SASWORK mappen när den lokalt tillgängliga disken är otillräcklig

Ls-serien

Vissa I/O-tunga miljöer bör använda virtuella datorer i Lsv2-serien eller Lsv3-serien . I synnerhet kan implementeringar som kräver snabb, låg svarstids-I/O-hastighet och en stor mängd minne dra nytta av den här typen av dator. Exempel är system som använder SASWORK mappen eller CAS_CACHE.

Kommentar

SAS optimerar sina tjänster för användning med Intel Math Kernel Library (MKL).

  • Med matematiskt tunga arbetsbelastningar bör du undvika virtuella datorer som inte använder Intel-processorer: Lsv2 och Lasv3.
  • När du väljer en AMD-PROCESSOR kontrollerar du hur MKL fungerar på den.

Varning

Undvik att använda virtuella Lsv2-datorer när det är möjligt. Använd de virtuella Lsv3-datorerna med Intel-kretsuppsättningar i stället.

Med Azure kan du skala SAS Viya-system på begäran för att uppfylla tidsgränser:

  • Genom att öka beräkningskapaciteten för nodpoolen.
  • Genom att använda AKS-kluster autoskalning för att lägga till noder och skala horisontellt.
  • Genom att tillfälligt skala upp infrastrukturen för att påskynda en SAS-arbetsbelastning.

Kommentar

När du skalar beräkningskomponenter bör du även överväga att skala upp lagringen för att undvika flaskhalsar i lagrings-I/O.

Med Viya 3.5- och Grid-arbetsbelastningar stöder Azure inte horisontell eller lodrät skalning för tillfället. Viya 2022 stöder horisontell skalning.

Nätverks- och VM-placeringsöverväganden

SAS-arbetsbelastningar är ofta pratsamma. Därför kan de överföra en betydande mängd data. Med alla SAS-plattformar följer du dessa rekommendationer för att minska effekterna av prat:

  • Distribuera SAS och lagringsplattformar i samma virtuella nätverk. Den här metoden undviker också kostnader för peering.
  • Placera SAS-datorer i en närhetsplaceringsgrupp för att minska svarstiden mellan noder.
  • När det är möjligt distribuerar du SAS-datorer och VM-baserade datalagringsplattformar i samma närhetsplaceringsgrupp.
  • Distribuera SAS och lagringsenheter i samma tillgänglighetszon för att undvika fördröjning mellan zoner. Om du inte kan bekräfta att dina lösningskomponenter har distribuerats i samma zon kontaktar du Azure-supporten.

SAS har specifika fullständiga domännamnskrav (FQDN) för virtuella datorer. Ange dator-FQDN:er korrekt och se till att DNS-tjänster (domain name system) fungerar. Du kan ange namnen med Azure DNS. Du kan också redigera hosts filen i konfigurationsmappen etc .

Kommentar

Aktivera accelererat nätverk på alla noder i SAS-distributionen. När du inaktiverar den här funktionen blir prestandan avsevärt sämre.

Så här aktiverar du accelererat nätverk på en virtuell dator:

  1. Kör det här kommandot i Azure CLI för att frigöra den virtuella datorn:

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

  2. Inaktivera den virtuella datorn.

  3. Kör det här kommandot i CLI:

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

När du migrerar data eller interagerar med SAS i Azure rekommenderar vi att du använder någon av dessa lösningar för att ansluta lokala resurser till Azure:

För SAS-produktionsarbetsbelastningar i Azure tillhandahåller ExpressRoute en privat, dedikerad och tillförlitlig anslutning som erbjuder dessa fördelar jämfört med ett plats-till-plats-VPN:

  • Högre hastighet
  • Kortare svarstider
  • Hårdare säkerhet

Tänk på svarstidskänsliga gränssnitt mellan SAS- och icke-SAS-program. Överväg att flytta datakällor och mottagare nära SAS.

Identitetshantering

SAS-plattformar kan använda lokala användarkonton. De kan också använda en säker LDAP-server för att verifiera användare. Vi rekommenderar att du kör en domänkontrollant i Azure. Använd sedan funktionen domänanslutning för att hantera säkerhetsåtkomst korrekt. Om du inte har konfigurerat domänkontrollanter kan du överväga att distribuera Microsoft Entra Domain Services (Microsoft Entra Domain Services). När du använder funktionen domänanslutning kontrollerar du att datornamnen inte överskrider gränsen på 15 tecken.

Kommentar

I vissa miljöer finns det ett krav på lokal anslutning eller delade datauppsättningar mellan lokala och Azure-värdbaserade SAS-miljöer. I dessa situationer rekommenderar vi starkt att du distribuerar en domänkontrollant i Azure.

Microsoft Entra Domain Services-skogen skapar användare som kan autentisera mot Microsoft Entra-enheter men inte lokala resurser och vice versa.

Datakällor

SAS-lösningar har ofta åtkomst till data från flera system. Dessa datakällor delas in i två kategorier:

  • SAS-datauppsättningar som SAS lagrar i SASDATA mappen
  • Databaser, som SAS ofta lägger stor belastning på

För bästa prestanda:

  • Placera datakällor så nära SAS-infrastrukturen som möjligt.
  • Begränsa antalet nätverkshopp och installationer mellan datakällor och SAS-infrastruktur.

Kommentar

Om du inte kan flytta datakällor nära SAS-infrastrukturen bör du undvika att köra analys på dem. Kör i stället ETL-processer (extract, transform, load) först och analys senare. Använd samma metod med datakällor som är stressade.

Permanent fjärrlagring för SAS-data

SAS och Microsoft har testat en serie dataplattformar som du kan använda för att vara värd för SAS-datauppsättningar. SAS-bloggarna dokumenterar resultaten i detalj, inklusive prestandaegenskaper. Testerna omfattar följande plattformar:

SAS erbjuder prestandatestningsskript för Arkitekturerna Viya och Grid. SAS-forumen tillhandahåller dokumentation om tester med skript på dessa plattformar.

Sycomp Storage som drivs av IBM Spectrum Scale (GPFS)

Information om hur Sycomp Storage som drivs av IBM Spectrum Scale uppfyller prestandaförväntningarna finns i SAS-granskning av Sycomp för SAS Grid.

För storleksändring ger Sycomp följande rekommendationer:

  • Ange en GPFS-skalningsnod per åtta kärnor med en konfiguration på 150 Mbit/s per kärna.
  • Använd minst fem P30-enheter per instans.
DDN EXAScaler Cloud (Lustre)

DDN, som förvärvade Intels Lustre-verksamhet, tillhandahåller EXAScaler Cloud, som baseras på det parallella Filsystemet Lustre. Lösningen är tillgänglig på Azure Marketplace som en del av DDN EXAScaler Cloud-paraplyet. Den är utformad för dataintensiv distribution och ger högt dataflöde till låg kostnad.

Tester visar att DDN EXAScaler kan köra SAS-arbetsbelastningar parallellt. DDN rekommenderar att du kör det här kommandot på alla klientnoder när du distribuerar EXAScaler eller 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)

SAS-tester har verifierat NetApp-prestanda för SAS Grid. Mer specifikt visar testning att Azure NetApp Files är ett praktiskt primärt lagringsalternativ för SAS Grid-kluster med upp till 32 fysiska kärnor på flera datorer. När NetApp-tillhandahållna optimeringar och Linux-funktioner används kan Azure NetApp Files vara det primära alternativet för kluster med upp till 48 fysiska kärnor på flera datorer.

Tänk på följande när du använder den här tjänsten:

  • Azure NetApp Files fungerar bra med Viya-distributioner. Använd inte Azure NetApp Files för CAS-cachen i Viya eftersom skrivdataflödet är otillräckligt. Använd om möjligt den virtuella datorns lokala tillfälliga disk i stället.
  • På SAS 9 Foundation med Grid 9.4 är prestandan för Azure NetApp Files med SAS för filer bra för SASDATA kluster med upp till 32 fysiska kärnor. Detta går upp till 48 kärnor vid justering .
  • För att säkerställa bra prestanda väljer du minst en tjänstnivå på Premium- eller Ultra Storage-nivå när du distribuerar Azure NetApp Files. Du kan välja standardtjänstnivå för mycket stora volymer. Överväg att börja med Premium-nivån och växla till Ultra eller Standard senare. Ändringar på tjänstnivå kan göras online, utan avbrott eller datamigreringar.
  • Läs- och skrivprestanda skiljer sig åt för Azure NetApp Files. Skrivdataflödet för SAS når gränser på cirka 1600MiB/s medan läsdataflödet går utöver det, till cirka 4500MiB/s. Om du behöver kontinuerligt högt skrivdataflöde kanske Azure NetApp Files inte passar bra.

Andra datakällor

SAS-plattformar stöder olika datakällor:

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Utdata från dina SAS-arbetsbelastningar kan vara en av organisationens kritiska tillgångar. SAS-utdata ger insikter om interna effektivitetsvinster och kan spela en viktig roll i rapporteringsstrategin. Det är därför viktigt att skydda åtkomsten till din SAS-arkitektur. Använd säker autentisering och åtgärda nätverkssårbarheter för att uppnå det här målet. Använd kryptering för att skydda alla data som rör sig in och ut ur din arkitektur.

Azure levererar SAS med hjälp av en IaaS-molnmodell (infrastruktur som en tjänst). Microsoft bygger in säkerhetsskydd i tjänsten på följande nivåer:

  • Fysiska datacentra
  • Fysiskt nätverk
  • Fysisk värd
  • Hypervisor

Utvärdera noggrant de tjänster och tekniker som du väljer för de områden ovanför hypervisor-programmet, till exempel gästoperativsystemet för SAS. Se till att tillhandahålla rätt säkerhetskontroller för din arkitektur.

SAS stöder för närvarande inte Microsoft Entra-ID fullt ut. För autentisering i visualiseringsskiktet för SAS kan du använda Microsoft Entra-ID. Men för serverdelsauktorisering använder du en strategi som liknar lokal autentisering. När du hanterar IaaS-resurser kan du använda Microsoft Entra-ID för autentisering och auktorisering till Azure-portalen. När du använder Microsoft Entra Domain Services kan du inte autentisera gästkonton. Gästförsök att logga in misslyckas.

Använd nätverkssäkerhetsgrupper för att filtrera nätverkstrafik till och från resurser i ditt virtuella nätverk. Med dessa grupper kan du definiera regler som beviljar eller nekar åtkomst till dina SAS-tjänster. Exempel:

  • Ge åtkomst till CAS-arbetsportar från lokala IP-adressintervall.
  • Blockera åtkomst till SAS-tjänster från Internet.

Du kan använda Azure Disk Encryption för kryptering i operativsystemet. Den här lösningen använder DM-Crypt-funktionen i Linux. Men för närvarande rekommenderar vi inte att du använder Azure Disk Encryption. Det kan försämra prestanda avsevärt, särskilt när du använder SASWORK filer lokalt.

Kryptering på serversidan (SSE) för Azure Disk Storage skyddar dina data. Det hjälper dig också att uppfylla organisationens säkerhets- och efterlevnadsåtaganden. Med Azure-hanterade diskar krypterar SSE de vilande data när de sparas i molnet. Det här beteendet gäller som standard både os- och datadiskar. Du kan använda plattformshanterade nycklar eller egna nycklar för att kryptera den hanterade disken.

Skydda infrastrukturen

Styr åtkomsten till Azure-resurser som du distribuerar. Varje Azure-prenumeration har en förtroenderelation med en Microsoft Entra-klientorganisation. Använd rollbaserad Azure-åtkomstkontroll (Azure RBAC) för att ge användarna i organisationen rätt behörighet till Azure-resurser. Bevilja åtkomst genom att tilldela Azure-roller till användare eller grupper för ett visst omfång. Omfånget kan vara en prenumeration, en resursgrupp eller en enskild resurs. Se till att granska alla ändringar i infrastrukturen.

Hantera fjärråtkomst till dina virtuella datorer via Azure Bastion. Exponera inte någon av dessa komponenter för Internet:

  • Virtuella datorer
  • SSH-portar (Secure Shell Protocol)
  • RDP-portar (Remote Desktop Protocol)

Distribuera det här scenariot

Det är bäst att distribuera arbetsbelastningar med hjälp av en IaC-process (infrastruktur som kod). SAS-arbetsbelastningar kan vara känsliga för felkonfigurationer som ofta sker i manuella distributioner och minskar produktiviteten.

När du skapar din miljö kan du läsa snabbstartsreferensmaterial på CoreCompete SAS 9 eller Viya i Azure.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudsakliga författare:

Annan deltagare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg

Mer information om hur du kommer igång finns i följande resurser:

Hjälp med automatiseringsprocessen finns i följande mallar som SAS tillhandahåller: