1. A computer system for providing virtual desktop computing services to a plurality of users on user devices, the computer system comprising: a first plurality of computers accessible on a public access computer network; wherein each computer in the first plurality of computers forms part of a distributed data repository and individually maintains, in computer accessible storage: a. a distributed portion of a set of usage profiles for the plurality of users, wherein the usage profile specifies computing resources for the user, and b. information about computing resources available to provide the virtual desktop computing services, wherein the computing resources comprises available processor, memory, storage, operating system and application resources for supporting virtual desktops; and wherein the first plurality of computers collectively maintains, in computer accessible storage, information associating the plurality of users to virtual desktops deployed on the computing resources; wherein the virtual desktop associated with each user of the plurality of users comprises computing resources corresponding to the usage profile of the user; and in response to a request from a user device over the public access computer network, the user device being associated with a user in the plurality of users, the request being received by a computer in the first plurality of computers, the computer communicating with at least one other computer of the first plurality of computers for computing an identifier of a virtual desktop associated with the user and transmitting the identifier to the user device, the user device thereafter directly accessing the virtual desktop over a computer network while bypassing the first plurality of computers.