Working in an environment where we expand our Infrastructure platforms and change priorities there is a constant flow of requests from users and businesses to provide specialized Virtualization Environments.
Having a standard for how an environment is designed is a good tool.
Which functionality is important?
As a minimum I do not offer up environments that do not utilize what I consider as core functionality of vSphere Clusters.
DRS
VMware Distributed Resource Scheduler balances the utilization of the hosts in the cluster to ensure that no host is over- or underutilized. In other words, it ensures that all VMs have the optimal resources to perform well, assuming the VMs are configured correctly.
HA
vSphere HA ensures that VMs will reboot on the remaining hosts within a cluster if one ESXi fails. This provides minimal downtime for any VM in case of Physical hardware failure.
Distributed Switches
Distributed switches are a networking design where a switch is shared between all the hosts of the vSphere Cluster.
Number of hosts
I always plan failover hosts in the design. So, if the workloads require three hosts to operate, I will provide four. This, of course, means that while the cluster is in normal operations, there are plenty of extra resources; however, if one ESXi host fails hardware, the cluster will not experience performance degradation.
EVC
Enhanced vMotion Capability is a function that emulates the CPU generation to ensure that VMs can be moved to a different host with a different CPU generation.
Conclusion
The purpose is that the environment provided will perform well, and we offer services that ensure that all VMs that run on the platform perform well. We mustn’t allow any VMs to be outliers with different requirements like they cannot vMotion. If that were the case, the VM would change the behavior of the cluster for all other VMs. If we have such special requirements, the VMs need to be separated into their own environment.
What other features should I have as part of standard architecture?