1. A method of managing deployment of an application in a cloud environment having virtual computing resources, the method comprising: determining tasks to be executed for deploying application components on the virtual computing resources for supporting execution of the application; and generating a deployment plan for executing the tasks in an order specified according to a topology of the virtual computing resources, the application components, and one or more dependencies between application components.