VMWare Guidelines
GigaSpaces applications fully support the following:
- Using virtual machines to host GigaSpaces and GigaSpaces applications and components.
- Deployment on virtualized environments running on VMWare Type 1 Hypervisors. This includes all major product features and APIs, including data access, messaging, code execution, local cache, remoting and persistency.
There are certain guidelines regarding virtual machines that should be followed when setting up the production environment, in order to ensure stability and optimal performance. For more information, refer to JVM Tuning.
Supported Versions
GigaSpaces applications support VMWare vSphere 5+ running the following guest operating systems:
- Microsoft Windows Server 2008 SP2
- Linux RHEL 6/7+
- Solaris 10
SUSE-10 Linux Enterprise Service Pack 3 is not recommended, due to the instability of its network support layer.
Configuration
- Only Type 1 Hypervisor is recommended for production use.
- vCPU may be over-subscribed, if it is under-utilized (less than 50%). In environments with high CPU utilization, vCPU must be reserved (pinned).
- Hyper-threading should be enabled.
- vMEM must be reserved (pinned).
Other Considerations
- Do not over-commit virtual memory.
- Reserve memory at the virtual machine level.
- When using replication, use anti-affinity This describes the relationship between VMs and hosts or when related to Kubernetes between pods. Anti-Affinity will keep VM and hosts separated and using Kubernetes an anti-affinity rule tells the scheduler not to place the new pod on the same node if the label on the new pod matches the label on another pod. In this case, anti-affinity allows you to keep pods away from each other. It also allows you to prevent pods of a particular service from scheduling on the same nodes as pods of another service that are known to interfere with the performance of the pods of the first service. rules to ensure that primary and backup nodes do not share the same virtual machine and physical host.
- Reserve sufficient memory for the operating system (~2GB per virtual machine).
References
High-performance settings should be used, per VMWare's recommendations here and here.