1. A computer program product comprising one or more computer-readable storage devices having thereon computer-executable instructions that are structured such that, when executed by one or more processors of the computing system, the computing system is caused to perform a method comprising: calculating a system load being served by a plurality of application launch endpoint servers, the system load being a function of at least a number of current users and an incoming connection rate, the incoming connection rate being a number of incoming connections per unit time, the incoming connection rate corresponding to incoming connections from a first tenant, and the plurality of application launch endpoint servers for servicing incoming connections from the first tenant, each application launch endpoint server being a host computing system enabled to instantiate one or more application launch endpoints capable of servicing incoming connection requests and launching and running applications; calculating an add threshold above which one or more application launch endpoint servers are to be added to the plurality of application launch endpoint servers available to serve current users and incoming connections, the add threshold being a function of at least a boot time for an endpoint server and a number of endpoints which can be served by a single endpoint server; determining that the system load has exceeded the add threshold; and in response to the system load rising above the add threshold and in response to historic behavior of the first tenant, automatically adjusting a number of application launching endpoint servers which are hosts for application launch endpoints servicing incoming connection requests by adding one or more application launch endpoint servers to the plurality of application launch endpoint servers.