1. A physical server machine for emulating a distributed application in which different components of the distributed application are deployed on different machines in a distributed network environment and wherein the physical server machine emulates all of the different machines on which the distributed application is deployed within the physical server machine, the physical server machine comprising: a first instance of a first virtual node operating thereon a first operating system, the first operating system corresponding to a first operating system of a first physical machine in a distributed network environment, the first instance of the first virtual node operating a first component of the distributed application, the first component having a first role that corresponds to a same first component being deployed on the first physical machine, the first instance of the first virtual node functioning and having a same first role in the distributed application as it would have in the first physical machine within the distributed network environment, wherein the first role of the first component is defined by a configuration file that is applied to other instances of the first virtual node, and such that the first role is shared by all of a plurality of instances that are created of the first virtual node; a first instance of a second virtual node operating thereon a second operating system that is different than the first operating system, the second operating system corresponding to a second operating system of a second physical machine in the distributed network environment, the first instance of the second virtual node operating a second component of the distributed application, the second component having a second role that corresponds to a same second component being deployed on the second physical machine, the first instance of the second virtual node functioning and having a same second role in the distributed application as it would have in the second physical machine within the distributed network environment, the second role being different than the first role and the second component being different than the first component of the distributed application, wherein the second role of the second component is defined by a different configuration file that is applied to other instances of the second virtual node, and such that the second role is shared by all of a plurality of instances that are created of the second virtual node; and a communication channel between the first and second virtual nodes, the communication channel comprising a hypervisor and a virtual switch, the communication channel using a same communication protocol that the first component and the second component are configured to utilize in a distributed environment for communicating between the first and second physical machines.