A computer program product, comprising a computer-readable hardware storage device having a computer-readable program code stored therein, the program code configured to be executed by a cloud-orchestration optimization system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the computer-readable hardware storage device containing program code that, when run by the processor via the memory, implements a method for automated orchestration of complex server provisioning tasks, the method comprising:
- the cloud-orchestration optimization system receiving input data that describes characteristics of a virtualized computing environment to be built;
- the cloud-orchestration optimization system selecting a pattern as a function of the receiving, where the pattern specifies a set of generic tasks that must be performed in order to build the virtualized environment;
- the cloud-orchestration optimization system identifying a set of orchestration methods that each identify a generic method of performing a task of the set of generic tasks;
- the cloud-orchestration optimization system populating an attribute set data structure, where the attribute set comprises data elements required by the set of orchestration methods;
- the cloud-orchestration optimization system embedding one or more data elements of the attribute set into the set of orchestration methods in order to instantiate each orchestration method of the set of orchestration methods as a runlist task,
- where the instantiating a first orchestration method of the set of orchestration methods comprises embedding a placeholder variable into the first orchestration method,
- where the placeholder variable identifies a first data element of the attribute set, and
- where a value of the first data element becomes known only when the virtualized environment is being built;
- the cloud-orchestration optimization system compiling the runlist tasks into an orchestration runlist, where the runlist comprises instructions for building the virtualized environment, and where the runlist performs the runlist tasks in an order determined as a function of the pattern;
- and
- the cloud-orchestration optimization system assigning a value to the placeholder variable when the virtualized environment is being built.