A computer-implemented method for migration of virtual machines (302,304), comprising: under control of one or more computer systems configured with executable instructions, receiving information characterizing at least one component of a virtual machine (302,304), the virtual machine being of a first virtual machine type and maintained with a first set of implementation resources; filtering a set of migration options based on the characterizing information to determine a candidate set of migration options, each migration option in the candidate set of migration options corresponding to a respective type of virtual machine, and presenting the candidate set of migration options for selection; establishing a migration template for a selected migration option, the migration template corresponding to virtual machine migration from the first virtual machine type to a second virtual machine type, wherein the migration template comprises: a distinct configuration corresponding to migrating the virtual machine (302,304) from one virtual machine type to another virtual machine type; a pre-migration portion specifying a first reconfiguration task to be performed in preparation for migration of the virtual machine (302,304); and a post-migration portion specifying a second reconfiguration task for adapting to changes to implementation resources as a result of migration of the virtual machine (302,304); triggering a reconfiguration of the one or more components of the virtual machine (302,304) in accordance with the first reconfiguration task of the migration template; migrating the virtual machine, in accordance with the migration template, from the first set of implementation resources to a second set of implementation resources such that the virtual machine (302,304) is transformed to have the second virtual machine type; triggering a reconfiguration of said at least one component of the virtual machine (302,304) in accordance with the second reconfiguration task of the post-migration portion of the migration template; and providing a service to a user with the virtual machine (302,304). under control of one or more computer systems configured with executable instructions, receiving information characterizing at least one component of a virtual machine (302,304), the virtual machine being of a first virtual machine type and maintained with a first set of implementation resources; filtering a set of migration options based on the characterizing information to determine a candidate set of migration options, each migration option in the candidate set of migration options corresponding to a respective type of virtual machine, and presenting the candidate set of migration options for selection; establishing a migration template for a selected migration option, the migration template corresponding to virtual machine migration from the first virtual machine type to a second virtual machine type, wherein the migration template comprises: a distinct configuration corresponding to migrating the virtual machine (302,304) from one virtual machine type to another virtual machine type; a pre-migration portion specifying a first reconfiguration task to be performed in preparation for migration of the virtual machine (302,304); and a post-migration portion specifying a second reconfiguration task for adapting to changes to implementation resources as a result of migration of the virtual machine (302,304); a distinct configuration corresponding to migrating the virtual machine (302,304) from one virtual machine type to another virtual machine type; a pre-migration portion specifying a first reconfiguration task to be performed in preparation for migration of the virtual machine (302,304); and a post-migration portion specifying a second reconfiguration task for adapting to changes to implementation resources as a result of migration of the virtual machine (302,304); triggering a reconfiguration of the one or more components of the virtual machine (302,304) in accordance with the first reconfiguration task of the migration template; migrating the virtual machine, in accordance with the migration template, from the first set of implementation resources to a second set of implementation resources such that the virtual machine (302,304) is transformed to have the second virtual machine type; triggering a reconfiguration of said at least one component of the virtual machine (302,304) in accordance with the second reconfiguration task of the post-migration portion of the migration template; and providing a service to a user with the virtual machine (302,304).