1. A method for computing resource allocation at a data center, the method comprising: under control of a Program Execution Service (PES) platform that includes a number of data centers, each data center including one or more computing systems configurable to provide a user with access to a compute node hosted by at least one of the one or more computing systems, the compute node comprising a virtual desktop that enables the user to access a plurality of services provided by the PES platform: receiving a request at a data center of the PES platform to obtain access to the compute node from a computing device of the user; identifying the user associated with the computing device; accessing user metadata associated with the user based, at least in part, on the user's identity; selecting a set of resource placement rules based, at least in part, on the user metadata, the set of resource placement rules selected to reduce the impact of a computing system failure on a set of users, the set of users including the user; identifying a computing system from the one or more computing systems of the data center based, at least in part, on the set of resource placement rules; providing the user with access to the compute node on the computing system; determining whether an active instance of the compute node associated with the user exists; and in response to determining that the active instance associated with the user exists, the method further comprises: identifying a second computing system that includes the active instance; and determining whether the second computing system satisfies the set of resource placement rules, wherein identifying the computing system from the one or more computing systems of the data center comprises identifying the second computing system in response to determining that the second computing system satisfies the set of resource placement rules.