Et SAS Viya-alternativ til hostet arbejde

Den, der leder efter et Viya-alternativ, leder sjældent efter noget, der skal installeres på en bærbar. Der er arbejde i SAS-sproget, som kører et centralt sted — en browser, nogen logger ind i, eller en pipeline, der kalder en platform og venter på resultater. Jenner dækker begge dele: et hostet JupyterLab-arbejdsrum og et HTTP-endpoint, der kører et program og leverer dets output tilbage.

Det korte svar

Jenner er en clean room-implementering af SAS 9.4-sproget, skrevet i Rust, og den er hostet. Teamet logger ind i et JupyterLab-arbejdsrum i browseren, åbner et program, det allerede har, og kører det — intet installeres på nogens maskine, og der kræves ingen SAS-licens i noget lag. Samme motor svarer over HTTP, så et planlagt job eller en AI-agent kan sende et program og læse loggen, listen og de datasæt, kørslen frembragte, tilbage.

Hvem logger ind, og hvad kører

Et arbejdsrum er fælles: analytiker, reviewer og statistiker arbejder på de samme filer i stedet for at sende datasæt rundt. Programmerne bliver i SAS-syntaks — DATA-trin, PROC SQL, makrosproget — og arbejdsrummet læser SAS7BDAT og XPT direkte foruden CSV og Parquet. Hvor en bærbar faktisk er det rigtige sted til en del af arbejdet, findes samme motor som en indbygget Mac-app: hostet og lokalt udelukker ikke hinanden.

Hvad den hostede side giver

Tre veje til én motor. Hvilken I vælger, er et spørgsmål om drift, ikke om at skrive om.

Et JupyterLab-arbejdsrum i browseren

Når I logger ind, står I i JupyterLab med organisationens filer og en Jenner-kerne allerede koblet på. Der installeres intet på nogens maskine, og det er som regel hele pointen: en ny kollega får et fungerende miljø ud af en browserfane, og en låst firmabærbar er en lige så god klient som en arbejdsstation.

Programmer kørt over HTTP

Motoren svarer også på HTTP-kald. Send et program og dets input, og få listen, loggen, en exitkode og hvert datasæt, kørslen frembragte, tilbage som struktureret JSON. Det er dét, der gør den brugbar fra en orkestrator, et CI-job eller en AI-agent — ingen af dem kan sidde foran en interaktiv session og vente på, at et menneske klikker.

100 dokumenterede procedurer

Kataloget er udgivet procedure for procedure, hver med en referenceside, der nævner de sætninger og indstillinger, den tager imod. På en hostet platform vejer det tungere end et overskriftstal: før en arbejdsbyrde flytter, er spørgsmålet, om netop den PROC, med netop de indstillinger, er der — og det afgøres ved at læse, før nogen skriver under på noget.

Filerne, I allerede har

Jenner læser SAS7BDAT direkte sammen med XPT, CSV og Parquet og skriver dem tilbage. Et datasæt når arbejdsrummet uden et konverteringstrin først, og output kan forlade det i det format, næste led forventer.

Hvor noget andet passer bedre

Fire situationer, hvor vi ikke er det rigtige svar. At vide hvilken I står i, er mere værd end en funktionstabel.

Altair SLC

Altair SLC, tidligere WPS, kører også programmer i SAS-sproget uden SAS-licens og har gjort det langt længere end os. Hvor en lang historik betyder mere for jer end et hostet arbejdsrum — en anden er allerede stødt på jeres særtilfælde og har fået det rettet — er det et reelt argument i deres favør, og I bør prissætte begge dele mod jeres egne programmer.

Skrive om i Python eller R

Hvis kodebasen er lille, eller I alligevel skulle bygge om, så skriv den om i Python eller R. Tyve programmer flyttet til pandas eller tidyverse er to ugers arbejde og lukker spørgsmålet for altid, på en stak der er lettere at rekruttere til. At køre koden i SAS-sproget, som den er, vinder, når der er meget af den, når den er valideret, og når en omskrivning ville betyde, at hvert tal skal valideres igen i stedet for blot at blive skrevet af.

Blive hvor I er

SAS beskriver Viya som en platform med visuelle værktøjer og modelstyring oven på sproget. Hvis de, der bruger den, arbejder i de flader frem for i kode, erstatter en motor til SAS-sproget den forkerte halvdel af det, de rører ved, og at flytte dem koster mere, end det giver. Teams, hvis brug er programmer — DATA-trin, PROC'er, makroer — er dem, denne side er skrevet til.

Hvad vi ikke dækker

Jenner implementerer 100 dokumenterede procedurer og en stor del af SAS-sproget, og ingen af delene er det hele. Hvor jeres arbejde afhænger af noget, vi ikke har bygget, kører det ikke, og det opdager I den første eftermiddag frem for efter et projekt. Vi er også yngre end de alternativer, der nævnes her, med færre år med andres særtilfælde bag os. Procedurereferencen er udgivet i sin helhed, så dækningen kan tjekkes, før noget bliver lovet.

Ofte stillede spørgsmål

Jenner, hvis det, I reelt bruger Viya til, er at køre programmer i SAS-sproget. Det er en clean room-implementering af SAS 9.4-sproget skrevet i Rust, hostet som et JupyterLab-arbejdsrum, teamet logger ind i, og tilgængeligt over HTTP for alt automatiseret. Der kræves ingen SAS-licens i noget lag. Er jeres brug mest peg-og-klik frem for kode, er afsnittet ovenfor om at blive, hvor I er, det ærligere svar.

Programmerne, ja. DATA-trin, PROC SQL, makrosproget og 100 dokumenterede procedurer kører på Jenner uden SAS-software nedenunder, fordi det er en selvstændig implementering og ikke en skal, der kalder noget andet. Det, der ikke følger med, er alt, som ikke er et program: indhold sat sammen i en peg-og-klik-flade er ikke kode i SAS-sproget, så der er intet, en motor kan udføre.

Den er hostet, og dér er overlappet. I får et arbejdsrum i browseren, hvor JupyterLab kører på en container, vi driver, delt i organisationen, plus en HTTP-vej til job og agenter. Det er mindre end en komplet analysepakke — en motor og et sted at køre den, ikke et katalog af applikationer. For et team, hvis arbejde er SAS-programmer, er det som regel den halvdel, der bærer vægten.

De følger med. Jenner læser SAS7BDAT direkte sammen med XPT, CSV og Parquet og skriver dem tilbage: et datasæt lander i arbejdsrummet uden konverteringstrin, og resultater forlader det i den form, en kollega forventer. Det er også dét, der gør én arbejdsbyrde ad gangen mulig i stedet for en omlægningsweekend, ingen vil stå på mål for.

Ja — det er HTTP-vejen, og den kræver slet ingen browser. En scheduler, et CI-job eller en agent sender programmet og dets input og modtager listen, loggen, en exitkode og datasættene som JSON, uden at der holdes en session åben undervejs. Det er samme motor, som arbejdsrummet kører, så programmet, nogen udviklede interaktivt, er det program, pipelinen udfører.

Tag én rapport, hvis output I kan genkende på et øjeblik, kør den i arbejdsrummet, og sammenlign de to outputdatasæt med PROC COMPARE ned til den tolerance, I selv sætter. Inde i arbejdsrummet er det en billig evaluering — intet at installere og intet at indkøbe først — og det, der kommer ud, er dokumentation om jeres egne tal frem for en påstand om vores. Gemt som en notebook er sammenligningen samtidig det materiale, en valideringsansvarlig kan læse måneder senere.

Altair SLC kører også programmer i SAS-sproget uden SAS-licens og har gjort det langt før os. Hvor en lang historik tæller mere end et arbejdsrum i browseren: bed dem om et tilbud, og kør begge gennem jeres egne programmer frem for gennem den ene eller den anden leverandørs funktionsliste. Vi vil hellere have, at I vælger det rigtige, end at I vælger os.

Nogle gange jo. Er SAS-koden lille, eller forlader teamet alligevel sproget, lukker en omskrivning i Python eller R — pandas, tidyverse — sagen én gang for alle og sætter jer på en stak, der er lettere at rekruttere til. At køre koden, som den er, vinder, når der er meget af den, når den er valideret, og når en omskrivning betyder, at hvert tal skal valideres igen i stedet for blot at blive skrevet af.

Nej, og den, der siger andet, har ikke talt efter. Vores dækning af sproget er bred, men den har huller, og et program, der rammer et af dem, fejler tydeligt frem for stille. Procedurereferencen lister sætning for sætning, hvad der findes, og at køre jeres egne programmer i arbejdsrummet afgør spørgsmålet for jeres bestand på en eftermiddag frem for i en indkøbsrunde.

På vores infrastruktur, ikke jeres. Et hostet arbejdsrum betyder, at de filer, I lægger ind, ligger på maskiner, vi driver — det er byttet for ikke at skulle installere eller lappe noget. Jeres organisation styrer adgangen til arbejdsrummet, hvilket ikke er det samme som at eje disken, og forskellen er værd at sige rent ud, før en revision spørger efter den. Hvor et datasæt ikke må ligge på andres hardware, kører samme motor som indbygget Mac-app og som kommandolinjebinær på jeres egne maskiner, og programmerne ændrer sig ikke, når I skifter.

Ikke rigtigt. En notebook er et sted at skrive et program og se loggen og output dukke op ved siden af, altså netop den sløjfe, I allerede arbejder i. Programmerne bliver i SAS-syntaks: det, der ændrer sig, er vinduet, ikke koden — og for den, der helst er fri for en notebook, kører HTTP-vejen og kommandolinjen den samme .sas-fil urørt.

Prøv det på et af jeres egne programmer

Log ind i et arbejdsrum i browseren — intet at installere, ingen SAS-licens.

Start gratis prøveperiode