A computer-implemented method comprising: hosting a workload on behalf of a user account at least partly using a first virtual machine that is provisioned on first computing resources of a service provider network, wherein the first virtual machine is of a first virtual machine type that is allocated the first computing resources for utilization; determining that the workload changed from utilizing a first amount of the first computing resources to utilizing a second amount of the first computing resources; identifying, based at least in part on the second amount of the first computing resources, a second virtual machine to host the workload than the first virtual machine type, wherein the second virtual machine type is allocated second computing resources for utilization; and providing recommendation data to the user account including a recommendation to migrate the workload from being hosted by the first machine to being hosted by a second virtual machine that is of the second virtual machine type, wherein the first and second computing resources comprise at least of a central processing unit, CPU, resource, a memory resource, a storage resource, or a network availability resource; provisioning a test virtual machine on third computing resources associated with the service provider network, the test virtual machine being of the second virtual machine type; deploying a test workload to be hosted by the test virtual machine, wherein the test workload utilizes the second amount of the third computing resources; receiving a health metric indicating performance of the test workload while being hosted on the test virtual machine; and migrating the workload to be hosted by the second virtual machine on behalf of the user account based at least in part on the health metric to the second virtual machine. hosting a workload on behalf of a user account at least partly using a first virtual machine that is provisioned on first computing resources of a service provider network, wherein the first virtual machine is of a first virtual machine type that is allocated the first computing resources for utilization; determining that the workload changed from utilizing a first amount of the first computing resources to utilizing a second amount of the first computing resources; identifying, based at least in part on the second amount of the first computing resources, a second virtual machine to host the workload than the first virtual machine type, wherein the second virtual machine type is allocated second computing resources for utilization; and providing recommendation data to the user account including a recommendation to migrate the workload from being hosted by the first machine to being hosted by a second virtual machine that is of the second virtual machine type, wherein the first and second computing resources comprise at least of a central processing unit, CPU, resource, a memory resource, a storage resource, or a network availability resource; provisioning a test virtual machine on third computing resources associated with the service provider network, the test virtual machine being of the second virtual machine type; deploying a test workload to be hosted by the test virtual machine, wherein the test workload utilizes the second amount of the third computing resources; receiving a health metric indicating performance of the test workload while being hosted on the test virtual machine; and migrating the workload to be hosted by the second virtual machine on behalf of the user account based at least in part on the health metric to the second virtual machine.