A method for deploying a multi-node distributed application having a plurality of specialized functional components (202-214) that are executed on a plurality of different nodes, including at least a message bus functional component , wherein the message bus functional component provides a common interface through which the plurality of functional components (202-214) of the application communicate and receive notifications, the method comprising: receiving , by a deployment director , a request to deploy the application ; determining , by the deployment director based on a deployment manifest , a logical infrastructure to host the application , wherein the deployment manifest defines a plurality of jobs that may be performed by one or more stem cell virtual machines, VMs, as one or more functional components (202-214) in the application and wherein the logical infrastructure comprises one or more resource pools that associate stem cell VMs with a pre-defined VM template that includes a base operating system, an agent , and supporting libraries, runtimes, and/or applications to perform one or more specialized tasks of the specialized functional component within the multi-node application; requesting , by the deployment director from an infrastructure platform and based on the logical infrastructure , provision of one or more stem cell virtual machines, which are based on the pre-defined VM template; creating , by the infrastructure platform , one or more instances of the stem cell VMs having resource and network configurations as specified by the deployment manifest ; providing , by the deployment director to the one or more instances of the stem cell VMs , job configuration and data for each job specified by the deployment manifest ; and transforming , by the respective agent of each stem cell VM , the respective stem cell VM into a node for the application , including transforming one of the stem cell VMs to perform a message bus job which implements the message bus functional component . receiving , by a deployment director , a request to deploy the application ; determining , by the deployment director based on a deployment manifest , a logical infrastructure to host the application , wherein the deployment manifest defines a plurality of jobs that may be performed by one or more stem cell virtual machines, VMs, as one or more functional components (202-214) in the application and wherein the logical infrastructure comprises one or more resource pools that associate stem cell VMs with a pre-defined VM template that includes a base operating system, an agent , and supporting libraries, runtimes, and/or applications to perform one or more specialized tasks of the specialized functional component within the multi-node application; requesting , by the deployment director from an infrastructure platform and based on the logical infrastructure , provision of one or more stem cell virtual machines, which are based on the pre-defined VM template; creating , by the infrastructure platform , one or more instances of the stem cell VMs having resource and network configurations as specified by the deployment manifest ; providing , by the deployment director to the one or more instances of the stem cell VMs , job configuration and data for each job specified by the deployment manifest ; and transforming , by the respective agent of each stem cell VM , the respective stem cell VM into a node for the application , including transforming one of the stem cell VMs to perform a message bus job which implements the message bus functional component . <EOS>