1. A method of managing virtual machines in a cloud computing environment, comprising: instantiating at least one virtual machine in a cloud computing environment; and inserting a management module in the at least one virtual machine, wherein the management module is configured to monitor the at least one virtual machine and to control the at least one virtual machine based on the monitoring.