As someone who has never dealt with anything close to this scale, why would it take 18 months to migrate? Is this poor config management, a lack of automation, or something else?
VMWare is like Active Directory: been around for ages, wildly flexible, and has a habit of seeping structural debt into every line of business the organization undertakes.
I can't speak to this particular case, but most of the delay is likely to be organisational rather than technical at this kind of scale.
Don't think about how hard it is to migrate a VM to a new provider. Think about how hard it is to:
* Get procurement to sign off on a new vendor
* Guarantee that your ISO compliance standards can be met under the new regime
* Make sure that GDPR requirements are met during any data transfer process to the satisfaction of your legal team
* Get the old infrastructure team and the new infrastructure team coordinated enough to be able to plan a migration without downtime
* Mollify the consultants that the CEO's friend said he should hire
* Analyse the migration plan to death to derisk it while at the same time be unable to actually evaluate it small scale due to the points above
I work in automating conversions off VMware and 40,000 VMs is just a lot of data to move. We could probably do 500-1000 / day which would be 3 months, but that would be best case, and there's a lot of prequalification where you examine classes of VMs to check what software they're running and identify the unsupported / difficult cases. That planning would add extra months.
In some cases you can do zero copy conversions, so downtime can be done in a few minutes, but it relies on the customer have very particular storage configurations (NetApp basically). In other cases there can be significant downtime that needs to be scheduled. I worked one case where the customer shut down several production lines over a number of weekends so we could convert the workloads. (Everything was meticulously planned, along with fallbacks that thankfully we did not need to use.)
Some things you don't convert at all. Databases generally get replicated at DB level to new hardware. Single-purpose appliances need to be reprovisioned by going back to the vendor and asking for a KVM equivalent.
Then there's all kinds of craziness, like we had customers who rolled their own backup solutions where we had to add special cases to the software to detect and ignore the backup partitions. Or people running Windows 95 or RHEL 3 (for real!) where there are no virtio drivers and we don't certify the hypervisor so it requires support exceptions. At this point people have been using VMware for nearly 30 years, there's all kinds of crazy legacy.