What is Cloud Migration?
Moving digital assets like data, application or any IT resource from on-prem to cloud or between private to public cloud infrastructure is considered as cloud migration. Depending on the business needs the choice of migration path varies.
Start with the why
Ask yourself, why are we going down this path? What is the business goal or the technical objective to accomplish? It clarifies how we can get from where your company is today to where you want it. And whether or not your business can develop faster or take advantage of all the efficiencies that moving to the Cloud can bring, will vary based on the size or your company and its goals.
Strategies for cloud migration – The Six Rs
To understand the basics of migrating an application to the Cloud, we need to understand the application in-depth. Companies come up with different strategies to identify which application needs to be retired and which ones require to go through one of the many migration phases. The six Rs of identifying applications and figuring out the best strategy for migration to Cloud are
- Refactor
Refactor is re-architecting an application to provide cloud-native features with the latest updated technology stack.
An application running on a traditional server, for example, connects to a database and archives files in the storage. It is the current simplistic architecture, but it is a monolithic and legacy application. To rethink and use cloud-native features, imagine moving towards cloud services. Using inexpensive services helps reduce huge licensing costs. And that is how one can re-architect or refactor an application and avoid wasting time recreating it from scratch, increasing cost.
- Replatform
Replatforming involves lifting the application from the traditional server, reshaping, tinkering, making minor changes within the application, and shifting it to the Cloud. Most of the time, this involves significantly fewer configuration changes and environment-specific manipulations and does not include business-specific logic or modifications.
For example, there is a traditional server that goes through re-platforming and is deployed to a cloud server. It is expected to leverage its capability to deploy microservices and use the ecosystem’s scalability aspect to enhance it with added cloud-native features. Unlike the refactor strategy, here you slightly change the application to move it to the Cloud.
- Rehost
Rehosting is lifting and shifting the application and migrating it onto the Cloud. For a traditional server, pick the application within, get all the runtimes and software necessary, install them on another cloud instance, and deploy the applications. It is one of the most straightforwardcloud migration strategies. Most of the time, one will have to leverage some of the platform specifics.
For example, for load balancing, an elastic load balancer or other services might suffice, but one cannot directly lift and shift.
- Repurchase
Repurchasing is similar to rejecting an existing product and buying a new one from the marketplace. You go to the market and purchase software as a service product where you pay only for the usage.
A typical example could be reporting tools, as creating reporting engines is not needed. It brings much cost-benefit. Instead, the platform’s specific services are leveraged and paid for when being used. It could be one smart strategy if the software is replaceable with something available in the market.
- Retaining
Imagine a state where you do not have any budget and do not want to invest much in your application for migration to Cloud. Tag your application as a retained strategy or call it a revisit because you will have to revisit the application to migrate it onto the Cloud at some point. If you are running your application on a traditional server, it will stay there forever until you revisit the strategy. You will have to maintain the existing server so that the cost will be the same. It will be challenging to maintain because other applications are moving to the Cloud, but this particular application is not, so you will have to rethink and revisit the strategy. The cost and the long-run maintenance for these types of applications are significant disadvantages.
- Retirement
Retirement is the last strategy people choose because decommissioning an application is not that easy. However, suppose you have split an application into multiple, simplistic parts. You have already replaced rehosted or re-platformed some things in the application. In that case, you can retire your application, safely decommission it without having to worry about maintaining it forever. It is similar to how you have a traditional server, remove the application from it, and then just shut it down.
These are the common strategies that people use. You need to analyze, access your application, and prioritize the kind of cloud migration strategy you want to choose for that particular application.
Benefits of migration to Cloud
- Moving, modernizing and migrating applications to the Cloud is cost-effective, if you opt for public cloud as operating expenses and often workload management is taken care of by the cloud providers.
- Cloud heavily leverages virtualization and the core services in those particular models, giving flexibility to virtual machines.
- Security concerns are addressed effectively by Cloud providers.
The key to successfully migrating to the Cloud
The migration to Cloud is subject to picking a robust strategy. Some companies want to decommission workloads and consolidate. Others want to move to the Cloud or modernize by transforming into containers.
Essentially, the way to think about it is that once you know what to accomplish, go back to square one and start to build a catalog of all of the applications that you have, the workloads you are thinking about moving, and networking and security requirements. Once categorized, build out that list and think about what the migration strategy is moving forward.
Many think they need a highly complex system diagram with connections and schematics of their applications to initiate the process. However, for larger enterprises and businesses that have grown organically, sometimes that is not feasible. A list with all the applications and workloads gives a good starting point and an idea of what is top-of-mind for you. And that covers the meat of it.