The services engine enables SDDC Manager to perform its management plane functions. The implementation of this engine uses the Java Executor Service framework initialized with a collection of runnable threads and scheduler threads that pull the next threads for execution. SDDC Manager functions are structured as workloads, workflows, and tasks.
Workloads are applications deployed on Cloud Foundation. These include initial bring-up of Cloud Foundation as well as VI and VDI workload domains. Workloads consume resources and can lead to multiple software component instantiations during their creation. They are configured with various parameters that specify their resource requirements, software components to be deployed, network configuration details, etc. These details may be stored as workload metadata in the SDDC Manager database or can be directly supplied to the workflow context which is also stored in the SDDC Manager database.
Workflows are a long running group of tasks that change the state of a workload. Examples of workflows include creating an instance of a workload, changing the allocated capacity, or removing the workload and reclaiming its associated resources.
A task is a unit of work from a workflow. A task can do calculations, allocate resources, and/or request resources. A workflow task obtains the input parameters from either the workflow context or workload metadata and then sets the output parameters. A task can include multiple steps.
If the task fails, it is resumed from right before the point of failure. Since a task can include multiple steps, the step that follows the last successful step in the task can be the point where the task is resumed.