You can use different solutions to run the virtual machine on your server. (Oracle's virtual box or a VMware solution for example)
Using most of them is resulting in your virtual machine to appear as a different host on your computer network. Usually there are two basic options: bridged or nat.
If you choose bridged your virtual machine is going to appear on your physical network as there was a new host. If you choose NAT then you are going to have a virtual network with this virtual host. It is like you had a router in your physical network with your virtual machine on the router's LAN.
So if you would like to access easily your application from the outside you should use the bridged option.
In your virtual machine you are going to have a separate user set. So by default you can't use it with your host OS's users.
Using a plus virtualization layer in your infrastructure of couse means some overhead. These days these solutions work very well, and even have hardware support, but still means somewhat overhead because of the plus layer introduced.
If you are interested in the efficiency of the solution you should do some load testing. Be aware of the hardware support of different virtualization solutions. See: HW support for virtualization
This really counts MUCH.
Further, (partly) vmware specific details: VMware - para virtualization (PDF)