1. A method of providing access to a computing environment, the method comprising the steps of: (a) receiving, by a broker machine, a request from a client machine for access to a computing environment, the request including an identification of a user of the client machine; (b) identifying one of a plurality of virtual machines, the identified virtual machine providing the requested computing environment; (c) identifying one of a plurality of execution machines, the identified execution machine executing a hypervisor providing access to hardware resources required by the identified virtual machine; and (d) establishing a connection between the client machine and the identified virtual machine.