The power and potential of simplicity: SAS 9.4 and Containers


Recently I’ve been listening to the BBC Radio Series 50 Things That Made the Modern Economy, which was first broadcast in 2016. One of the episodes considers the impact of a simple box (the shipping container) and concludes its invention was a major contributor to the post-war boom in global trade. It’s worth a listen, if you can.

Notwithstanding the tenuous link, containerization is having perhaps an equally significant impact on Cloud Computing and I want to share a recent experience which highlights the convenience of containers. I’m not aiming to summarize all the multiple SAS initiatives in the Cloud (including SAS Viya and Cloud Foundry) here rather it’s to share a few observations about a specific offering for SAS 9.4.

Recently I attended a demonstration by SAS’ Doug Liming on SAS Analytics for Containers. While this product was launched in 2016, until now I confess I’d not appreciated its simplicity or potential. I’d like to use this blog post to share what I saw & learned because this session served as a bit of an epiphany for me.

As a reminder SAS Analytics for Containers consists of:

    • Foundation SAS (Base, STAT & Graph) ready-packaged to be deployed in a Docker container.
    • SAS Studio.
    • Optional SAS/Access connectors & Accelerators.

In the space of 20 minutes, Doug took us through the steps to install SAS 9.4 into a .tar file image, performing basic customization (adding a username) and populating a Docker container. This was then deployed into an AWS machine (it can equally be deployed into Azure or Google Cloud platform) and a SAS Studio session established.

Containers offer some advantages over, say a VMware image, including:

    • The nature of container means it’s independent of the underlying host machine. This means you can deploy the same container with a 4-core machine or 128-core machine.
    • It’s very easy to automate the build & customization process, for example adding personalized authentication information for each user.
    • Start-up of SAS inside a container takes a handful of seconds. Yes, you read this correctly!
    • Orchestration can be performed using Kubernetes (but equally could be Amazon ECS, Docker Swarm or Azure Container Services).

Now at this point you may be forgiven for thinking that all we’ve accomplished is creation of a container with the equivalent of PC SAS. But wait – for some use cases this approach can deliver a cloud-based alternative to a traditional SAS server supporting hundreds of users. This is noteworthy.

    • There are large US Financial Services clients who have done just this. Each user (and there are hundreds) runs in his/her own container.
    • Batch processing is accomplished using the cloud provider’s own scheduling facilities.
    • You’ll need to ensure you have shared disk storage available between users for collaboration.

As I cautioned earlier, the suitability of this approach will appeal to particular use cases. While LIBNAMEs etc. can be customized or defined in SAS Studio start-up scripts, you may miss some of the other benefits of the SAS metadata server such as data lineage. Again, this isn’t a SAS Grid in the Cloud, but for some organizations who want to leverage Cloud for their existing SAS 9.4 programmers, it’s an exciting & proven first step.


About Author

Paul Gittins

Business Solutions Manager

A seasoned architect with hybrid business and technical skills, Paul encourages clients to adopt new SAS technologies embracing Hadoop, in-memory processing, high-end RDBMS and Cloud. His goal is to persuade client enterprise architects, technologists and data scientists to extend their use of SAS as an enterprise technology, leveraging partners including Teradata, Cloudera, AWS, Google & Microsoft. He has conducted architecture & best practice reviews and consulting engagements in more than 40 countries and has led multi-disciplinary teams to success in large and complex environments.

1 Comment

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to Top