A method of operating a cloud-based computer system for dispatching autonomous task flows of multiple operations across a plurality of operating environments, at least two of the plurality of operating environments having different execution capabilities, the method comprising:
- maintaining a customer instance environment communicatively coupled, via a network interface, to at least one management instrumentation and discovery (MID) server environment located in a customer private network;
- obtaining a task flow definition from a non-transitory computer readable medium of the cloud-based computer system, the task flow definition comprising a plurality of operations, each operation representing a discrete portion of an overall task as identified in the task flow definition;
- receiving an indication, at a processing unit of the cloud-based computer system, to initiate processing of the overall task at the customer instance environment;
- making a first determination, at the customer instance environment, of a proper execution environment for a first operation of the plurality of operations, the proper execution environment selected from the group consisting of:
- the customer instance environment, a MID server environment, and either the customer instance environment or the MID server environment;
- identifying at least a first execution environment for execution of the first operation based on the first determination;
- receiving an indication of a determined first environment for execution of the first operation;
- providing information sufficient to process at least a first portion of the task flow to the determined first environment if the determined first environment is not a current execution environment;
- providing an indication to initiate execution of the first operation in the determined first environment as the current execution environment;
- receiving an indication of a second determination, from the current execution environment, the indication providing information that a second operation of the plurality of operations requires execution within an execution environment different from the current execution environment;
- identifying at least a second environment for execution of the second operation based on the second determination;
- receiving an indication of a determined second environment for execution of the second operation;
- providing information sufficient to process at least a second portion of the task flow to the second determined environment;
- and
- providing an indication to initiate execution of the second operation in the second determined environment as the current execution environment.