Cloud Migration in a nutshell
Migration is a scary word in the enterprise world. It scares the Client and the Engineering alike, in fact all stakeholders hold their breath till the last ounce of data is reflected in the new system. And when a Migration is complete, no one celebrates, but leaves out a sigh of relief. But then, the inevitability of change is undeniable, be it technology, platform, tools or business requirements; And Migration is the hard pill one has to swallow.
Cloud migration is the process of moving an enterprise application/s and associated data from a company's on-prem servers to a public cloud provider's servers or from one cloud vendor to another.
Migration Strategies
Migration strategies refer to different types of migration that are performed which depends on plethora of factors based on application/ data nature, technical feasibility, customer/ business requirements. These are referred to as 7 Rs of migration strategies - Rehost (lift-and-shift), Relocate, Repurchase, Replatform (lift-tinker-and-shift), Refactor (re-architect), Retire and Retain.
Rehost : Rehost is the simplest of all where the migration is carried out from source to the corresponding counterparts in terms of tools, platform and infrastructure in the destination. This doesn't involve any major changes in terms of operational or functional constructs and is easiest of the migration strategies. to perform.
Relocate : Relocate strategy involves migration with minimal impact on ongoing operations and no tinkering of the application code. As the name suggests, it involves relocation of enterprise servers from on-premises platform to a cloud version of the same platform. For eg : Kubernetes in on-prem would find its counterpart Google Kubernetes Engine (GKE) in GCP.
Repurchase : Repurchase strategy is about transforming the business model where the migration is from internally managed systems to the Software As A Service (SAAS) model.
Replatform : The strategy here is lift and shift along with selective upgradation of the certain components of the system so as to modernize/ improve the components in the application thus giving better ROI. There is the flexibility to choose the components/ services to be tinkered, but it has to be ensured that the amalgamation of the modified and the legacy components doesn't add up the overhead.
Refactor : Refactor is all about re-architecting a legacy system into a modern system and in line with the basic requirement to run in a cloud platform (if not already). Breaking down a monolith to microservices application is an apt use case for refactor strategy wherein the components in a Target system could be totally different from that of Source system and migration becomes all the more challenging.
Retire : No Migration. The system is of little use.
Retain : No Migration. The system continues to be in use, as is.
Recommended by LinkedIn
Phases of Migration
Broadly, there are four phases in a Cloud Migration - Prepare, Plan, Migrate and Go-live/ Operate.
Prepare : This phase is about analysing the existing system and its drawbacks, the feasibility, cost reduction and overall efficiency that can be achieved by moving to the targeted platform, and also zeroing in on the migration strategy.
Plan : In this phase, a blue print of the migration is created and a detailed roadmap involving the goals and objectives of the migration is developed. Apart from this, the details of the migration process including the approach (Phased or One-shot) and data sampling ( Selection of a subset data to be migrated and taken for user acceptance) also need to be finalised.
Migrate : This is the phase where the actual migration happens. It includes configuring the target platform and deploying the required resources, migration of assets (Data and/ or Application and the accessories) and testing of the migrated entities for Data integrity and other aspects as decided in the 'Plan' phase.
Operate : As the name suggests, once the application and data is up and running in the target platform, its time to monitor the different aspects of the system and the platform to ensure the application performs at the desired level. This is a continuous activity and based on the feedback from different monitoring and logging utilities, one needs to optimize the system with time.
This article is a mere bird's eyeview on Cloud migration. The whole process is very involved and requires months of focused efforts by a dedicated team to achieve desired results. I will be discussing few of the aspects mentioned here in detail in future.
- Image by lifeforstock on Freepik