1. A computer-implemented method for deploying an application comprising: accessing an application model of the application, the application model including a static description of the application and a run-time description of the application; and executing at least one of the following three phases: installing packages on target devices to produce installations according to the static description; configuring the installations to produce configurations according to the run-time description; and activating the configurations according to the run-time description.