The example deployment director 124 of FIG. 1 executes the deployment plan 128 by communicating with the cloud computing platform provider 110 via a cloud interface 132 to provision and configure the VMs 114 in the deployment environment 112. The example cloud interface 132 of FIG. 1 provides a communication abstraction layer by which the application director 106 may communicate with a heterogeneous mixture of cloud provider 110 and deployment environments 112. The deployment director 124 provides each VM 114 with a series of tasks specific to the receiving VM 114 (herein referred to as a “l(fā)ocal deployment plan”). Tasks are executed by the VMs 114 to install, configure, and/or start one or more application components. For example, a task may be a script that, when executed by a VM 114, causes the VM 114 to retrieve and/or install particular instructions from a repository 134.
In some examples, the repository 134 is implemented by a file share. In some examples, the repository 134 is hosted by one or more VMs 114 within the deployment environment 112. In some examples, the repository 134 is implemented by one or more servers hosting files via a Server Message Block (SMB) share. Additionally or alternatively, files may be made available via the repository 134 using any other file sharing and/or networking protocol such as, file transfer protocol (FTP), HyperText Transfer Protocol (HTTP), Common Internet File System (CIFS), etc. In some examples, the repository 134 may be implemented outside of the deployment environment 112.