A method of deploying a cloud based application in a cloud computing environment comprising a cloud deployment platform with an application management server executing thereon, and a cloud management server deployed in a cloud infrastructure, the method comprising: receiving, by the application management server, a request to deploy the cloud based application; reading a deployment plan (135, 828) for the cloud based application requested for deployment, the deployment plan (135, 828) comprising one or more exec deployment phases and a first plurality of tasks to be executed in a cloud infrastructure; selecting, by the application management server, a target infrastructure for the deployment request; determining, by the application management server, based on the selected target infrastructure, that one or more infrastructure-specific network setup tasks are required to be executed in the target cloud infrastructure prior to deployment of the cloud based application to the target cloud infrastructure, wherein at least one of the one or more infrastructure-specific network setup tasks include a discovery of a dynamically assigned internet protocol, IP, address of at least one virtual machine instantiated in the target cloud infrastructure; reading, by the application management server, the one or more infrastructure-specific network setup tasks that are required to be executed; inserting, by the application management server, a new pre-exec deployment phase into the deployment plan, the new pre-exec deployment phase comprising the one or more infrastructure-specific network setup tasks read in the reading step; transmitting, based on the pre-exec deployment phase of deployment plan, the one or more infrastructure-specific network setup tasks to the cloud management server for execution in the cloud infrastructure, wherein the one or more infrastructure-specific tasks comprise instructions for the virtual machine instantiated in the target cloud infrastructure to discover and transmit an IP address for a virtual network interface card configured for the virtual machine; receiving, by the application management server, the discovered IP address and a media access control, MAC, address for the virtual network interface card from the virtual machine via the cloud management server; associating, by the application management server, the received IP and MAC addresses with a corresponding virtual machine that is a component of the cloud based application under deployment; updating, by the application management server, the first plurality of tasks based on the received network addresses, and transmitting, based on the one or more exec deployment phases of the deployment plan, the updated first plurality of tasks to the cloud management server for execution in the cloud infrastructure. receiving, by the application management server, a request to deploy the cloud based application; reading a deployment plan (135, 828) for the cloud based application requested for deployment, the deployment plan (135, 828) comprising one or more exec deployment phases and a first plurality of tasks to be executed in a cloud infrastructure; selecting, by the application management server, a target infrastructure for the deployment request; determining, by the application management server, based on the selected target infrastructure, that one or more infrastructure-specific network setup tasks are required to be executed in the target cloud infrastructure prior to deployment of the cloud based application to the target cloud infrastructure, wherein at least one of the one or more infrastructure-specific network setup tasks include a discovery of a dynamically assigned internet protocol, IP, address of at least one virtual machine instantiated in the target cloud infrastructure; reading, by the application management server, the one or more infrastructure-specific network setup tasks that are required to be executed; inserting, by the application management server, a new pre-exec deployment phase into the deployment plan, the new pre-exec deployment phase comprising the one or more infrastructure-specific network setup tasks read in the reading step; transmitting, based on the pre-exec deployment phase of deployment plan, the one or more infrastructure-specific network setup tasks to the cloud management server for execution in the cloud infrastructure, wherein the one or more infrastructure-specific tasks comprise instructions for the virtual machine instantiated in the target cloud infrastructure to discover and transmit an IP address for a virtual network interface card configured for the virtual machine; receiving, by the application management server, the discovered IP address and a media access control, MAC, address for the virtual network interface card from the virtual machine via the cloud management server; associating, by the application management server, the received IP and MAC addresses with a corresponding virtual machine that is a component of the cloud based application under deployment; updating, by the application management server, the first plurality of tasks based on the received network addresses, and transmitting, based on the one or more exec deployment phases of the deployment plan, the updated first plurality of tasks to the cloud management server for execution in the cloud infrastructure.