Deploying SAS Studio Basic Clusters in the Cloud – Moving Beyond Just IaaS
by Mike Monaco | September 30, 2020
To fully embrace the cloud you must move beyond just getting your systems simply up and running in the cloud.
One of the key objectives is developing a system that allows you to leverage the operating expenditure cost model strength of cloud computing – Your cloud spending predictably goes up as utilization goes up and goes back down when utilization goes down.
To achieve this objective you must move beyond IaaS and embrace PaaS services to get you to that next level.
Deploying SAS in the cloud represents a challenge. Its architecture predates the cloud and mostly aligns with a CapEx view of the world. Sizing is done upfront and your compute resources are always on without regard to utilization. Classic lift and shift strategies can certainly be used to deploy your favorite SAS Enterprise deployments using the IaaS stacks provided by the major cloud providers. However, cloning these enterprise SAS deployments quickly reveals their unsuitability for the cloud. Changing networks, storage options, and machine types can be done with a few simple clicks in the cloud. Since SAS environments embed configuration information in files and metadata those seemingly simple cloud changes cause big problems. Finally, for SAS Enterprise deployments there are few opportunities to leverage PaaS features to get the most out of the cloud.
Alternatively, SAS Studio Basic servers are very easy to build and deploy in major cloud providers using IaaS. These SAS Servers have Foundation SAS installed along with an embedded SAS Studio interface. Unlike SAS Enterprise deployments these configurations show great resilience to being cloned in the cloud. Once you have a base SAS Studio Basic image you can change storage options, server type, networks, etc.. and know with confidence that the new SAS server will be up and running with minutes of being cloned and modified.
“Basic” comes from the view that your capacity is limited to the resources of a single server, once those resources are used, the traditional answer from SAS is that if you need additional capacity it is time to upgrade to an enterprise solution. In the cloud there is now a viable alternative to deploying “enterprise” when you need additional capacity. You can combine the PaaS features of the cloud providers and the resilience of individual SAS Studio Basic servers to deploy a cluster of SAS compute nodes that automatically adds and removes compute resources as needed. This ability to dynamically change compute capacity allows you to easily take advantage of the cloud ‘s OpEx (pay-as-you-go) cost model. The combination of SAS Studio Basic and the cloud PaaS scaling features is called “SAS Studio Basic Clusters”.
After deploying these clusters it wasn’t long before customers starting comparing SAS Studio Basic Clusters to the SAS Grid.
SAS Studio Basic Cluster
Manual process to add compute nodes. Quickest time to add a new compute node is 1 day. Fixed capital cost model.
Auto scaling can add new compute nodes and remove on demand. Operational cost model. Time to add a new node is <5 minutes.
SAS Studio and EG
SAS Studio and limited EG support
Intelligent load balancing based on multiple factors
Simplistic load balancing
SASGSUB, LSF Queues, SAS/Connect Extensions
Batch SAS via SSH (SASSSUB)
CloudWatch, Custom CloudWatch Metrics
The core features are roughly comparable. The ability to run in the cloud and it’s elasticity is the biggest advantage that SAS Studio Basic Clusters have over SAS GRID. SAS GRID exhibits advantages in the maturity of load balancing and batch submission options.
We continue to provide value to our clients by extending the features of the SAS Studio Basic Clusters environment by using additional PaaS features in AWS. Serverless computing features allow us to add incremental features with minimal code. For example, we are currently investigating a lambda for routing the SAS Studio login page back to the least busy server to supplement the load balancer approach. Likewise, we are scoping a lambda to provide a batch submission microservice into the SAS Studio Basic Cluster.
These extensions will likely address the SAS GRID deficiencies to make SAS Studio Basic Clusters the preferred way to deploy SAS 9.4 in the cloud.