Okay, this may sound like something of the most basic things to know, but I am posting this as I still hear how these two things are used interchangeably. In most cases, it has to do with trying to design a multi-site vSphere deployment where you are trying to let the VMware technology solve the problem of designing for application failure. What I mean is that when dealing with AWS regions we all know you need to architect the application to run in multiple regions. When we start dealing with vSphere based clouds, there is some folks that see the use of VMware HA and VMotion as something that will automatically protect their application. For those that have taken even the most basic VMware certification for VCP, you know these three things are not the same. One has nothing to do with the other, and designing your application for high availability is not always readily solved with either of the two features. You are still in some cases responsible for good application design.
Let’s remember that VMware HA is availability protection between hosts in the same cluster. Most often that cluster is in the same data center, but it could be a stretched cluster between two data centers. In that case you could in theory have some availability protection, but the hard part is you’d have to do some creative affinity rules to define the hosts per site, and split the application virtual machines between them. If you did that you could have something that worked for you. The other thing you have to remember is HA uses various methods to monitor a hosts availability and some methods if you chose to monitor a virtual machine itself. IN both cases the restarts are done on a priority basis of Low, Medium, and High only.
With VMotion it’s a planned movement or an automated one based on workload assignment between hosts in the cluster. There has been some tests done in the past on long distance VMotion, but it would not ever be an “HA Solution”. I’d personally classify it in the “Disaster Avoidance” category since you’d maybe be shutting systems down knowingly before some kind of event. VMotion is never invoked by a host or guest failure, that’s entirely up to VMware HA to control.
I may sound like I just jumped on a soapbox, but this is basic VMware vSphere knowledge. It drives me bananas when I hear things being incorrectly represented about the software. We all run so fast sometimes we forget the basics or in some cases as people new to the technology we don’t take the time to learn it properly. I’m stepping down now from the box. Thank you for indulging me in my rant.