We now know how to migrate applications to the cloud: We have lift and shift, partial refactoring, and complete refactoring.
Lift and shift simply pushes the application code and data (or their images) to the cloud. Partial refactoring means rewriting parts of the application to better use cloud features. Complete refactoring means rewriting most of the application to be cloud-native.
Which is the best approach? Public cloud providers are promoting the lift-and-shift approach — because it gets you to the cloud faster, though at the expense of inefficient applications. This brings income to the cloud providers sooner and gives them more revenue because of the wasted resources you end up paying for every month. They love that.