Sizing your Viya 4 environment
At SaasNow we have deployed dozens of SAS Viya 4 environments since the initial release at the end of 2020. Whilst the underlying technology of SAS Viya 4 has radically changed from a microservices approach to a cloud-native Kubernetes deployment model, these changes are mostly invisible to end-users of the platform compared to Viya 3. The new deployment model, however, has quite some impact on how to size and scale your environment.
We have a lot of customers and partners that have questions about sizing their SAS Viya 4 environment. Therefore we decided to write this blog post about how we approach sizing of your SAS environment. Please note that for specific sizing, both SAS and SaasNow have specialized teams available to help you size your environment based on your exact requirements, but these guidelines should help you get started.
To start with some bad news; you will need more resources to run a minimal Viya 4 deployment than you needed to run a minimal Viya 3 deployment. While we could start and run a Viya 3 environment with SAS Visual Analytics on a 4 vCPU machine, as of today with the Viya 2021.2.5 stable release, you will need at least 16 vCPU to start an environment with SAS Visual Analytics, and 32 vCPU if you want to run a more extensive suite like SAS Visual Data Science Decisioning. Notable exception is SAS Analytics Pro, which can still start on a 4 vCPU environment.
While you will need more vCPUs to start a Viya 4 environment, the memory requirements have not increased. This is why we have introduced new machine types at SaasNow to better accommodate the new vCPU requirements of Viya 4. Whilst for Viya 3 we had extreme high-memory allocation per vCPU, for Viya 4 we`ve decided to double the amount of vCPUs per node. This means the new machine types better suit the new vCPU requirements of Viya 4, while still having the opportunity to use in-memory processing for analytics workloads.
|vCPU||RAM (GB)||Storage (GB)|
In our Amsterdam datacenter, all our machine types utilize extremely fast, local-only, SSD-only storage. All machine types can be combined according to your requirements, and additional disk space can be allocated to each machine type.
Analytics workloads and supporting services
In general, SAS makes a difference in the following workloads for Viya 4;
- Stateless services
- Stateful services
- Programming workloads
- CAS workloads
The most contained approach to sizing your SAS environment is to create dedicated node(pool)s for each of these workloads, but this leaves some headspace on every node. Our initial suggestion is therefore to combine services on a node where possible; combining stateful and stateless services on one ‘supporting services’ node and combining programming and CAS workloads on another ‘analytics’ node is a good starting point.
Use case and software selection matter
For SaasNow, every environment we host is considered a production environment. However, your use case for your environment may not be identical for every environment. You may want a small environment to test new features, that does not have the same (high availability) requirements as your production environment. At SaasNow you are flexible in deciding the nodes for your environment. Typically we see the following variations;
- For proof-of-concept, test or smaller environments, we usually see a single server solution. Whilst large analytics workloads may influence other users’ experience in this kind of setup, this is the most cost effective way of giving Viya 4 a go.
- For production environments, we usually see at least 2 nodes, splitting the supporting services from the analytics workloads. CAS and programming are combined on one node, with CAS running in Symmetric Multiprocessing (SMP) mode. This is a good balance between cost and performance
- For environments with high analytics workloads, a single CAS node can be transformed into a multi-node setup, putting CAS in Massively Parallel Processing (MMP) mode for a distribution of analytics workloads over multiple nodes.
- For high available environments, we see a more contained approach with nodepools for each workload type. This requires a significant amount of nodes, usually 8 or more.
Software selection also determines the minimal setup of your environment. When we take Viya 2021.2.5 – at time of writing this blog the latest available release – a deployment of SAS Visual Data Science Decisioning has 49 more pods than a deployment of SAS Visual Analytics. These pods of course need resources, hence a larger software deployment does result in a larger initial footprint.
T-Shirt sizing to start
When we released our new machine types last year, we`ve also introduced our t-shirt sizing recommendations for Viya 4, split between proof-of-concept setups (PoC-Small and PoC-Regular), production recommendations (from XS to XL) and a high available setup;
|PoC-Small||1x 16 cores (VA or VA/VS only)|
|PoC-Regular||1x 32 cores (any Viya 4 product)|
|XS (Test/Demo)||1x 16 core (support), 1x 8 core (CAS/programming)|
|S||2x 16 core (support and CAS/programming)|
|M||1x 16 core (support) 1x 32 core (CAS/programming)|
|L||2x 32 core (support and CAS/programming)|
|XL||1x 32 core (support), 4x 16 core (CAS/programming)|
|HA||9x 16 cores (3x support, 6x CAS/programming)|
These t-shirt sizes should help you get started with sizing your environment. Which t-shirt size is right for you highly depends on the size of your datasets and the number of users that will use the environment at the same time. The t-shirt sized setups assume a mixed-use environment, with both visual as well as programming activity but no heavy programming or deep learning activity. Of course, we can still provide a tailored environment to your exact requirements, and we can scale your SaasNow environment on a monthly basis.
Scale when needed
Over time, you may need to scale your SAS environment. This may be incidental for a specific workload, or more permanent when usage of the environment increases over time. We have the following basic guidelines on when to scale which
- Adding (a lot) more users that use the visual interfaces of SAS Viya, or are you adding a larger software order to your environment? Consider scaling up the supporting services node
- Adding (a lot) more data, or onboarding (a lot) of users that use the programming capabilities of SAS? Consider scaling up the analytics node.
These guidelines should help you get started with sizing your SAS Viya 4 environment. As said, these guidelines do not replace a customized sizing by SAS or SaasNow, but should give you an idea on how to size your environment. If you have questions about sizing your environment, feel free to contact us!