This is not about types, but more about strategies. There are 6 separate cloud migration strategies, namely: Rehosting - a transfer of an exact copy of your environment from on-premise to cloud hosting. Replatforming - small changes in the environment for better adaptation. Repurchasing - migrating to cloud native application architectures, for example replacing your CRM with Salesforce. Refactoring - the complete rebuilding of the application from scratch, specifically for the cloud environment. Retiring - abandoning some application functions, since they are not needed in the new environment. Retaining - rethinking the task and refusing to migrate, in favor of the development of a better and more reasoned migration strategy.