SAS® Intelligence Platform: Server Tier

Introduction

Many organisations see data as the most valuable and protected resource. Among the features that vividly characterise the data within an enterprise is that business users source, change, manage and store data independently, simultaneously or at different times, once and for all or over and over again.

A huge challenge here is to achieve and maintain consistency and integrity of enterprise data. Moreover, it is desirable to make this work unnoticeably and ‘painlessly’ for the company’s workflow. SAS® Intelligence Platform is a solution designed specifically for creating, managing, and distributing enterprise intelligence. For instance, because of the way the platform is structured, enterprise data is stored only once, and can be accessed by all of the client applications, which leads to consistent answers. The requests from client applications are serviced by SAS® servers, located on the SAS® Server Tier. We’ll take a closer look at this tier further in this article.

Learn more about SAS® Intelligence Platform and its multi-tiered architecture, how its components function and how they are related to each other.

 

SAS® Server Tier

Data is one of the most precious organisation’s resources and it must be trustworthy. Without enterprise data being trustworthy, the company cannot be trusted either. Moreover, a company can be fully trusted if it can fully trust itself. Therefore, enterprise data should be handled with particular responsibility and concern.

The multi-tiered architecture of SAS® Intelligence Platform makes it possible to distribute functionality across computer resources, so that each type of work is performed by the resources that are most suitable for the job. SAS® Server Tier is the level where processing on your enterprise data is performed. A logical entity that represents the SAS® Server Tier in the SAS® Intelligence Platform is called a SAS®  Application Server.

 

SAS® Application Servers

SAS® Servers of a particular type are grouped into a logical server context of a corresponding type. At the same time, a single computer can host one or more servers of various types. Thus, let’s take into account that, in SAS® Intelligence Platform, the term server refers to a process or processes that wait for and fulfil requests from client programs, and not necessarily to a specific computer.

A SAS® Application Server is a logical entity that represents the SAS® Server Tier in the SAS® Intelligence Platform. It exists only in metadata and is created to control and manage your data, in particular, to perform SAS® processes on data. Simply put, a server, in this instance, is a program that fulfils requests for data or services. The SAS® Server Tier comprises servers that execute code for particular tasks and metadata objects.

 

Overview of SAS® Servers

The SAS® Intelligence Platform provides access to SAS® functionality through the following servers:

  • SAS® Workspace Server

This is where the SAS code from the client applications is submitted to be executed. That is, a client application generates the code necessary to perform the processing and sends it to a workspace server, and the workspace server in turn provides access to SAS® software features (such as the SAS® language, SAS® libraries, results content, and formatting services). There is an individual process for each user, and you can run as many instances of workspace servers as you need to support your workload.

  • SAS® Pooled Workspace Server

Pooled workspace servers are the same as workspace servers, except that they are specifically configured to use server-side pooling and load balancing. You can learn more about these methods below.

  • SAS® Stored Process Server

This is where the centrally stored SAS® programs (SAS® Stored Processes) are executed as required by requesting applications. Stored processes can be used for performing such complex tasks as analysing data and creating reports, and the results can then be returned to the client or published to a repository.

  • SAS® OLAP Server

These servers are used to access OLAP cubes which are pre-summarised, hierarchically structured, multidimensional data, and deliver them to business intelligence applications. Note that it’s the workspace server that builds the cubes, not the OLAP server. The OLAP server simply queries these sets of data.

  • SAS/CONNECT Server

This type of server is used to submit code to be executed on a remote machine as if it was the host, or to move data between client and server machines. This enables computing on remote machines where SAS® Integration Technologies is not installed.

  • SAS® batch server

Batch servers are used to execute SAS code in batch mode. These servers associate a SAS command with a program that will execute it, and also integrates with a preconfigured scheduling system. There are three types of batch servers: DATA Step Batch Server – for SAS® DATA steps and procedures, Java Batch Server – for scheduling the execution of Java code, Generic Batch Server – for supporting the execution of any other type of code.

  • SAS® Grid Server

This server is similar to the batch server in that it stores a command. In this case, the server enables the grid middleware provider (in particular, Platform LSF) to start SAS/CONNECT sessions on a SAS® compute grid. This allows executing grid-enabled SAS programs and grid-enabled SAS® Data Integration Studio and SAS® Enterprise Miner jobs.

 

Why Group Servers?

Server Groupings and Their Purposes

SAS® application servers are groupings of logical servers. SAS® application server grouping allows you to simply choose certain parameters and apply this configuration to the whole group of servers at once.

For example, you can fine-tune parameters for a group of servers at the context level, and enable programs to run with specific encoding, or you can add operating system environment variables to certain groups of servers, which can be useful when you have to set an environment variable to access a third-party DBMS.

Another purpose of SAS® application server grouping is that it enables SAS® applications to request the services of a whole group of application servers by specifying a single name for all of them at once. Furthermore, grouping of servers makes it possible for system resources to be assigned to a specific SAS® application server. This ensures access of all the servers in the group to these resources (in conformity to security restrictions, of course).

Logical servers are groupings of individual servers of a specific type. Logical server grouping makes it possible to give users access to a logical server, thereby providing access to each server the logical group contains, and to direct specific users or groups of users to specific servers within a group. What is more, if one server within a grouping fails, the other servers can still provide continuous processing.

 

Methods Used For Spreading Workload Among Servers

You may wish to set up multiple SAS® Stored Process Servers or SAS® Workspace Servers. This way you will be able to spread workload among them. There are two main methods for spreading workload among servers: load balancing and workspace pooling.

Load balancing is a feature for SAS® Workspace Servers, Stored Process Servers, and OLAP Servers that distributes work among the server processes in them. When one of these logical servers is set up for load balancing, the request from a client application is directed to the server that has the least load, rather than be waiting in a queue for resource. By the way, load balancing is activated for SAS® Pooled Workspace Servers and SAS® Stored Process Servers by default. If you consider you need more resource than is available, you can add a new stored process server or workspace server to their logical server.

Workspace pooling is a feature for SAS® Workspace Servers that enables you to create a set of server connections which are reusable, and thereby avoid the need to set up a new server session for each request.

There are two types of pooling: server-side pooling by which re-usable workspace server processes (a pool) that are available for clients are maintained from the server side (by the SAS® Object Spawner), and client-side pooling by which a pool is maintained by the client application.

For example, this is especially useful if you are using an application that creates short, but frequent connections to the SAS® Workspace Server (for example, such SAS® Web Application as SAS® Web Report Studio). This can take time, and pooling can improve your server performance to a considerable extent.

 

Conclusion

The SAS® Intelligence Platform is ideal for retrieving large amounts of data, and providing proper and well-timed intelligence to a large number of users at one and the same time. Different types of SAS® servers are there to handle different workload types and processing intensities. This way SAS® Intelligence Platform enables multiple client requests for information, serviced by SAS® servers, to be met without delay. The SAS® Server system has all the capacity necessary to handle your business intelligence with care.

 

We Are Here To Help

We are doing our best to let you learn more about SAS®, which helps organisations turn large amounts of data into knowledge they can use and does it better than anyone. If you have found this article useful or have any questions, we would love to hear from you. Our SAS® consultants will answer any of your questions and help you to analyse, implement, and maximise your SAS® platform.

About author

Alla Lagutik

Our services

Reliability is the key. We ask the right questions, at the right time in order to deliver a solution that is perfect for you.

Reducing exposure to fraud related losses, through the SAS platform, is easier than you may believe. It is an area we have focused on because of the major benefits that can be achieved simply by employing the correct defences.

We expect our personal data to be available to us wherever we go, to find a mobile application for whatever we need. Unfortunately this is not always possible for corporate data and applications.

It’s no secret that the internet is full of easily accessible free information so why not make more use of it in the corporate business sector?

Many organisations are drowning in a sea of disorganised data, seeing it as simply a bi-product of operations used for minimal MI reporting. In reality, fully optimised data management is the most powerful tool any business possesses.

SAS is one of the most advanced and sophisticated data analytics platforms on the market, but it is made up of dozens of major elements in multiple environments.

We pride ourselves on being a forward thinking, innovative company and as such we positively enjoy sharing our knowledge and expertise.

Discussions

Still have questions?

Ask our manager