The difference between a VM and physical server is the resources allocated to it. So you can functionally do anything in a VM (perhaps not some USB stuff), but it might not perform as well.
If you are talking about testing, it is fine, but it might run slower than you expect.