1. A method for selecting a data center of a Program Execution Service (PES) platform, the method comprising: under control of a PES platform that includes a number of data centers, at least some of the number of data centers capable of providing a user with access to one or more computing resources hosted by said at least some of the number of data centers, at least some of the computing resources including compute nodes comprising virtual desktops that enable the user to access a plurality of services provided by the PES platform: receiving a request at the PES platform to obtain access to a computing resource from a computing device of the user; determining, from the number of data centers, a set of data centers that include the computing resource; identifying a plurality of data centers from the set of data centers based, at least in part, on a latency factor of each of the plurality of data centers; selecting a data center from the plurality of data centers using a tie breaking factor, the tie breaking factor based at least in part on a utilization rate for the data centers of the plurality of data centers; accessing access rules associated with an entity, the access rules specifying rules for distributing computing resource access of different users of a group of users at the entity among different instances of the computing resource, the group of users one of multiple groups of users, and the group of users including the user, wherein the access rules specify for a first group of users from the multiple groups of users: 1) an amount of users permitted to access a first instance of the computing resource; 2) that no more than a first amount of users from the first group of users share physical computing resources; and 3) that users exceeding the first amount of users from the first group of users be assigned to a second instance of the computing resource, wherein each group of users is associated with a different role at the entity thereby reducing a number of users associated with a particular role that lose access to the computing resource when access to the first instance of the computing resource is lost, and wherein at least one user from a second group of users from the multiple groups of users is permitted to access the first instance of the computing resource; determining whether granting the user of the computing device access to the computing resource at the data center will violate the access rules; in response to determining that the access rules will be violated, selecting an alternative data center from the plurality of data centers, and in response to determining that the access rules will not be violated by granting the user of the computing device access to the computing resource at the data center, granting the user of the computing device access to the computing resource at the data center.