After working with several SAS (both SAS 9.4 and Viya 3) customers who are having stability and performance issues, we are seeing that the main reason is their virtualized (i.e. VMware) infrastructure was not designed for doing analytics or data management on big data – what SAS does. Please read this excellent information from Tony Brown about why you cannot use a commodity VM farm with SAS.
SAS® (both SAS 9.4 or Viya) virtualized implementations require underlying performant resources, like their bare-metal counterparts. This is true in terms of capacity and performance for host memory, CPU, I/O, and tuning, and network resources. Without adequate and performant resources, the implementations can encounter performance and stability issues, requiring technical and performance support.
The underlying performance and stability issues typically involve insufficient physical provisioning beneath the virtual environment, or improper virtual-to-physical placement, and tuning settings. This can occur as a result of insufficient resources, tuning, and bandwidth in these areas:
Virtual host and storage definitions and tuning at the hypervisor layer
Underlying physical host provisioning (CPU, memory, IO, OS Tuning)
Virtual resource to physical resource mapping (NUMA alignment – placing a VM’s resources in the same socket – on the same host, thick provisioning, etc.)
Physical network (network interface cards [NIC], network cabling, and switches) bandwidth between the host nodes and bandwidth in connections to back-end storage
Network colocation and switch path length, bandwidth, competition, and provisioning
This can occur in both on-prem and cloud virtualization environments. They include hypervisor virtualized systems like VMWare and KVM, and improperly provisioned instances within Public cloud offerings. Public clouds can employ proprietary virtualization and management of cloud resources, as well as coexist with VM Hypervisors like VMWare. When you consider the goals of virtualization – to optimally exploit the full use of resources, it typically entails thin provisioning and occasionally results in over-subscription of the underlying physical resources. Virtual management scenarios often involve thinly provisioned, shared, underlying infrastructure, employing virtual backups, and enabling virtual juggling of resources (like VMWare vMotion). This can easily violate application resource requirements. Dissatisfaction is often the result.
Resource colocation is very important, and often cannot be guaranteed in cloud environments. The further away a resource is in a commodity environment, the greater the likelihood of sharing switch, network, and thinly-provisioned and shared storage resources. This can result in environmental impact on required resource bandwidth and latency for SAS applications.
There are intelligent ways to overcome the concerns and issues noted above. There is a worldwide SAS and Viya community performing well in virtualized environments. Specific recommendations have been documented for VMWare. Those general provisioning recommendations also apply to any virtualized resource, on-prem or cloud, host, network, or storage, for both SAS 9 and Viya. Successful virtual SAS 9.4 and Viya systems have followed the general advice of the papers below: