NIST logo
*

****WORKING DOCUMENT****

4.2      Dynamic Operation Dispatch to IaaS Clouds

Actors: cloud-subscriber, cloud-provider-1, cloud-provider-2, …, cloud-provider-n

Goals:  Invoke operations on the most effective clouds available based on a client-side set of rules that are evaluated at runtime.

Assumptions: The cloud-subscriber has already established accounts with multiple IaaS cloud-providers.

Success Scenario (dispatch, IaaS):  This use case is for workloads that do not depend on unique resources of a specific cloud-provider.  The cloud-subscriber wishes to perform a job on the cloud that can offer the best performance, with the greatest reliability, at the least cost.  From the time when the cloud-subscriber opened the account with each cloud-provider, the cloud-subscriber has a record of each cloud-provider's service charges and promised performance and availability.  Optionally, the cloud-subscriber queries each cloud-provider for any updates to the SLA regarding these issues and, if there are changes, evaluates the acceptability of the changes as in "Compare Service Level Agreements to Respond to a Change". Then the cloud-subscriber formulates a small test workload, which could have processing aspects, data storage aspects, or network performance aspects.  The cloud-subscriber runs the test workload one or more times on each cloud-provider, and sorts the cloud-providers by availability, correctness of the workload's outputs, and performance . Alternatively, the cloud-subscriber queries the cloud-providers for performance, usage, availability, and cost metrics, and dispatches workloads accordingly.  In this case, the cloud-provider bears the responsibility to maintain the needed querying interface.

Failure Conditions:  (1) The cloud-provider is unable to provide the quality-of-service required for the dispatched workload; (2) the cloud-provider cannot scale to meet the cloud subscriber's demand; (3) cloud-provider is unable to provide meaningful metrics. .

Failure Handling:  Cloud-subscriber dispatches workload to another cloud-provider.

Credit: This use case was inspired by the libcloud project [LIBCLOUD], which provides a client-side library for interacting with multiple IaaS cloud-providers concurrently using a single API.