If you're looking for a high level mapping between the SAS Viya 3.3 and the SAS 9.4 architecture tiers and components, you've come to right place.
The goal of this post is to introduce seasoned SAS 9 Architects to the new world of Viya. If you are very skilled with SAS 9 architecture but were too busy to start looking at Viya, this post should help you to grasp the key concepts of the Viya architecture.
I'll start with a very high level mapping then dive into a little bit more detail along the way. As you will see, almost all SAS 9 architecture components have one or multiple corresponding components in Viya.
On top of that, Viya and CAS also bring capabilities that were not existing in the SAS 9 world.
Note: this post is not exhaustive and only covers the key, core components of SAS 9 and SAS Viya. It is based on my experience and knowledge of both architectures and reflects my own interpretation of the architecture changes. It might sometimes be subjective and subject to exciting architecture discussions. So please feel free to challenge me and to open the discussion with comments!
The diagrams below show the main components in SAS 9 and SAS Viya.
On the left we recognize the good old SAS 9 tiers (metadata server, compute and middle tier) and on the right a lot of blue boxes with new things.
It is the starting point of a first high level "mapping".
As you can see the architecture in SAS Viya is more modular than in SAS 9.
One of the idea behind the new "Microservices based" architecture is really to move from the SAS 9 Monolithic Metadata Server, metadata-centric Web Infrastructure Platform towards modular, independent, and specialized Microservices.
These Microservices can easily be upgraded, scaled, clustered, operated without any dependencies from other components.
Now, with the table below, let's zoom in on the SAS 9 Metadata Server Tier to see its core components, and their equivalents in SAS Viya.
SAS 9 Tiers | Role/Content | SAS Viya |
---|---|---|
Metadata Server |
|
|
The SAS Metadata server was holding the SAS users and groups. The Viya platform now relies on a LDAP repository and simply associates domain users to custom groups in Viya.
Most of the Metadata Server functions are now covered by specialized dedicated Microservices (such as: authorization, folders, identities, importvaspk, backup, configuration, job, etc...) that can be easily be scaled out, clustered, and restarted independently without impacting the rest of the platform (can be handy when applying hotfixes).
The SAS Management Console is the SAS 9 Metadata Server management tool and his equivalent in SAS Viya is Environment Manager (or command line interfaces).
With SAS Viya, the computing part should be performed by CAS, because it is our new generation Analytics High-Performance engine for analytics. CAS is the fastest and most efficient way to run advanced analytics today (it works in memory and can very efficiently distribute advanced analytics processing against Big Data across multiple machines).
In the SAS 9 world, LASR was not always in the picture, but with Viya, CAS is intended to be the preferred choice to run analytics processing.
Although, as my colleague, Rob Collum pointed out rightfully, today specific solutions are using other computing engine for the bulk of their processing, as MAS (Micro Analytics Service) for Decision manager or Elastic search for Visual Investigator, CAS will, almost always, be included (except for ESP stand-alone environments).
However certain procedures have not been made available in CAS yet, or they are not relevant for distributed processing in CAS. For example PROC PRINT does not really need to be able to run in memory and across multiple nodes. For the non-CAS processing in Viya we use "PRE".
PRE (Programming Runtime Environment) is what gets invoked when you submit SAS Code in Viya. It contains SASFoundation binaries and will allow to run SAS Base legacy code for processing that is not (or not yet) available in CAS. With Viya 3.3, new products such as VDMML, Data management, Model Manager, Visual Forecasting or Visual Text Analytics need to run a part of the processing in PRE.
As a result new Viya Microservices and servers have been introduced to run the SAS programming jobs in PRE for those products, following the Viya Architecture principles: Launcher service, Launcher server, Compute service, Compute server.
See Edoardo Riva's post for more details.
The diagram below shows the similarity between the SAS 9 servers.
Finally the table below summarize the SAS 9 to Viya mapping:
SAS 9 Tiers | Role/Content | SAS Viya |
---|---|---|
Compute Server (Object spawner, workspace server, MVA - aka Base SAS) |
|
|
There are many components in the SAS 9 Middle-tiers (SAS Web Server, SAS Web Application server, Message broker, cache locator, etc…) and many of them are relying on third party components such as Apache Web server, Pivotal tcServer, ActiveMQ, etc...
Their equivalent in Viya are either Microservices or in the list of the so-called "Infrastructure servers."
Those Viya Infrastructure server components, often also rely on 3rd party industry standard web, databases or message bus technologies. They are less flexible than the Microservices because they maintain crucial state information (they are sometimes called "stateful services").
SAS 9 Tiers | Role/Content | SAS Viya |
---|---|---|
Middle Tier
|
|
|
There are a few additional parallels that we can draw between SAS 9 and SAS Viya:
Of course, Viya and CAS also bring components that were not existing in SAS 9 like the Data connectors and Data Connect Accelerators to make data available more directly for our CAS engine, the CAS Service Monitor web application, Secret Manager (aka vault), etc ...
So even if you are a very experienced SAS 9 architect, you have to be prepared for a lot of architecture changes in the new World of Viya (again, I don't claim to be exhaustive in this post).
But just like with SAS 9, as a Technical Architect you will still have to build a "SHLCAO"and a D30 (Architecture Design) and you still need to consider architectures such as data integration, high availability, scalability, security (authentication, encryptions and authorizations), storage, performance and workload management, disaster recovery, etc.
Excellent overview.
As a follow-up (one of many), I'd really like to see a similar post of the the security uplift from SAS 9 to SAS Viya. (I've been receiving lots of questions about Viya's security model).
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning and boost your career prospects.