Refactoring requires the development of new code before an application can be successfully migrated to a cloud provider. It often involves restructuring and optimizing the existing code without changing its external behavior to fit into the new cloud environment.