The first step to a cloud migration is to align your strategy with your business goals, such as saving money on hosting, increasing workload capability, or making your application more available. There are various approaches to migrating applications to the cloud, and there is a fitting strategy for whatever goal you are trying to achieve.
Gartner, Inc. originally identified 5 ways to migrate applications to the cloud, and others added to this concept, as seen in 6 Strategies for Migrating Applications to The Cloud by Stephen Orban. In this article, I’ve revisited and summarized these strategies.
Many refer to this as a “lift and shift” approach. This means you are redeploying your existing application to an IaaS environment. This tends to be the approach taken in a large legacy migration scenario where the organization is looking to scale its migration quickly.
In this scenario, the relative ease of migrating the application as-is, rather than taking a cloud-native approach, frees up time for implementing optimizations and making some architectural adjustments since the application is already up and running in the cloud.
As defined by Pivotal, “replatforming involves upgrading an application from its existing platform and adhering to the minimum possible Twelve factors to get it to run on the cloud, while preserving existing functionality.”
In this scenario, rather than making a full-scale change to the core architecture of the application, you are utilizing a cloud provider’s infrastructure. This strategy tends to be a good fit for applications that are valuable to the business, but not critical.
This is a move to a SaaS platform. It runs outside of your infrastructure and is maintained by a third party. According to AWS, “moving from an on-premises solution to a SaaS platform eliminates the need for you or your team to spend time on maintenance or updates.” An example of this would be moving your current HR system to bambooHR. This approach typically involves upgrading to a newer version or different solution and means you are willing to move to a different pricing model than the one you are currently following.
4. Refactoring / Re-architecting
Upon reviewing the existing environment and architecture of your application and comparing that to business needs, it may become apparent that your goals cannot be achieved without taking at least a partial cloud-native approach. An example of this would be moving from a monolithic to a serverless architecture. The impetus for this strategy would be to improve scalability, agility, and overall performance.
Reviewing your environment further will help uncover the utility of each application running. Too often, no one realizes, pays attention to, or does anything about parts of your IT portfolio that are no longer useful and can be eliminated. By taking the first step to retire anything that is no longer valuable or even utilized, this can direct the team’s cloud migration strategy to areas that are most critical to the business.
Think about this in terms of minimizing the stuff in your house. You may come up with a pile to “keep”, a pile to “trash”, and a “not sure” pile. You should only migrate what makes sense for the business. Throughout your review process, you may find applications that for one reason or another are not suitable for cloud migration just yet. That does not mean they will not be moved in the future, but in this case, you want to retain for now and revisit them again later.
Taking the time to evaluate your current environment and applications will pay dividends down the road. You will be able to take advantage of the most relevant cloud strategy for your business needs and goals, decrease overhead, and free up personnel to focus on strategy rather than meaningless tasks that can be automated or eliminated altogether. For help evaluating your current workloads and identifying the appropriate cloud strategy, Contact DragonSpears.