Migrating to the cloud can offer numerous benefits, and more and more organizations are becoming aware of that. There are 6 main strategies that are used to move your on-premises data to the cloud, and it depends on the type of your existing data to decide which strategy suits you best. In this article, we’ll explain what those strategies are, when you should use which, as well as how to overcome common cloud migrations challenges. Let’s dive into the details!
What is cloud migration?
Cloud migration isn’t just about moving your data to the cloud; it is an iterative process of optimizing your system to reduce costs and achieve the full potential of the cloud. Your cloud migration can have an impact over all aspects of your organization including people, processes, and technology. With flexible pricing models, cloud computing allows for scalability, agility, stable and high performance, remote work, and cost-efficiency.
There is no one-size-fits-all migration strategy, so each organization has to take a path that is suitable for their existing resources. IT assets are often unique in terms of cost, performance, and complexity so you need to migrate them differently. Having a clear roadmap for your migration will guide on how and in what order you need to move your assets to have a successful cloud migration. This is where cloud migration strategies come into play.
Generally known as the 6 R’s of migration, these cloud strategies are the answer to the question of how to migrate your IT assets to the cloud. Here are how each of the Rs works and when you should adopt which.
6 Cloud Migration Strategies
Rehosting is also known as the “lift and shift” strategy. It involves lifting on-premise data and placing it onto a cloud infrastructure without changing the existing code.
Advantages: Rehosting is the simplest and cheapest strategy to migrate to the cloud. It requires minimum time and technical expertise, and also mitigates the risk of breaking existing code that often occurs in modification. It also causes less disruption and requires fewer learning curves in your business operation since it simply replicates what your business is doing on the cloud.
Disadvantages: Although rehosting is a simple and low-cost strategy, failures due to applications’ complex dependencies or long outage periods can happen. Similar to the behavior of a traditional on-premises server, if a cloud server goes down, your application will go down with it. Also, even if a rehosted cloud migration succeeds, you won’t be able to take advantage of all of the powerful cloud-native capabilities, since legacy applications are not cloud-optimized for distributed workloads like cloud-native applications are.
Use Rehost if you’re:
- moving a large-scale enterprise
- new to the cloud
- moving off-the-shelf applications
- moving with a deadline
Replatforming is essentially rehosting but with some added modification. Although applications don’t get changed too much when replatformed, they do get modified to some extent before being moved to the cloud to better suit the cloud environment.
Replatforming usually involves modifying or upgrading specific components of an application. These modifications enable the application to operate more efficiently in the cloud, and allow for better scalability, user experience, and security. Due to this little tweak prior to the migration, replatforming is also called “Lift, Tinker and Shift”.
Nevertheless, this extra modification doesn’t mean replatforming is inherently better than rehosting. If a company’s data is already compatible with the cloud, it may find that rehosting is the best strategy.
Advantages: Replatforming doesn’t require a big investment of time or money. The replatform strategy enables you to improve a part of an application while allowing the rest of it to remain operational in the cloud.
Disadvantages: Replatforming applications can get complicated at times. The activity can vary from making just some small changes to carrying out a complete re-architecture of some components. This means replatforming may expose you to some risks such as errors in the code or configuration. So if this is the right strategy for you to migrate to the cloud, you should build beforehand a thorough plan of the features you need to modify and make sure those changes will be very carefully implemented.
Use Replatform if you want to:
- migrate with a time-crunch
- get the benefits of the cloud without refactoring your data
- Need minor tweaks on a sophisticated on-premises app for cloud benefits
Refactoring doesn’t just involve making small modifications to apps, but it involves making an app cloud-native often by rewriting it. Refactoring is much more complex than the previous strategies because while the external interface of the application usually needs to stay the same (to avoid disrupting users’ experience), there are major disruptive changes needed to be made to the fundamental code.
This strategy is used when the application has to be fundamentally changed in many aspects, such as features, scale, performance, which cannot be achieved from minor changes. When the existing application is resource-intensive or running on an outdated legacy system or carrying intensive data processing, refactoring the application for the cloud makes sense because that will result in higher performance and save more on expenses than with rehosting or replatforming.
Advantages: Refactoring enables on-premises applications to enjoy cloud-native capabilities (microservices architecture, containers, serverless, function-as-a-service, and load balancers). In the long-term term, it is often much more cost-effective to refactor applications than to use the other strategies.
Disadvantages: Refactoring requires a higher initial investment and is more time-consuming. Also, refactoring isn’t for beginners because it requires advanced coding, automation, and DevOps skills to conduct this strategy correctly.
Use Refactor if:
- An on-premise app is not compatible with the cloud.
- There is a worthwhile business incentive to add scalability, speed, and performance.
Repurchasing (also known as Replacing or “Drop and Shop”) is a cloud migration strategy in which the legacy application gets fully replaced by a SaaS solution that supplies the same or similar capabilities. A typical example of repurchasing is substituting an outdated on-premise CRM software with a SaaS solution such as HubSpot or SalesForce.
The complexity of repurchasing depends heavily on the requirements you have and solutions available. A SaaS replacement for an on-premise application from the same vendor can offer an option to migrate data quickly and with minimum effort or even automatically. This, however, may not be the case if you switch to a solution of a different vendor
Advantages: Since the SaaS product you substitute your legacy application with is readily configured for the cloud, you don’t need to invest in doing that yourself, so repurchasing can be cheaper than refactoring.
Disadvantages: While you can save on the initial investment that rehosting/replatforming/refactoring requires, you may need to allocate that resource to training your employees on the SaaS solution if it’s an unfamiliar tool. Also, the SaaS replacement may not have some capabilities of your legacy application, and if those capabilities happen to be essential, repurchasing may no longer be a suitable option.
Use Repurchase if:
- SaaS solutions for your finance, ERP, email, accounting, CRM, HRM, CMS, etc. are more effective than your current software.
- Your legacy app isn’t compatible with the cloud.
Retaining, also known as revisiting, involves reviewing some critical applications/portions of your on-premises data that requires a high level of refactoring before being migrated to the cloud. You may realize that some applications are more suitable to stay on-premise than to go to the cloud, so they are kept in your on-premise infrastructure. In some other cases, legacy applications are retained due to regulatory constraints, latency requirements, or it’s simply not cost-efficient.
Advantages: You don’t have to spend on the migration of these applications to the cloud.
Disadvantages: When applications are kept on your on-premises infrastructure, you’ll likely need to configure APIs for those applications to be able to interact with your cloud-based apps without disruptions. Depending on the level of complexity, this process can be costly and time-consuming.
Use Retain if:
- You adopt a hybrid cloud model.
- You are heavily invested in your on-premise applications.
- A legacy app runs well on-premises and is not compatible with the cloud.
- You want to revisit an app later.
Retiring means you remove applications that are no longer useful from your IT arsenal. If an application is not worth being moved to the cloud, it can either be got rid of or downsized. This is when you need to review all of your applications in terms of their uses, dependencies, and costs to your operation. According to Amazon AWS, as much as 10% of an enterprise’s IT portfolio is no longer necessary to be moved to the cloud and can simply be turned off.
While retiring an app is easy, deciding which apps to retire can be a complex process. This should be in the initial stage of planning so you can reduce the scope of applications to migrate and save on costs.
Advantages: The retiring strategy enables you to free up space in your on-premises infrastructure and reduce costs. Also, retiring obsolete applications can result in significant cost savings since app maintenance often costs a substantial amount of money.
Disadvantages: You may need to invest in building a new app to replace the retired one.
Use Retire if:
- You decide to refactor or repurchase the app.
- An app is redundant or obsolete
- An on-premises app provides no real value anymore and is not readily built for the cloud.
Common cloud migration challenges and solutions
Not Having a Cloud Migration Plan
Migrating to the cloud is not as easy as pressing an “upload” button, but it takes careful planning. One of the very common challenges that organizations face is not having a comprehensive cloud migration plan.
Analyze your entire on-premises infrastructure and business objectives to decide which migration strategies explained in the previous section is best suited to you. Are you looking to simply store your existing data on the cloud with the rehosting strategy, or do you need something more advanced like replatforming or refactoring? Also, find out which part of your legacy systems need adjustments to be compatible with the cloud, and then divide your plan into steps to make your migration more manageable.
Remember, if an application needs to be modified for the cloud, your company may not be able to use it while it’s under modification. Build your plan accordingly so it won’t won’t hinder your productivity.
Answer these questions when building your cloud migration plan:
- Which data and applications need to migrate?
- What will the process cost?
- Does any application need to be modified for the cloud environment?
- What’s the cost of downtime?
The more detailed your plan is, the less surprises you’ll encounter. Hiring a cloud migration service provider like CMC Global to offer guidance or even handle the migration process can help you avoid unwanted problems.
If something goes wrong once you’ve chosen a cloud provider, switching providers can be costly and time-consuming, but no one wants to be stuck with a bad service provider forever, so how can you avoid vendor lock-in?
First, perform proper research on any potential cloud provider you’re looking to work with. Scour their website and company profile, read testimonials, and closely inspect their service contracts before putting your signature on it. Most cloud migration service providers operate under similar core concepts, but they don’t always offer the same services.
There are a few approaches you can use to avoid vendor lock-in:
- The contract with your provider should provide an exit strategy along with the expected costs and how the exit will be done.
- Make your code more portable with open standards. This will make it easier to switch providers, as well as minimize the risk of lock-ins resulting from proprietary formatting configurations.
- Adopt a multi cloud strategy. Using cloud services from two or more vendors allows you to be less dependent on one vendor for all of your needs.
- Have a backup plan even if you have found the “perfect” vendor because no one knows what the future holds.
- Keep an eye out for contract renewals. They are often automatic, and they might keep you locked in with a vendor without even knowing it.
You can easily experience cost overruns in your cloud migration process, especially if you don’t properly analyze your costs beforehand. While cloud migrations will save you money in the long run, you should still do comprehensive planning to keep your spending on migrating your system under control.
Analyze the costs associated with cloud migration and don’t be afraid to ask your service provider questions before you sign your contract. Here are the main costs that are often involved in cloud migration.
- Direct costs such as supplies, hardware, software licenses, materials, maintenance contracts, etc.
- Operational costs such as labor, maintenance.
- Administrative costs such as training your staff, running an on-site IT team, and any other internal costs for system management.
Don’t forget to take into consideration your expected growth as well, because what you pay for cloud services will go up as your company grows.
Data Security and Privacy
Many companies are hesitant to move their confidential data to the cloud because how can you be sure that your secrets won’t get leaked when it’s not in your on-premises data center over which you have complete control, right?
The truth is cloud platforms are highly secure because most service providers have stronger security measures and facilities than most companies can afford in-house. Ask your provider these questions before entering a contract:
- Where will the data be placed?
- Does it have end-to-end encryption?
- What is their cloud migration process?
- Do they have any security policies and procedures? If so, what are they?
- Are they compliant with security regulations (HIPAA, ISA 27001, PCI-DSS, etc.)?
By asking questions like these, you will understand your vendor and learn about their security practices. If you’re not content with their answers, or if they don’t have any to begin with, find someone else. This is also a good test on a vendor’s customer service and technical skills. If they don’t have time or ability to answer a few simple questions, how can you trust them to be able to execute your project?
We hope that this article has provided you with valuable information about the best strategies for migrating your on-premises data to the cloud.