A method for load balancing a workload across a dynamically resized collection of computing resources providing long running services in a system for handling a media request, the method comprising the steps of: receiving, by a media manager, a request for a resource; selecting an instance of a group of instances, by a datastore operatively coupled to the media manager, wherein the instance meets a first criteria while refraining from selecting any instance of the group of instances that meets a second criteria, each instance of the group being configured to maintain a collection of sessions associated with a client to which the instance is providing services by: in response to being forwarded the request, adding a session associated with the request to the collection of sessions; and in response to an instance state change, removing the session from the collection of sessions; detecting, by the media manager, a scaling-in operation within a sub-group of instances meeting the first criteria; transitioning, by the media manager, at least one instance of the sub-group of instances meeting the first criteria to a sub-group of instances meeting the second criteria; maintaining each instance of the sub-group of instances meeting the second criteria while the collection of sessions associated with the instance meeting the second criteria comprises at least one session; and transitioning, by the media manager, the instance meeting the second criteria to a sub-group of instances meeting a third criteria when the collection of sessions associated with the instance meeting the second criteria is empty. receiving, by a media manager, a request for a resource; selecting an instance of a group of instances, by a datastore operatively coupled to the media manager, wherein the instance meets a first criteria while refraining from selecting any instance of the group of instances that meets a second criteria, each instance of the group being configured to maintain a collection of sessions associated with a client to which the instance is providing services by: in response to being forwarded the request, adding a session associated with the request to the collection of sessions; and in response to an instance state change, removing the session from the collection of sessions; in response to being forwarded the request, adding a session associated with the request to the collection of sessions; and in response to an instance state change, removing the session from the collection of sessions; detecting, by the media manager, a scaling-in operation within a sub-group of instances meeting the first criteria; transitioning, by the media manager, at least one instance of the sub-group of instances meeting the first criteria to a sub-group of instances meeting the second criteria; maintaining each instance of the sub-group of instances meeting the second criteria while the collection of sessions associated with the instance meeting the second criteria comprises at least one session; and transitioning, by the media manager, the instance meeting the second criteria to a sub-group of instances meeting a third criteria when the collection of sessions associated with the instance meeting the second criteria is empty.