Some people have strong opinion about virtualization of database servers, nevertheless virtually everything is virtualized these days. Just pay attention to configuration. You’ll find a lot of discussion and best practices on internet and you can ask in forums about SQL Server.
All AOS servers I meet these days run in virtual machines.
we upgraded 2 years ago from physical to virtual servers (AX 2009, SQL Server 2005 and AOS both on server 2003), we had latence problems with dotnet framework 4.0, probably because our hyperV was on server 2012, we replaced by dotnet 3.5 and it worked.