A non-transient computer readable medium having stored thereon instructions that cause a processor to execute a method, the method comprising instructions to:
- receive a first request from a first tenant of a multi-tenant cloud service comprising a computational resource accessible by the first tenant and a queue of a plurality of pending requests and corresponding to a set of queue data structures, the first tenant being associated with a plurality of users, wherein the first request comprises a first plurality of configuration items (CIs) comprising instructions to change data on the computational resource accessible by the first tenant and wherein the first plurality of CIs comprise one or more of:
- setting a memory size of the computational resource accessible by an application used by the first tenant;
- configuring a network comprising the computational resource;
- configuring an operating system of the computational resource;
- setting the computational resource's internet protocol (IP) address;
- changing a port number on a firewall of the computational resource;
- assigning inbound/outbound ports on the firewall;
- setting a user account of one or more of the plurality of users;
- defining IP address ranges used by a load balancer of the computational resource;
- defining maximum thread usage by the application used by the first tenant, the maximum thread usage being associated with the computational resource;
- defining virtual machine usage provided to the first tenant by the multi-tenant cloud service;
- configuring the virtual machine provided to the first tenant;
- defining first tenant container usage associated with the computational resource;
- allocating memory of the computational resource accessible by the application used by the first tenant;
- executing a database read command to read a record of the computational resource;
- and executing a database write command to modify or create a record of the computational resource;
- identify a first computer resource license associated with the first tenant, the first computer resource license defining a number of CIs that may be requested within a defined time period;
- determine if the first request meets the first computer resource license;
- in response to the first request meeting the first computer resource license, merge the first request with a second request from the first tenant, the second request meeting the first computer resource license, update the set of queue data structures to add the merged first and second requests to a corresponding queue position in the queue of the plurality of pending requests, and, when the merged first and second requests advance to a selected queue position, implement the CIs in the merged first and second requests according to the first computer resource license;
- and
- in response to the first request not meeting the first computer resource license, modify the first request by splitting the first request into multiple split requests, each split request of the multiple split requests comprising a respective subset of the first plurality of CIs, and update the set of queue data structures to add each split request of the multiple split requests to different corresponding queue positions in the queue, each of the multiple split requests being implemented when the respective split request advances to the selected queue position.