A system for selecting a data center of a Program Execution Service platform, the system comprising: a PES platform comprising a number of data centers (102A-102N), the PES platform configured to receive a request to obtain access to a computing resource from a computing device (104A-C) of a user; a resource allocation system configured to: identify a geographic location (122A, 122B) of the computing device; and determine from the number of data centers a set of data centers that include the computing resource; a latency calculation system configured to calculate, for each data center from the set of data centers, a latency factor based, at least in part, on the geographic location of the computing device; the resource allocation system further configured to: identify a data center from the set of data centers based, at least in part, on the latency factor of the data center; and select a data center from the set of data centers based at least in part on an access rule, the access rule determining whether the user is authorized to access the data center, and desktop placement rules specifying that the computing resource cannot service more than a threshold percentage of users of a subgroup to which the user belongs; and a data center management system configured to grant the user of the computing device access to the computing resource at the data center. a PES platform comprising a number of data centers (102A-102N), the PES platform configured to receive a request to obtain access to a computing resource from a computing device (104A-C) of a user; a resource allocation system configured to: identify a geographic location (122A, 122B) of the computing device; and determine from the number of data centers a set of data centers that include the computing resource; identify a geographic location (122A, 122B) of the computing device; and determine from the number of data centers a set of data centers that include the computing resource; a latency calculation system configured to calculate, for each data center from the set of data centers, a latency factor based, at least in part, on the geographic location of the computing device; the resource allocation system further configured to: identify a data center from the set of data centers based, at least in part, on the latency factor of the data center; and select a data center from the set of data centers based at least in part on an access rule, the access rule determining whether the user is authorized to access the data center, and desktop placement rules specifying that the computing resource cannot service more than a threshold percentage of users of a subgroup to which the user belongs; and identify a data center from the set of data centers based, at least in part, on the latency factor of the data center; and select a data center from the set of data centers based at least in part on an access rule, the access rule determining whether the user is authorized to access the data center, and desktop placement rules specifying that the computing resource cannot service more than a threshold percentage of users of a subgroup to which the user belongs; and a data center management system configured to grant the user of the computing device access to the computing resource at the data center.