1. A method for managing a cloud computing environment for use by a software application comprising: determining a requested initial cloud environment based on user-defined provisioning information, where the requested initial cloud environment is an N-tier computing environment; sending an initialization event based on the requested initial cloud environment, where the initialization event is configured to cause an initial cloud environment configuration to be made available to an application; sending application data that is configured to cause the application to begin execution in the initial cloud environment configuration; receiving monitoring environment data that represents a current cloud environment state; determining a requested adjusted cloud environment based on the monitoring environment data, where the requested adjusted cloud environment is an N-tier computing environment; and sending a cloud environment adjustment event based on the requested adjusted cloud environment, where the cloud environment adjustment event is configured to cause an adjusted cloud environment configuration to be made available to the application.