1. A method for maintaining a virtual appliance comprising a set of software components each one installed on a corresponding virtual machine, wherein the method comprises: retrieving a maintenance descriptor comprising an indication of a new level of at least one of the software components to be updated; determining, for each software component indicated in the maintenance descriptor, a current level of the software component being installed on the corresponding virtual machine; determining a set of old ones of the software components to be actually updated according to a comparison between the corresponding current levels and new levels; cloning the virtual appliance; updating the cloned virtual appliance by updating each old software component thereof to the new level; and replacing the virtual appliance by the updated cloned virtual appliance.