How to Ace Cross-Cloud Migration?

Enterprises moving to the cloud from on-prem is an enormous effort that can span years together. And, once the migration to the cloud is complete, an enterprise might decide to move entirely to a new cloud or parts of the current applications to a new cloud platform for cost, performance, or other reasons. This is a more tedious effort than on-prem to cloud migration. In this blog, we will discuss the cross-cloud migration checklist, workloads optimization, and key considerations that help businesses move from one cloud vendor to another successfully.

Business Purpose:

We need to clearly understand the pros and cons of the source cloud platform, which we expect the team to have as it is their incumbent environment. We must deeply analyze the target cloud platform as it should solve all the cons and have all the pros mentioned above, like performance, low cost, and powerful app features.

Recognize and include stakeholders:

Connect with core team members throughout your organization, including IT and business partners. Early commitment and backing will result in a smoother, quicker cloud migration process.

Evaluate the services of source platform:

  • Perform end-to-end analysis of all the services in source platforms, applications, data, etc.
    • Thorough analysis of the data sources, data flows, data models, and ETL processes
    • Detailed info on databases, tables, partitions/clustering/indexing, data dictionaries
  • Have a close working session with the incumbent developers and IT in the team 
  • Decide on KPIs to measure and report on (Duration, Delay, Disruption, Costs per service/bandwidth)
  • Categorize source data into Hot, Warm, and Cold

Analogous target platform Tools/Services

  • Identify the suitable services/service models (SaaS, PaaS, IaaS) in the target platform which can replace services in the source platform and perform as expected according to the business use cases
  • Implement a proof of concept (POC) to validate the approach for each service

Cost Estimates:

  • Analyze the egress and ingress charges from source to target environment
  • Identifying the overall cost of the source architecture at the service level from the billing dashboards that the source cloud vendor provides
  • Analyze the cost of the services to be billed on the target platform, and it should be comparatively the same or less than the source platform cost

Optimize Workloads for better Performance

  • Remodeling the Data Schema: Rearchitect the Data Schema to better fit with the new services in the target platform, based on its features and processes.
  • Removal of Duplicate Data: Delete the redundant/duplicate data after detailed cross-checking with the business while migration can improve performance.
  • Conversion of SQL: Convert the complex SQLs to simple ones for ease of maintenance and performance. 
  • Revalidation: Re-validate all optimization techniques to ensure better performance as this migration effort is an opportunity to reduce technical debts and address performance. 
  • Rearchitecting the Application: Re-architecting the applications to be functional in the target cloud platform could result in less resource utilization and better performance.
  • Lift and Shift
    • As various cloud vendors follow different approaches to data storing and data accessibility/retrieval, we need to deep dive into their techniques and rearrange our data accordingly
    • 90% of the cross-cloud migration projects will not adhere to Lift and Shift and might need an entire re-architecture
  • Huge data Migrations
    • We need to watch out for the data pulling from source cloud vendors as they charge egress costs and bandwidth costs. Try to compress the data and make it as small as possible, then plan out the migration
  • Long Dependency on an old Cloud provider
    • If we move to a new cloud vendor, try to cut off using services from the old cloud vendors. if not, we will end up paying for both the cloud providers
  • Serverless option for Performance-based processes
    • For services that depend more on performance and readiness, plan wisely to choose between the dedicated pool and serverless options. You might see a 2x to 2.5x performance difference for massive data sets (Terabytes)
    • Observe the performance differences between the two different cloud providers. It may be extremely diverse, and since migration costs are associated, this will become a bottleneck if not planned for in advance
  • Data Cleansing
    • Clean the data as much as possible before getting into the migration process. It will help shrink the record count/size of the data, which is directly proportional to lower migration costs.
  • Pilot run 
    • Before migrating complete data, performing a proof of concept (POC) with a sample of data is essential. This approach will give you a clarity of thought about the process execution and the plan
  • Parallel loads
    • During the migration planning phase, make a checklist of items that need to run in batches and in real-time; prepare the data accordingly. If it is not well planned, the entire system performance might have to be addressed during the later phases, which might include a re-architecture of specific non-performant items
  • Automated testing
    • The absence of automated source-target validation would result in a larger chunk of time taken only for validations or would result in cutting corners for this activity. Loaded data needs to be validated and reconciled with the source system in an automated manner. 
  • Capacity planning
    • Data migration could be a resource-intensive operation and may require capacity planning. It’s always wise to plan the size of CPU, memory, storage, hardware, tools and have them readily available before the beginning of migration so that the migration effort can be successful.
  • Pipeline overload
    • Too many ETL activities result in blockages in debugging and dependent/ waiting in deadlock for previous actions. Try to have pipelines in smaller and granular pipes as much as possible. It will be easy to maintain, debug, upgrade, and replace

Summing Up!

Any cross-cloud migration should be considered an extensive effort that might start as an easy lift and shift and potentially change into an extensive migration and rearchitect effort. There is expertise required in both target and source cloud platforms to ensure no loss of functionality, eliminate tech debts, and to improve performance. This is something that Affine can help you with as we have extensive experience in migrating between all three big-cloud providers. Re-define your business goals by leveraging our Cloud Practices. Schedule a call today and talk to our cloud experts.

Leave a Reply