Una alternativa a SAS Viya para el trabajo alojado

Quien busca una alternativa a Viya no suele buscar algo que instalar en un portátil. Tiene trabajo en lenguaje SAS que se ejecuta en algún sitio central: un navegador en el que alguien inicia sesión, o una canalización que llama a una plataforma y espera resultados. Jenner cubre las dos cosas: un espacio de trabajo JupyterLab alojado y un extremo HTTP que ejecuta un programa y devuelve su salida.

La respuesta corta

Jenner es una implementación de sala limpia del lenguaje SAS 9.4, escrita en Rust, y está alojada. Su equipo inicia sesión en un espacio de trabajo JupyterLab en el navegador, abre un programa que ya tiene y lo ejecuta: nada instalado en ningún equipo y ninguna licencia de SAS en ninguna capa. El mismo motor responde por HTTP, así que un trabajo programado o un agente de IA puede enviar un programa y leer de vuelta el log, el listado y los conjuntos de datos que produjo.

Quién inicia sesión y qué se ejecuta

Un espacio de trabajo es compartido: analista, revisor y estadístico trabajan sobre los mismos archivos en lugar de enviarse conjuntos de datos por correo. Los programas siguen en sintaxis SAS —pasos DATA, PROC SQL, el lenguaje macro— y el espacio de trabajo lee SAS7BDAT y XPT directamente, además de CSV y Parquet. Donde un portátil sí sea el sitio adecuado para parte del trabajo, el mismo motor existe como aplicación nativa de Mac: alojado y local no se excluyen.

Qué aporta el lado alojado

Tres formas de llegar a un mismo motor. Cuál elegir es una cuestión de despliegue, no de reescritura.

Un espacio de trabajo JupyterLab en el navegador

Iniciar sesión le deja dentro de JupyterLab, con los archivos de su organización y un kernel de Jenner ya conectado. No se instala nada en ningún equipo, y eso suele ser justo el punto: un compañero nuevo consigue un entorno funcional desde una pestaña, y un portátil corporativo bloqueado sirve de cliente igual de bien que una estación de trabajo.

Programas ejecutados por HTTP

El motor también responde a peticiones HTTP. Envíe un programa y sus entradas y reciba el listado, el log, un código de salida y cada conjunto de datos producido, en JSON estructurado. Eso es lo que lo hace utilizable desde un orquestador, un trabajo de integración continua o un agente de IA: ninguno de ellos puede quedarse delante de una sesión interactiva esperando a que alguien haga clic.

100 procedimientos documentados

El catálogo está publicado procedimiento a procedimiento, cada uno con una página de referencia que nombra las sentencias y opciones que acepta. En una plataforma alojada eso importa más que una cifra de titular: antes de mover una carga, la pregunta es si ese PROC concreto, con esas opciones concretas, está ahí, y se resuelve leyendo, antes de que nadie firme nada.

Los archivos que ya tiene

Jenner lee SAS7BDAT directamente, junto con XPT, CSV y Parquet, y los vuelve a escribir. Un conjunto de datos llega al espacio de trabajo sin un paso de conversión previo, y la salida puede marcharse en el formato que espere el siguiente paso.

Dónde encaja mejor otra cosa

Cuatro situaciones en las que no somos la respuesta correcta. Saber en cuál está vale más que una tabla de funciones.

Altair SLC

Altair SLC, antes WPS, también ejecuta programas en lenguaje SAS sin licencia de SAS, y lleva haciéndolo mucho más tiempo que nosotros. Donde un historial largo le importe más que un espacio de trabajo alojado —otro ya se topó con su caso límite y consiguió que lo arreglaran—, ese es un argumento real a su favor, y conviene presupuestar ambos sobre sus propios programas.

Reescribir en Python o R

Si la base de código es pequeña, o iba a reconstruirla de todos modos, reescríbala en Python o R. Llevar veinte programas a pandas o al tidyverse son dos semanas de trabajo y zanja la cuestión para siempre, sobre una pila para la que es más fácil contratar. Ejecutar el código en lenguaje SAS tal como está gana cuando hay mucho, cuando está validado y cuando reescribir significaría revalidar cada número en lugar de solo volver a teclearlo.

Quedarse donde está

SAS describe Viya como una plataforma con herramientas visuales y de gestión de modelos por encima del lenguaje. Si quienes la usan trabajan en esas interfaces y no en código, un motor de lenguaje SAS sustituye la mitad equivocada de lo que tocan, y moverlos cuesta más de lo que devuelve. Los equipos cuyo uso son programas —pasos DATA, PROC, macros— son aquellos para los que está escrita esta página.

Lo que no cubrimos

Jenner implementa 100 procedimientos documentados y buena parte del lenguaje SAS, y ninguna de las dos cosas es la totalidad. Donde su trabajo dependa de algo que no hemos construido, no se ejecuta, y lo descubre la primera tarde en lugar de después de un proyecto. También somos más jóvenes que las alternativas mencionadas aquí, con menos años de casos límite ajenos a la espalda. La referencia de procedimientos está publicada entera: la cobertura se comprueba antes de comprometer nada.

Preguntas frecuentes

Jenner, si para lo que usa Viya realmente es para ejecutar programas en lenguaje SAS. Es una implementación de sala limpia del lenguaje SAS 9.4 escrita en Rust, alojada como un espacio de trabajo JupyterLab en el que inicia sesión su equipo, y accesible por HTTP para todo lo automatizado. No hace falta licencia de SAS en ninguna capa. Si su uso es sobre todo de apuntar y hacer clic en lugar de código, la sección de arriba sobre quedarse donde está es la respuesta más honesta.

Los programas, sí. Los pasos DATA, PROC SQL, el lenguaje macro y 100 procedimientos documentados se ejecutan en Jenner sin software de SAS debajo, porque es una implementación independiente y no una fachada que llama a otra cosa. Lo que no viaja es todo lo que no sea un programa: el contenido montado en una interfaz de apuntar y hacer clic no es código en lenguaje SAS, así que no hay nada que un motor pueda ejecutar.

Está alojado, y esa es la parte que se solapa. Obtiene un espacio de trabajo en el navegador que ejecuta JupyterLab sobre un contenedor que operamos nosotros, compartido en su organización, más una vía HTTP para trabajos y agentes. Es algo más pequeño que una suite analítica completa: un motor y un sitio donde ejecutarlo, no un catálogo de aplicaciones. Para un equipo cuyo trabajo son programas SAS, esa suele ser la mitad que aguanta el peso.

Se vienen con usted. Jenner lee SAS7BDAT directamente, junto con XPT, CSV y Parquet, y los vuelve a escribir: un conjunto de datos aterriza en el espacio de trabajo sin paso de conversión y los resultados salen con la forma que espera un compañero. Eso es también lo que hace posible ir carga por carga, en vez de un fin de semana de migración que nadie quiere asumir.

Sí: esa es la vía HTTP, y no necesita navegador alguno. Un planificador, un trabajo de integración continua o un agente envía el programa y sus entradas y recibe el listado, el log, un código de salida y los conjuntos de datos en JSON, sin mantener ninguna sesión abierta. Es el mismo motor que ejecuta el espacio de trabajo, así que el programa que alguien desarrolló de forma interactiva es el que ejecuta la canalización.

Coja un informe cuya salida reconocería de un vistazo, ejecútelo en el espacio de trabajo y compare los dos conjuntos de datos con PROC COMPARE, hasta la tolerancia que usted fije. Dentro del espacio de trabajo es una evaluación barata —nada que instalar y nada que comprar antes— y lo que produce es evidencia sobre sus propios números, no una afirmación sobre los nuestros. Guardada como cuaderno, la comparación es además el artefacto que un revisor de validación podrá leer meses después.

Altair SLC también ejecuta programas en lenguaje SAS sin licencia de SAS, y lo hace desde mucho antes que nosotros. Donde un historial largo pese más que un espacio de trabajo en el navegador, pídales presupuesto y pase ambos por sus propios programas en lugar de por la lista de funciones de cualquiera de los dos. Preferimos que elija el correcto a que nos elija a nosotros.

A veces sí. Si el código SAS es pequeño, o el equipo va a dejar el lenguaje de todas formas, una reescritura en Python o R —pandas, el tidyverse— lo zanja de una vez y le deja sobre una pila para la que es más fácil contratar. Ejecutar el código tal como está gana cuando hay mucho, cuando está validado y cuando reescribir significa revalidar cada número en lugar de solo volver a teclearlo.

No, y quien le diga lo contrario no ha contado. Nuestra cobertura del lenguaje es amplia pero tiene lagunas, y un programa que topa con una falla de forma visible en lugar de callada. La referencia de procedimientos enumera lo que existe, sentencia a sentencia, y ejecutar sus propios programas en el espacio de trabajo resuelve la pregunta para su parque en una tarde y no en un ciclo de compras.

En nuestra infraestructura, no en la suya. Un espacio de trabajo alojado significa que los archivos que usted pone en él residen en máquinas que operamos nosotros: ese es el canje por no tener nada que instalar ni que parchear. Su organización controla el acceso al espacio de trabajo, que no es lo mismo que tener el disco, y conviene decirlo claro antes de que lo pregunte una auditoría. Donde un conjunto de datos no pueda estar en hardware ajeno, el mismo motor funciona como aplicación nativa de Mac y como binario de línea de comandos en sus propias máquinas, y los programas no cambian al pasar de uno a otro.

En realidad no. Un cuaderno es un sitio donde teclear un programa y ver el log y la salida aparecer al lado, que es el bucle en el que ya trabaja. Los programas siguen en sintaxis SAS: lo que cambia es la ventana, no el código, y para quien prefiera no tocar un cuaderno, la vía HTTP y la línea de comandos ejecutan el mismo archivo .sas sin tocarlo.

Pruébelo con uno de sus propios programas

Inicie sesión en un espacio de trabajo desde el navegador: nada que instalar, ninguna licencia de SAS.

Empezar la prueba gratuita