SAS Viya 3.3 has seen the official release of new servers and services that further help providing capabilities to the SAS Platform. In this post we will introduce the SAS Launcher Server and SAS Compute Server. Together they are used by other Viya services to submit and run SAS programs in the form of jobs.
The launcher is composed by a server and a service: The SAS Launcher Server is used to start processes in a SAS Viya environment. The SAS Launcher Service is a SAS Viya microservice that exposes a REST interface to
In the picture below we can see the launcher service process (above) and the two processes that constitute the launcher server (below)
With a good approximation we can say that the SAS Launcher server is to Viya what the Object Spawner is to SAS 9. We do not interact with a launcher server directly; we use REST interfaces exposed by the microservice, the SAS Launcher service. In Viya 3.3 there are 2 consumers of the Launcher service:
Now that we have introduced the launcher, what is the compute?
Just like with the launcher, there are a Compute server and a Compute service. In a few words, the SAS Compute Server is a back-end server process that provides access to SAS Foundation in a SAS Viya environment The SAS Compute Service is a SAS Viya microservice that exposes a REST interface to
In the picture below we can see the compute service process (below) and the two processes that constitute the compute server (above)
If we want to make a quick and easy comparison, we could say that a compute server is like a workspace server, with the big difference that a workspace server is accessed using the proprietary IOM protocol, while a compute server is accessed through the compute service via a standard REST API. A compute server instance uses the SAS Foundation executable provided by SPRE (/opt/sas/spre/home/SASFoundation). Just as with the workspace server, we can use the compute server to
Both Launcher and Compute are not available in a programming-only deployment.
In the descriptions above I mentioned that Launcher/Compute services manage Launcher/Compute contexts. What are these?
A Launcher Context provides the environment under which a launcher server should start an OS process
A Compute Context provides information to run a compute server
Again, an easy analogy with SAS 9 could be to consider compute contexts analogous to SAS Application Server definitions in metadata . It is recommended to have a compute context per client application, but this should not be a concern since contexts are usually created during the deployment by each solution that uses them.
Only administrators are allowed to create new contexts, either using the SAS Environment Manager or the REST API.
The following picture summarizes how the Launcher and Compute Server, Service, Context relate to familiar concepts in SAS 9.
Conclusion
Some of the pictures and content for this post come from the official documentation. Special thanks to Jason Spruill and Scott Parrish in platform R&D for the additional information they provided.
In the SAS Viya 3.3 we are working with I see a sas-viya-launcher-default, is that the launcher service? There is another service listed as: sas-viya-runlauncher-default
What is the purpose of the run launcher?
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning and boost your career prospects.