Une alternative à SAS Viya pour le travail hébergé

Les personnes qui cherchent une alternative à Viya ne cherchent généralement pas quelque chose à installer sur un portable. Elles ont du travail en langage SAS qui s'exécute quelque part de centralisé — un navigateur dans lequel on se connecte, ou un pipeline qui appelle une plateforme et attend les résultats. Jenner couvre les deux : un espace de travail JupyterLab hébergé, et un point d'accès HTTP qui exécute un programme et renvoie sa sortie.

La réponse courte

Jenner est une implémentation en salle blanche du langage SAS 9.4, écrite en Rust, et elle est hébergée. Votre équipe se connecte à un espace de travail JupyterLab dans le navigateur, ouvre un programme qu'elle possède déjà et l'exécute — rien à installer sur les machines et aucune licence SAS à aucun niveau. Le même moteur répond en HTTP, de sorte qu'une tâche planifiée ou un agent IA peut envoyer un programme et relire le journal, la sortie et les tables produites.

Qui se connecte, et ce qui s'exécute

Un espace de travail est partagé : un analyste, un relecteur et un statisticien travaillent sur les mêmes fichiers au lieu de s'envoyer des tables par courriel. Les programmes restent en syntaxe SAS — étapes DATA, PROC SQL, le macro-langage — et l'espace de travail lit SAS7BDAT et XPT directement, ainsi que CSV et Parquet. Là où un portable est vraiment le bon endroit pour une partie du travail, le même moteur existe en application Mac native : l'hébergé et le local ne s'excluent pas.

Ce que le côté hébergé vous apporte

Trois façons d'atteindre un seul moteur. Le choix relève du déploiement, pas d'une réécriture.

Un espace de travail JupyterLab dans le navigateur

Se connecter vous place dans JupyterLab, avec les fichiers de votre organisation et un noyau Jenner déjà attaché. Rien n'est installé sur les machines, et c'est généralement tout l'intérêt : un nouveau collègue obtient un environnement fonctionnel depuis un onglet, et un portable d'entreprise verrouillé fait un aussi bon client qu'une station de travail.

Des programmes exécutés via HTTP

Le moteur répond aussi aux requêtes HTTP. Envoyez un programme et ses données, recevez la sortie, le journal, un code de retour et chaque table produite, en JSON structuré. C'est ce qui le rend utilisable depuis un orchestrateur, un job d'intégration continue ou un agent IA — aucun d'eux ne peut rester devant une session interactive à attendre qu'un humain clique.

100 procédures documentées

Le catalogue est publié procédure par procédure, chacune avec une page de référence qui nomme les instructions et les options acceptées. Sur une plateforme hébergée, cela compte plus qu'un chiffre d'affiche : avant de déplacer une charge de travail, la question est de savoir si cette PROC précise, avec ces options précises, existe — et vous pouvez trancher en lisant, avant que quiconque ne signe quoi que ce soit.

Les fichiers que vous avez déjà

Jenner lit SAS7BDAT directement, ainsi que XPT, CSV et Parquet, et les réécrit. Une table arrive dans l'espace de travail sans étape de conversion préalable, et la sortie peut repartir dans le format qu'attend l'étape suivante.

Là où autre chose convient mieux

Quatre situations où nous ne sommes pas la bonne réponse. Savoir dans laquelle vous êtes vaut mieux qu'un tableau comparatif.

Altair SLC

Altair SLC, anciennement WPS, exécute lui aussi des programmes en langage SAS sans licence SAS, et le fait depuis bien plus longtemps que nous. Là où un historique long compte plus pour vous qu'un espace de travail hébergé — quelqu'un d'autre a déjà rencontré votre cas limite et l'a fait corriger — c'est un vrai argument en leur faveur, et il faut chiffrer les deux sur vos propres programmes.

Réécrire en Python ou en R

Si la base de code est petite, ou si vous alliez la reconstruire de toute façon, réécrivez-la en Python ou en R. Vingt programmes portés vers pandas ou le tidyverse, c'est deux semaines de travail et la question est réglée définitivement, sur une pile pour laquelle il est plus facile de recruter. Exécuter le code en langage SAS tel quel l'emporte quand il y en a beaucoup, qu'il a été validé, et qu'une réécriture voudrait dire revalider chaque chiffre plutôt que simplement le recoder.

Rester où vous êtes

SAS décrit Viya comme une plateforme dotée d'outils visuels et de gestion de modèles posés sur le langage. Si les personnes qui l'utilisent travaillent dans ces interfaces plutôt que dans du code, un moteur de langage SAS remplace la mauvaise moitié de ce qu'elles touchent, et les déplacer coûte plus que cela ne rapporte. Les équipes dont l'usage tient dans des programmes — étapes DATA, PROC, macros — sont celles à qui cette page s'adresse.

Ce que nous ne couvrons pas

Jenner implémente 100 procédures documentées et une grande partie du langage SAS, et ni l'un ni l'autre n'en est la totalité. Là où votre travail dépend de quelque chose que nous n'avons pas construit, il ne s'exécute pas, et vous l'apprenez le premier après-midi plutôt qu'après un projet. Nous sommes aussi plus jeunes que les alternatives citées ici, avec moins d'années de cas limites d'autrui derrière nous. La référence des procédures est publiée intégralement : la couverture se vérifie avant tout engagement.

Questions fréquentes

Jenner, si ce que vous faites réellement avec Viya est exécuter des programmes en langage SAS. C'est une implémentation en salle blanche du langage SAS 9.4 écrite en Rust, hébergée sous forme d'espace de travail JupyterLab auquel votre équipe se connecte, et accessible en HTTP pour tout ce qui est automatisé. Aucune licence SAS n'est nécessaire, à aucun niveau. Si votre usage relève surtout du point-and-click plutôt que du code, la section ci-dessus sur le fait de rester où vous êtes est la réponse la plus honnête.

Les programmes, oui. Les étapes DATA, PROC SQL, le macro-langage et 100 procédures documentées s'exécutent sur Jenner sans aucun logiciel SAS en dessous, parce qu'il s'agit d'une implémentation indépendante et non d'une façade qui appellerait autre chose. Ce qui ne se transporte pas, c'est tout ce qui n'est pas un programme : un contenu assemblé dans une interface point-and-click n'est pas du code en langage SAS, il n'y a donc rien à exécuter pour un moteur.

Il est hébergé, et c'est la partie qui se recoupe. Vous obtenez un espace de travail dans le navigateur qui fait tourner JupyterLab sur un conteneur que nous exploitons, partagé dans votre organisation, plus un accès HTTP pour les tâches et les agents. C'est une chose plus petite qu'une suite analytique complète — un moteur et un endroit où l'exécuter, plutôt qu'un catalogue d'applications. Pour une équipe dont le travail est fait de programmes SAS, c'est généralement la moitié qui porte le poids.

Ils vous suivent. Jenner lit SAS7BDAT directement, ainsi que XPT, CSV et Parquet, et les réécrit : une table arrive dans l'espace de travail sans étape de conversion et les résultats repartent sous la forme qu'attend un collègue. C'est aussi ce qui rend possible une charge de travail à la fois, au lieu d'un week-end de bascule que personne ne veut assumer.

Oui — c'est le chemin HTTP, et il ne demande aucun navigateur. Un ordonnanceur, un job d'intégration continue ou un agent envoie le programme et ses données et reçoit la sortie, le journal, un code de retour et les tables en JSON, sans session maintenue ouverte entre les deux. C'est le même moteur que celui de l'espace de travail : le programme écrit de façon interactive est celui que le pipeline exécute.

Prenez un rapport dont vous reconnaîtriez la sortie au premier coup d'œil, exécutez-le dans l'espace de travail, et comparez les deux tables avec PROC COMPARE, jusqu'à la tolérance que vous choisissez. Dans l'espace de travail, c'est une évaluation peu coûteuse — rien à installer, rien à acheter d'abord — et ce qu'elle produit est une preuve sur vos propres chiffres plutôt qu'une affirmation sur les nôtres. Enregistrée en notebook, la comparaison est aussi l'artefact qu'un relecteur de validation pourra lire des mois plus tard.

Altair SLC exécute lui aussi des programmes en langage SAS sans licence SAS, et depuis bien plus longtemps que nous. Là où un long historique compte plus qu'un espace de travail dans le navigateur, demandez-leur un devis et faites passer les deux par vos propres programmes plutôt que par la liste de fonctionnalités de l'un ou l'autre. Nous préférons que vous choisissiez le bon plutôt que vous nous choisissiez.

Parfois si. Si le code SAS est peu volumineux, ou si l'équipe quitte le langage de toute façon, une réécriture en Python ou en R — pandas, le tidyverse — règle la question pour de bon et vous place sur une pile pour laquelle il est plus facile de recruter. Exécuter le code tel quel l'emporte quand il y en a beaucoup, qu'il a été validé, et qu'une réécriture signifie revalider chaque chiffre au lieu de simplement le recoder.

Non, et quiconque vous dit le contraire n'a pas compté. Notre couverture du langage est large mais elle comporte des lacunes, et un programme qui en heurte une échoue franchement plutôt que silencieusement. La référence des procédures liste ce qui existe, instruction par instruction, et exécuter vos propres programmes dans l'espace de travail tranche la question pour votre parc en un après-midi plutôt qu'en un cycle d'achat.

Sur notre infrastructure, pas la vôtre. Un espace de travail hébergé signifie que les fichiers que vous y déposez résident sur des machines que nous exploitons — c'est la contrepartie de n'avoir rien à installer ni à corriger. Votre organisation contrôle l'accès à l'espace de travail, ce qui n'est pas la même chose que détenir le disque, et mieux vaut le dire clairement avant qu'un audit ne le demande. Là où un jeu de données ne peut pas résider sur le matériel d'autrui, le même moteur fonctionne en application Mac native et en binaire de ligne de commande sur vos propres machines, et les programmes ne changent pas quand vous passez de l'un à l'autre.

Pas vraiment. Un notebook est un endroit où taper un programme et voir le journal et la sortie apparaître à côté, c'est-à-dire la boucle dans laquelle vous travaillez déjà. Les programmes restent en syntaxe SAS : ce qui change est la fenêtre, pas le code — et pour qui préfère ne pas toucher à un notebook, le chemin HTTP et la ligne de commande exécutent le même fichier .sas tel quel.

Essayez-le sur l'un de vos propres programmes

Connectez-vous à un espace de travail dans le navigateur — rien à installer, aucune licence SAS.

Démarrer l'essai gratuit