1. A method of managing a computer system providing virtual desktops for a plurality of users, comprising: an instance server executed on a computer defining in computer memory a plurality of computing classes, wherein each computing class of the plurality of computing classes: is associated with a respective per user resource cost for provisioning users in the computing class such that each computing class is associated with a different per user resource cost, the per user resource cost for a particular class indicating a level of provisioning provided to each user assigned to the computing class, and, wherein the instance server associates each user of the plurality of users with a selected computing class of the plurality of computing classes such that at least one first user is associated with a first computing class having a first per user resource cost and at least one second user is associated with second computing class having a second per user resource cost different from the first per user resource cost of the first computing class, the plurality of computing classes comprising at least the first computing class corresponding to a first configuration of computing resources for a first virtual desktop computing environment available on at least one server computer and the second computing class corresponding to a second configuration, different from the first configuration, of computing resources for a second virtual desktop computing environment available on the at least one server computer; the instance server continually storing, in a database in computer storage, a usage history for each user in the plurality of users, the usage history of each user of the plurality of users being indicative of usage of the computing resources for the corresponding virtual desktop computing environment on the at least one server computer by a remote computer used by the user; a provisioner, executed on a computer with a computer processor, that selects a particular computing class for each user, wherein the selecting for each user comprises: analyzing the usage history for the user, wherein the usage history defines a user profile of the user indicative of computing demands of the user to determine a provisioning cost of the user, and selecting a particular computing class of the plurality of computing classes based on i) the provisioning cost of the determined from the user profile and ii) the respective per user resource costs determined for provisioning users in each of the computing classes such that the selected computing class provides a level of provisioning for the user that does not overprovision or underprovision the user based on the computing demands of the user; the instance server provisioning the virtual desktop computing environment for each user according to the computing class selected for the user, wherein provisioning includes instantiating each respective virtual desktop computing environment using a portion of the available computing resources on the at least one server computer, the portion being defined by the computing class for the user and including memory and central processor resources of the at least one server computer, thereby provisioning a plurality of virtual desktop environments on the at least one server computer for use by the plurality of users, and enabling the remote computer associated with and used by the user to remotely use the corresponding virtual desktop computing environment, such that applications and central processor computations of a personal computer desktop environment are executed within the virtual desktop computing environment on the at least one server computer, including presenting a desktop user interface representing the virtual desktop computing environment on the remote computer wherein input from and output to the remote computer is provided over a computer network from the at least one server computer to the remote computer; the provisioner periodically reanalyzing an updated usage history of each user in the plurality of users to selectively update the computing class, selected from among the plurality of computing classes, associated with each user; and in response to an update of the computing class associated with the user, the instance server reprovisioning the desktop computing environment for the user according to the updated computing class for the user.