As a data scientist, did you ever come to the point where you felt the need for an evolved analytics platform bringing together the disparate skills of open source and commercial software? A system that can enable advanced analytic capabilities. This is now possible and easy to implement. With many deployment possibilities, SAS Viya allows you to choose the data storage location where compute happens, and the deployment methods for models.
Let’s say you want to expand your model development process with SAS Viya analytical capabilities and you don’t want to wait for getting such environment up and running. Unfortunately, you have no infrastructure, nor the experience to install SAS Viya. Moving the traditional way, you could go for:
- Protracted hardware procurement and provisioning
- Deployment planning and coordination with IT
- Effort and time required for software installation/configuration
This solution may be the right path for many organizations, but I think we all recognize this: the traditional approach could take days, weeks and yes sometimes months.
What if you could get up and running with a full SAS Viya platform in two hours? If you have some affinity for cloud-based solutions, SAS offers you the AWS SAS Viya Cloud Rapid Deployment tool. SAS released this AWS Quick Start as a rapid deployment architecture for SAS Viya on AWS. Deployable products include SAS Visual Data Mining and Machine Learning, SAS Visual Statistics and SAS Visual Analytics.
The goal of this article is to brief you how I launched such an AWS SAS Viya Quickstart. I strongly advise you to watch this related video by my colleague Erwan Granger. Much of what is covered here appears in Erwan's video. The recording predates the SAS Viya 3.4 release, but main concepts are still the same.
What you will need
The following is a list of items you need to complete this task.
- AWS Account with appropriate creation privileges
- A valid SAS Viya License; this means you will need a SAS Software Order Confirmation e-mail
- Optional: you deploy with your own DNS Name and SSL Certificate. In that case you need to register a domain managed by Amazon Route 53. For instructions on registering the domain, see the Route 53 documentation. And you can request and register a certificate with AWS Certificate Manager.
Furthermore, it’s good to know this Quick Start provides two deployment options. You can deploy SAS Viya into a new Virtual Private Cloud (VPC) or into an existing VPC. The first option builds a new AWS environment consisting of the VPC, private and public subnets, NAT gateways, security groups, Ansible controllers, and other infrastructure components, and then deploys SAS Viya into this new VPC. The second option provisions SAS Viya in your existing AWS infrastructure. I decided to go for the first option.
What you will build
Here's an architectural overview of what we will build:
You can find exactly the same architecture on the SAS Viya AWS Quick Start landing page.
Configure the build
We’ll be following the build process outlined in the Quick Start guide. On the landing page, next to the "What you’ll build tab" you can click on "How to deploy". From there launch the "Deploy into a new VPC" wizard.
Prerequisite prep
Make sure you sign in with your AWS account and you have chosen the region where you want to deploy. On that first screen you can leave the Amazon S3 template URL default. That template is the basics for the AWS CloudFormation we are launching. CloudFormation is a tool from AWS that allows you to spin up resources in the right order. The template is the blueprint document for your CloudFormation. By keeping the default template, we will build exactly the architecture displayed above.
Now click "Next" and move to the page where we can specify more details and the required parameters of the CloudFormation parameters.
Cloudfourmation parameters
The first parameter is the SAS Viya Software Order file, which is the Amazon S3 location of the Software Order e-mail attachment.
In the Administration section, you provide parameters to configure your AWS architecture. That way, you control access, instance type, and if you will use a SAS Viya Mirror repository.
Administration parameter definitions:
- The name of an Amazon EC2 key pair, so you can access the Ansible controller
- The Amazon Availability zone for the public and private subnet
- Allowable IP range for HTTP traffic; must be a valid IP CIDR range
- Allowable IP Range for SSH traffic to the Ansible controller; must be a valid IP CIDR range
- SAS Administrator password
- Password for Default (sasuser) user
- Amazon EC2 Instance type for CAS Compute VM
- Amazon EC2 Instance type for SAS Viya Services VM
- (Optional) Location of SAS Viya Deployment Repository data
- (Optional) Operator Email
If you want to work with custom DNS names and SSL, you will need to provide the next three parameters as well.
DNS and SSL parameters:
- Domain Name
- Route 53 Hosted Zone
- SSL Certificate; the AWS Certificate Manager, an Amazon Resource Name (ARN) for the SSL certificate to use to enable HTTPS
You may accept the defaults on the remaining parameters.
Optional parameters
After clicking "Next" another set of optional parameters are available. I mostly go with accepting the default parameters provided. The lone exception is the Rollback on failure.
Based on what I’ve learned from Erwan's video, the safer choice is "No" on the Rollback option. This way, if the deployment process encounters issues, the log will identify in which step the error occurred. Of course this means you are responsible to manually delete AWS created resources that are not longer necessary. The easiest way to do this is by deleting the CloudFormation Stacks afterward.
Kick off the build
To conclude the deployment wizard, click "Next" once more and acknowledge the necessary AWS resources to create. By clicking "Create stack" the deployment process starts.
You can monitor the deployment log using AWS CloudWatch. In his video, Erwan demonstrates this at around minute 23.
After a successful formation you will find two AWS CloudFormation Stacks created. The Outputs gives you the direct links to SAStudioV and SASDrive.
That’s it. You are deployed and ready to begin using your SAS Viya environment!
Additional Reference
Alexander Koller writes about SAS on AWS and takeaways for preparing for the AWS associate solution architect exam.
Your experiences and opinion matter
New forces are shaping the analytics ecosystem. Because of increased competition, rise in customer expectations and new, emerging technology such as AI and Machine Learning, challenging IT departments with evolving their analytic ecosystems to meet the demands of their business partners.
How is your organization doing this? How does your Analytics Cloud strategy compare to the market? And what do your peers think about migrating Analytics to the cloud? We can give you some insights and an industry benchmark on the topic.
Tell us about your experience in this 5 minute survey and we will be happy to share a detailed industry insight report with you, to answer these questions.
6 Comments
We have just received licenses and no matter what I try (different regions, different VPC, different subnet sizes) the post deployment steps fail and it all rolls back. The post deployment step says that it was unable to start services and then it all fails. Sadly the roll back deleted the logs, so it isn’t easy to capture them.
Has anyone else encountered this?
For a bit more info.... I have tried the cloud formation scripts that create the VPC and the scripts that deploy to an existing VPC and I am not using SSL and leaving those parameters blank.
Instance sizes are i3x2xlarge and r5.2xlarge and I have an email address added and get the notification email that says ansible has been provisioned. After that the instances build and then fail on post deployment steps.
For permissions for the Ansible and CAS servers is 0.0.0.0/0 and I am well within limits for vCPU and instance numbers.
Hi,
you could disable Rollback by going to Stack creation options and select 'Disabled' on Rollback on failure. After SSH to the Ansible controller from where you can connect to controller or services machine and inspect the logs.
I wouldn't hesitate to contact SAS Technical Support for this kind of issues.
Thanks.
I have tried this . The CFT has unsupported ansible version 2.4.7. . Hence, the deployment was never successful. Has the proper supported ansible version provided in CFT which will deploy viya 3.4 ??
Hi thanks for your comment. It's a fact that with the latest Viya release 19w21 ( https://communities.sas.com/t5/SAS-Product-Release/SAS-Release-Event-Revision-19w21/ba-p/560889 )
SAS requires Ansible version 2.5.x through 2.7. So Ansible 2.4.7 is no longer supported. I spoke to R&D and they confirmed they had to modify the CFT a while ago. When did you try the deployment? Right now R&D will validate the commit of that latest change. In the meantime I will try myself a new Viya Quickstart deployment.in the coming days. Very sorry for the inconvenience.
Hi Debidatta, the ansible version has been updated to 2.7.10 with commit https://github.com/aws-quickstart/quickstart-sas-viya/commit/065b54a14a52cfee1dd4ebd4ca76ccf808794639. That change made it online May29 or a day or two after that. The minimum-version requirement for ansible was introduced May 20. Is it possible that you tried your deployment during those 10 days or so? If so, things should now work again.