1. A method for managing one or more virtual appliances on a computing system, each virtual appliance of the one or more virtual appliances comprising one or more virtual machines, each virtual machine of the one or more virtual machines comprising one or more software programs and supporting a plurality of profiles, each profile in the plurality of profiles involving an enabling of a corresponding set of one or more of the software programs with each other software program being disabled, wherein, for at least a specific virtual appliance of the one or more virtual appliances, the method comprises: retrieving profile information indicative of a set of profiles of the specific virtual appliance, retrieving status info anon indicative of a status of the computing system, retrieving constraint information indicative of one or more constraints applicable to the one or more software programs of the specific virtual appliance on the computing system, determining configuration scheme of the specific virtual appliance according to the profile information, the status information, and the constraint information, the configuration scheme involving a specific profile of the set of profiles of the specific virtual appliance having the one or more software programs thereof compliant with the one or more constraints applicable to the one or more software programs of the specific virtual appliance on the computing system, and configuring the specific virtual appliance according to the configuration scheme.