1. A method of updating a software appliance, comprising: instantiating a first version of a software appliance; registering the configuration state and user data of the first version of the software appliance; instantiating a second version of the software appliance; and exporting the configuration state and user data of the first version of the software appliance to the second version of the software appliance.