Eine SAS-Viya-Alternative für gehostete Arbeit

Wer eine Viya-Alternative sucht, sucht meist nicht nach etwas, das man auf einem Laptop installiert. Da ist Arbeit in der SAS-Sprache, die zentral läuft — ein Browser, in dem sich jemand anmeldet, oder eine Pipeline, die eine Plattform aufruft und auf Ergebnisse wartet. Jenner deckt beides ab: einen gehosteten JupyterLab-Workspace und einen HTTP-Endpunkt, der ein Programm ausführt und seine Ausgabe zurückgibt.

Die kurze Antwort

Jenner ist eine Clean-Room-Implementierung der SAS-9.4-Sprache, in Rust geschrieben, und es ist gehostet. Ihr Team meldet sich an einem JupyterLab-Workspace im Browser an, öffnet ein vorhandenes Programm und führt es aus — nichts wird auf einem Rechner installiert, und auf keiner Ebene wird eine SAS-Lizenz gebraucht. Dieselbe Engine antwortet über HTTP, sodass ein geplanter Job oder ein KI-Agent ein Programm schicken und Log, Listing und die erzeugten Datasets zurücklesen kann.

Wer sich anmeldet, und was läuft

Ein Workspace ist gemeinsam: Analystin, Prüfer und Statistiker arbeiten an denselben Dateien, statt Datasets hin- und herzuschicken. Programme bleiben in SAS-Syntax — DATA-Steps, PROC SQL, die Makrosprache — und der Workspace liest SAS7BDAT und XPT direkt, dazu CSV und Parquet. Wo ein Laptop für einen Teil der Arbeit wirklich der richtige Ort ist, gibt es dieselbe Engine als native Mac-App: gehostet und lokal schließen sich nicht aus.

Was die gehostete Seite bringt

Drei Wege zu einer Engine. Welcher es wird, ist eine Frage des Deployments, nicht des Umschreibens.

Ein JupyterLab-Workspace im Browser

Nach der Anmeldung sind Sie in JupyterLab, mit den Dateien Ihrer Organisation und einem bereits angehängten Jenner-Kernel. Auf keinem Rechner wird etwas installiert, und genau das ist meist der Punkt: Eine neue Kollegin bekommt eine funktionierende Umgebung aus einem Browser-Tab, und ein gesperrtes Firmen-Notebook ist ein ebenso guter Client wie eine Workstation.

Programme über HTTP ausführen

Die Engine beantwortet auch HTTP-Anfragen. Schicken Sie ein Programm und seine Eingaben und erhalten Sie Listing, Log, einen Exit-Code und jedes erzeugte Dataset als strukturiertes JSON. Das macht sie aus einem Orchestrator, einem CI-Job oder einem KI-Agenten heraus nutzbar — keiner von ihnen kann vor einer interaktiven Sitzung sitzen und warten, bis ein Mensch klickt.

100 dokumentierte Prozeduren

Der Katalog ist Prozedur für Prozedur veröffentlicht, jede mit einer Referenzseite, die die unterstützten Anweisungen und Optionen benennt. Auf einer gehosteten Plattform zählt das mehr als eine Schlagzeilenzahl: Bevor eine Last umzieht, lautet die Frage, ob genau diese PROC mit genau diesen Optionen da ist — und das klären Sie durch Lesen, bevor irgendjemand etwas unterschreibt.

Die Dateien, die Sie schon haben

Jenner liest SAS7BDAT direkt, dazu XPT, CSV und Parquet, und schreibt sie wieder zurück. Ein Dataset erreicht den Workspace ohne vorgeschalteten Konvertierungsschritt, und die Ausgabe kann in dem Format herausgehen, das der nächste Schritt erwartet.

Wo etwas anderes besser passt

Vier Situationen, in denen wir nicht die richtige Antwort sind. Zu wissen, in welcher Sie stecken, ist mehr wert als eine Funktionstabelle.

Altair SLC

Altair SLC, früher WPS, führt Programme in der SAS-Sprache ebenfalls ohne SAS-Lizenz aus und tut das weit länger als wir. Wo Ihnen eine lange Historie mehr wert ist als ein gehosteter Workspace — jemand anderes ist über Ihren Sonderfall schon gestolpert und hat ihn beheben lassen —, ist das ein echtes Argument für sie, und Sie sollten beide an Ihren eigenen Programmen durchrechnen.

In Python oder R neu schreiben

Wenn die Codebasis klein ist oder Sie ohnehin neu bauen wollten, schreiben Sie sie in Python oder R neu. Zwanzig Programme nach pandas oder ins tidyverse zu holen ist zwei Wochen Arbeit und erledigt die Frage dauerhaft, auf einem Stack, für den sich leichter einstellen lässt. Code in der SAS-Sprache so laufen zu lassen, wie er ist, gewinnt, wenn es viel davon gibt, er validiert ist und ein Neuschreiben hieße, jede Zahl neu zu validieren statt nur neu zu tippen.

Bleiben, wo Sie sind

SAS beschreibt Viya als Plattform mit visuellen Werkzeugen und Modellverwaltung oberhalb der Sprache. Wenn die Leute, die damit arbeiten, in diesen Oberflächen statt im Code arbeiten, ersetzt eine SAS-Sprach-Engine die falsche Hälfte dessen, was sie anfassen, und ein Umzug kostet mehr, als er einbringt. Teams, deren Nutzung aus Programmen besteht — DATA-Steps, PROCs, Makros —, sind die, für die diese Seite geschrieben ist.

Was wir nicht abdecken

Jenner implementiert 100 dokumentierte Prozeduren und einen großen Teil der SAS-Sprache, und keines von beidem ist das Ganze. Wo Ihre Arbeit von etwas abhängt, das wir nicht gebaut haben, läuft sie nicht, und Sie merken das am ersten Nachmittag statt nach einem Projekt. Wir sind außerdem jünger als die hier genannten Alternativen, mit weniger Jahren fremder Sonderfälle im Rücken. Die Prozedurreferenz ist vollständig veröffentlicht, die Abdeckung lässt sich also prüfen, bevor irgendetwas zugesagt wird.

Häufige Fragen

Jenner, wenn Sie Viya tatsächlich dafür nutzen, Programme in der SAS-Sprache auszuführen. Es ist eine Clean-Room-Implementierung der SAS-9.4-Sprache in Rust, gehostet als JupyterLab-Workspace, an dem sich Ihr Team anmeldet, und über HTTP erreichbar für alles Automatisierte. Auf keiner Ebene wird eine SAS-Lizenz gebraucht. Wenn Ihre Nutzung überwiegend Klickoberfläche statt Code ist, ist der Abschnitt oben über das Bleiben die ehrlichere Antwort.

Die Programme ja. DATA-Steps, PROC SQL, die Makrosprache und 100 dokumentierte Prozeduren laufen auf Jenner ohne SAS-Software darunter, weil es eine eigenständige Implementierung ist und kein Aufsatz, der etwas anderes aufruft. Nicht mit umziehen kann alles, was kein Programm ist: In einer Klickoberfläche zusammengestellte Inhalte sind kein Code in der SAS-Sprache, es gibt für eine Engine also nichts auszuführen.

Es ist gehostet, und das ist die Überschneidung. Sie bekommen einen Browser-Workspace, in dem JupyterLab auf einem von uns betriebenen Container läuft, organisationsweit geteilt, dazu einen HTTP-Pfad für Jobs und Agenten. Das ist weniger als eine vollständige Analytics-Suite — eine Engine und ein Ort, sie auszuführen, statt eines Katalogs von Anwendungen. Für ein Team, dessen Arbeit aus SAS-Programmen besteht, ist das meist die Hälfte, die das Gewicht trägt.

Die kommen mit. Jenner liest SAS7BDAT direkt, dazu XPT, CSV und Parquet, und schreibt sie zurück: Ein Dataset landet ohne Konvertierungsschritt im Workspace, und Ergebnisse gehen in der Form heraus, die eine Kollegin erwartet. Genau das macht eine Last nach der anderen möglich, statt eines Umstellungswochenendes, das niemand verantworten will.

Ja — das ist der HTTP-Pfad, und er braucht überhaupt keinen Browser. Ein Scheduler, ein CI-Job oder ein Agent schickt das Programm samt Eingaben und erhält Listing, Log, einen Exit-Code und die Datasets als JSON, ohne dass dazwischen eine Sitzung offen bleibt. Es ist dieselbe Engine wie im Workspace: Das interaktiv entwickelte Programm ist das Programm, das die Pipeline ausführt.

Nehmen Sie einen Bericht, dessen Ausgabe Sie auf einen Blick erkennen, lassen Sie ihn im Workspace laufen und vergleichen Sie die beiden Ausgabe-Datasets mit PROC COMPARE, bis zu der Toleranz, die Sie setzen. Im Workspace ist das eine billige Evaluierung — nichts zu installieren, nichts vorher zu beschaffen — und heraus kommt ein Beleg über Ihre eigenen Zahlen statt eine Behauptung über unsere. Als Notebook gespeichert ist der Vergleich zugleich das Artefakt, das eine Validierungsprüferin Monate später lesen kann.

Altair SLC führt Programme in der SAS-Sprache ebenfalls ohne SAS-Lizenz aus, und das deutlich länger als wir. Wo eine lange Historie mehr zählt als ein Browser-Workspace, holen Sie ein Angebot ein und schicken Sie beide durch Ihre eigenen Programme statt durch die Funktionsliste des jeweiligen Anbieters. Uns ist lieber, Sie wählen das Richtige, als dass Sie uns wählen.

Manchmal schon. Wenn der SAS-Code klein ist oder das Team die Sprache ohnehin verlässt, erledigt ein Neuschreiben in Python oder R — pandas, tidyverse — die Sache endgültig und setzt Sie auf einen Stack, für den sich leichter einstellen lässt. Den Code so laufen zu lassen, wie er ist, gewinnt, wenn es viel davon gibt, wenn er validiert ist und wenn ein Neuschreiben hieße, jede Zahl neu zu validieren statt sie nur neu zu tippen.

Nein, und wer etwas anderes behauptet, hat nicht nachgezählt. Unsere Abdeckung der Sprache ist groß, aber sie hat Lücken, und ein Programm, das in eine gerät, scheitert deutlich statt still. Die Prozedurreferenz listet Anweisung für Anweisung auf, was existiert, und Ihre eigenen Programme im Workspace laufen zu lassen klärt die Frage für Ihren Bestand an einem Nachmittag statt in einem Beschaffungszyklus.

Auf unserer Infrastruktur, nicht auf Ihrer. Ein gehosteter Workspace heißt, dass die Dateien, die Sie hineinlegen, auf Maschinen liegen, die wir betreiben — das ist der Tausch dafür, nichts installieren und nichts patchen zu müssen. Ihre Organisation steuert den Zugang zum Workspace, was nicht dasselbe ist wie die Platte zu besitzen, und der Unterschied gehört ausgesprochen, bevor eine Prüfung danach fragt. Wo ein Datensatz nicht auf fremder Hardware liegen darf, läuft dieselbe Engine als native Mac-App und als Kommandozeilen-Binary auf Ihren eigenen Rechnern, und die Programme ändern sich beim Wechsel nicht.

Eigentlich nicht. Ein Notebook ist ein Ort, an dem man ein Programm tippt und Log und Ausgabe daneben auftauchen sieht — also genau die Schleife, in der Sie ohnehin arbeiten. Programme bleiben in SAS-Syntax: Was sich ändert, ist das Fenster, nicht der Code. Und wer ein Notebook lieber gar nicht anfasst, führt über den HTTP-Pfad und die Kommandozeile dieselbe .sas-Datei unverändert aus.

Probieren Sie es an einem Ihrer eigenen Programme

Im Browser an einem Workspace anmelden — nichts zu installieren, keine SAS-Lizenz.

Kostenlos testen