[1] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processo...
Especially on Nitro or Firecracker instances, I wouldn’t expect the “virtualization tax” to be very high, and metal instances come with some very real drawbacks in terms of capacity. E.g., it can be difficult to launch a new instance on demand if you will only accept an entire machine, and this can make auto scaling pretty dicey.
EC2 instances have per-second billing, so I would encourage you to run some realistic benchmarks on a variety of metal and non-metal instance types to see what (if any) performance benefit they would offer your application