US 11,941,452 B2
System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
Komal Mangtani, Los Altos, CA (US); Sesh Jalagam, Union City, CA (US); Vishwas Nagaraja, Sunnyvale, CA (US); and David Winterfeldt, San Francisco, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, LLC, Palo Alto, CA (US)
Filed on Jun. 8, 2015, as Appl. No. 14/733,948.
Application 14/733,948 is a continuation of application No. 13/411,385, filed on Mar. 2, 2012, granted, now 9,052,961.
Prior Publication US 2017/0004018 A1, Jan. 5, 2017
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/50 (2006.01)
CPC G06F 9/5077 (2013.01) [G06F 9/5038 (2013.01); G06F 9/5072 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of managing a deployment of an application in a cloud environment having virtual computing resources, the method comprising:
creating a virtual machine in the cloud environment based on a deployment plan, wherein an application director is external to the cloud environment;
receiving, by the application director, an application blueprint that specifies the virtual machine and three or more application components of the application, and defines a topology of the three or more application components to execute on the virtual machine, the topology specifying one or more explicit dependencies between application components on different virtual machines and one or more implicit dependencies between the three or more application components, wherein the one or more implicit dependencies are based on nested or layered relationships between the three or more application components, and wherein the one or more explicit dependencies and the one or more implicit dependencies indicate a deployment order during execution of tasks of the deployment plan of the application components onto the virtual machine;
determining, by the application director, tasks for the application components to be executed for deploying the application components on the virtual machine;
instantiating the virtual machine in the cloud environment according to the application blueprint;
establishing a communication with a deployment director contained within the application director;
receiving, from the virtual machine, a request for an application package containing a deployment agent from the deployment director, wherein the deployment agent includes configurations specific to the virtual machine;
transmitting, by the deployment director, the application package to the virtual machine responsive to receiving the request for the application package;
establishing encrypted communication with the deployment agent using the configurations and receiving a request from the deployment agent;
authenticating, by the deployment director, the virtual machine based on the received request from the deployment agent using the configurations;
generating, by the deployment director, a secure file based on the authentication and transmitting the secure file to the deployment agent;
receiving a status of the virtual machine from the deployment agent;
executing, by the application director, the tasks according to the deployment plan;
deploying the application components onto the virtual machine; and
executing the deployed application components on the virtual machine.