BookmarkSubscribeRSS Feed

One, Two, Three SAS Studio! Enter SAS Studio 5

Started ‎08-15-2018 by
Modified ‎08-15-2018 by
Views 8,532

Viya 3.4 includes two releases of SAS Studio:

  • SAS Studio 4.4, the “traditional” version that has been available with Viya since the first release.
  • SAS Studio 5.1. This is a new microservices-based version, with a new interface. It integrates with other Viya components (SAS Drive, Launcher & Compute) and is available in full deployments.

The official documentation explains the functional differences; the focus of this post is the architectural changes, which have significant implications.

 

Let's learn more!

 

SAS Studio 5

The new release of SAS Studio fully integrates with other Viya components (microservices architecture, SAS Drive, SAS Launcher Server/Service and SAS Compute Server/Service, etc). This architectural change has multiple implications:

  • Available only with full deployments – not with programming-only
  • Common authentication with other SAS Viya applications
  • Access files from SAS content rather than the file system
  • Better user experience in case of failures when clustered for High Availability.
  • Some new features, some missing features

Available only with full deployments

SAS Studio 5 is itself a microservice and leverages other Viya services to perform its activities. This includes other microservices, as well as full services such as the SAS Configuration Server, SAS Message Broker, SAS Infrastructure Data Server, and so on. All of these components are only available in full deployments.

 

SAS Studio 4 is still used in programming-only deployments because it's an embedded application that does not rely on these external services - it just needs an object spawner, a workspace server, and little more.

 

1SASStudio5Config.png

SAS Studio 5 configuration using SAS Environment Manager

 

Common authentication with other SAS Viya applications

SAS Studio 5 authentication fully integrates with the features provided by SAS Logon Manager; this opens all possibilities on par with the rest of the Viya applications, such as:

  • LDAP Provider
    • Standard username and password form
  • Kerberos or Integrated Windows Authentication
    • Provides Single Sign-On from the client host to the visual interfaces
  • SAML Provider
    • Provides Single Sign-On from third party provider
  • OAuth/OpenID Connect Provider
    • Provides Single Sign-On from third party provider
  • Pluggable Authentication Modules (PAM)
    • To support Multi-Factor Authentication via third-party tools
  • SAS 9.4
    • To support single sign-on and single sign-out with SAS 9.4

You can find all the details on each of these authentication mechanisms in the SAS Viya 3.4 Administration Guide.

 

Access files from SAS content

Microservices are stateless and do not directly consume resources exposed by the underlying OS, including the file system. They are designed to be possibly running in a cloud or containerized environment that may not even have a file system! SAS Studio 5 follows the same pattern; when you open or save a file, you do not have any access to the backend file system. So how can you access your programs? There are at least two ways.

  1. If you have your program file available in your client, you can simply drag and drop it in the SAS Studio window. It will be opened automatically.
  2. All files, including program and data, can be read from/written to folders inside SAS Content. SAS Content is available from the Explorer pane.

 

2SASStudio5SASContent.png

SAS Studio Explorer pane

 

SAS Content is shared across all Viya applications; it can be managed by the new SAS Drive web application.

 

3SASStudio5SASDrive.png

Drag and drop to SAS Drive

 

Please be aware of a limitation with data stored in SAS Content. While any file can be written to or uploaded to folders in SAS Content, you can’t access data (ex. .sas7bdat) from SAS Content via libraries (since libraries cannot be assigned to SAS Content folders). Only data that can be read via a fileref (ex. .csv, .txt, .xlsx, etc), can be read from SAS Content (since filerefs can be assigned to files in SAS Content). See working with data in SAS Studio 5 for more information.

 

Better user experience in case of failures when clustered for High Availability

Previous releases of SAS Studio can be clustered for scalability and High Availability, providing multiple instances of the web application. Yet, until SAS Studio 5, end-user sessions are bound to a specific instance (so called sticky sessions). Why is this an issue? Suppose that you have two SAS Studio 4 instances running on server1 and server2 and that, when you log in the web application, the frontend load balancer directs you to server2. Well your session, until you log out, is stuck there. If server2 dies, the session is lost; it does not matter that server1 is still available for other users. You are forced to log out - possibly losing your work - and re-login: the load balancer will then redirect you to the available server1.

 

There is also another issue, more subtle. Each instance of SAS Studio 4 can only access an object spawner and workspace servers running locally on the same host. Suppose that all SAS Studio instances are running fine, but the object spawner on server2 goes down. Even if your web session is still there, you are unable to perform any work, so you try to log out and re-login. The load balancer still sees SAS Studio 4 running on server2 and may redirect you there again; with no object spawner available, you cannot work.

 

The good news is, SAS Studio 5 solves all these possible issues at once.

 

It is a stateless microservice, which means that, in case of clustering, end-user sessions are not bound to any specific instance. If one instance dies, you may not even notice; it simply keeps working using another one.

 

Also, to run SAS code, it does not use an object spawner and workspace server anymore; SAS Studio 5 talks to the compute service that submits code to a compute server started by a launcher server (see this previous article for more information). This means that there are no dependencies to a specific backend; any host where a launcher and compute server have been deployed is as good as any other one.

 

Architecture comparison

To submit code to CAS, you now have SAS Studio 5 and SAS Studio 4. Wait, if you also have a properly configured SAS 9.4M5 environment, you may also use SAS Studio 3 deployed in that environment! Each one has its own features and capabilities (see this comparison), so a single environment may have all three releases running at once.

 

To understand their architectures at a glance, you can have a look at the following diagrams:

 

4SASStudio5Architecture.png

 

5SASStudio4Architecture.png

 

6SASStudio3Architecture.png

 

Conclusion

Thanks to Amy Peters and SAS Studio R&D for their support in gathering the information that led to this post.

Comments

Great. 2 questions. The features that I have been looking for in SAS Studio are: 

1. Capability to deploy as stored process 

2. Code Folding 

 

Are either achieved through this release ? 

While this article focuses on SAS Studio 5 Architecture, you can find the new functionalities available in the official documentation @ http://documentation.sas.com/?activeCdc=webeditorcdc&cdcId=sasstudiocdc&cdcVersion=5.1&docsetId=webe...

@UdayGuntupalli, to answer your questions specifically:

  1. Assuming you mean being able to use SAS Studio to author stored processes.  That’s not in this release though it’s something we’d like to be able to do eventually.
  2. Yes, code folding has been added to the code editor in Studio 5.1.  That’s missing from the what’s new in the doc, I’ll have that corrected.
Tom

Does the use of the micro services instead of SAS 9 workspace servers mean that the time to start a new session is improved?

@AmyP_sas
      Thank you for enabling code folding and ensuring that it is in the release notes.  As for (1), yes I was indeed referring to the ability to author stored processes. Is there a road map on when that feature will be introduced into SAS Studio ? 

 

@Tom,

in my experience, when a workspace server takes long to start is because of external issues, such as long time to resolve DNS entries or allocate many pre-allocated libraries. This is obviously not different with SAS Studio 5. 

One point where things may be better is that SAS Studio 3.X on SAS 9 always starts at least 2 workspace servers, while SAS Studio 5 on SAS Viya needs only 1 compute server.

Hello

I installed SAS Viya 3.4 full deployment included VA 8.3 and VDMML but it seems that it's SAS Studio 4.* which is installed.

Is there something to do in order to deploy SAS Studio version 5?

Thanks

Fabrice

@FabriceP, how do you access SAS Studio? When both SAS Studio 5 and SAS Studio 4 are deployed, if you simply type the SASStudio URL you are directed to SAS Studio 4. The official documentation shows the two URLS:

  • For SAS Studio 4.4:
    http://hostname/SASStudio
  • For SAS Studio 5.1:
    http://hostname/SASStudioV

Another way to log to SAS Studio 5 is simply choosing the "Develop SAS Code" entry from the Applications menu in SAS Drive:OpenSASStudioV.gif

Hello @EdoardoRiva@AmyP_sas,

 

first of all, thank you for the good news, great stuff.

 

I would be interested in knowing more about this bit:

  • Some new features, some missing features

 

I suppose the link shared by @EdoardoRiva lists all the new features. 

  • Is there any other interesting new feature to be aded, or planned to be added soon?
  • What are the missing features? 

Thanks in advance!

 

Kind regards,

Juan

 

 

Thanks a lot for this great announcement !  

 

- When will SAS Studio version 5 be available for SAS 9 deployment ?

 

SAS Studio version 3 is now completely outdated, as a result.

We're certainly planning on releasing Studio 5.x on SAS 9 but don't yet have a date to announce.  What's happening in R&D right now is work to bring 5.x up to replacement value for 3.x.  While there are spiffy new things in 5.x, it still doesn't have everything 3.x does.  When I have more firm info, I'll certainly post it!

Version history
Last update:
‎08-15-2018 12:43 PM
Updated by:

SAS Innovate 2025: Call for Content

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 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Free course: Data Literacy Essentials

Data Literacy is for all, even absolute beginners. Jump on board with this free e-learning  and boost your career prospects.

Get Started

Article Tags