A method performed by a cloud service provider, the method comprising: receiving a request from a first tenant for a first number of servers; receiving a request from a second tenant for a second number of servers; initializing based on the first and the second tenant requests a plurality of servers (206, 545) initialized with a common image wherein the plurality of servers comprise a plurality of software services subscribed to by the first tenant and the second tenant wherein a number of the plurality of servers is less than a sum of the first number and the second number; and creating a catalog of unassigned servers comprising the plurality of servers (206, 545); receiving, from a first user of the first tenant, a logon request to access a server (206 545); in response to receiving the logon request from the first user of the first tenant assigning a first server (206, 545) from the catalog of unassigned servers (206, 545) to the first tenant, wherein the first server is initialized with the common image, and wherein the first server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the first server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the first tenant to connect to the first server (206, 545); and limiting access to the first server (206, 545) to only users of the first tenant; receiving a logon request from a first user of the second tenant to access a server (206, 545); and in response to receiving the logon request from the first user of the second tenant assigning a second server (206, 545) from the catalog of unassigned servers (206, 545) to the second tenant, wherein the second server is initialized with the common image, and wherein the second server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the second server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the second tenant to connect to the second server (206, 545); and limiting access to the second server (206, 545) to only users of the second tenant. receiving a request from a first tenant for a first number of servers; receiving a request from a second tenant for a second number of servers; initializing based on the first and the second tenant requests a plurality of servers (206, 545) initialized with a common image wherein the plurality of servers comprise a plurality of software services subscribed to by the first tenant and the second tenant wherein a number of the plurality of servers is less than a sum of the first number and the second number; and creating a catalog of unassigned servers comprising the plurality of servers (206, 545); receiving, from a first user of the first tenant, a logon request to access a server (206 545); in response to receiving the logon request from the first user of the first tenant assigning a first server (206, 545) from the catalog of unassigned servers (206, 545) to the first tenant, wherein the first server is initialized with the common image, and wherein the first server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the first server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the first tenant to connect to the first server (206, 545); and limiting access to the first server (206, 545) to only users of the first tenant; assigning a first server (206, 545) from the catalog of unassigned servers (206, 545) to the first tenant, wherein the first server is initialized with the common image, and wherein the first server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the first server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the first tenant to connect to the first server (206, 545); and limiting access to the first server (206, 545) to only users of the first tenant; receiving a logon request from a first user of the second tenant to access a server (206, 545); and in response to receiving the logon request from the first user of the second tenant assigning a second server (206, 545) from the catalog of unassigned servers (206, 545) to the second tenant, wherein the second server is initialized with the common image, and wherein the second server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the second server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the second tenant to connect to the second server (206, 545); and assigning a second server (206, 545) from the catalog of unassigned servers (206, 545) to the second tenant, wherein the second server is initialized with the common image, and wherein the second server is configured to provide the plurality of software services subscribed to by the first tenant and the second tenant; removing the second server (206, 545) from the catalog of unassigned servers (206, 545); brokering the first user of the second tenant to connect to the second server (206, 545); and limiting access to the second server (206, 545) to only users of the second tenant.