Cloud modernization is not new. According to a recent survey, over 51% of organizations who responded are in the midst of application transformation and cloud migration. Many businesses have moved at least somewhat to cloud, however moving custom applications off premise remains a holdover in many organizations. But if your organization is experiencing any of the following pain points . . .
Your competitors are growing faster than you can because of your legacy software and speed of execution
Your on-premises, custom applications can’t scale to meet increasing demand
Your customers are asking for features that you can’t add quickly
Reliability, security, or performance post a significant challenge
. . . then now may be a good time to reconsider modernizing your aging, custom software. But how do you identify the benefits and justify the cost of rewriting these applications? How do you guarantee that newer equals better and that you haven’t dug your organization into a hole?
This article presents a more practical approach to application modernization by selectively identifying the pain points of existing applications and prioritizing a phased approach using specific cloud technologies, all of which get you a clearer return on investment. It’s an approach we’ve successfully used with clients to develop cloud modernization project plans
Many application rewrite efforts are born out of statements like:
“We should be using the latest version of this framework.”
“We should be leveraging microservices.”
“We should be using the cloud.”
Ask why to any of these questions, and you will get a myriad of responses, most of which are justified and based on industry best practices. But it is not good enough to simply make these statements in isolation. We must always review the software in context and make the best decision possible for that application. Only then will it be clear which framework is the right choice, which cloud services to leverage, and which features are best suited for standalone microservices.
Most discussions about cloud migration or modernization of this application will consider the entire application, which is a mistake. Figure 1 shows a hypothetical application broken up into four modules with four features in each module. Microservice patterns were designed to make the best architectural decision for the smallest unit possible. As you can see, this highlights our core pitfall. When discussing app modernization, always review each feature independently.
Often in such a review, you will find most of the application is meeting the needs of your business, but certain other areas are struggling. Those are the features that should be prioritized and discussed in detail to ensure any modernization addresses the areas of need.
A more informed approach
Figure 2 (below) shows the same hypothetical application with several “hot spots” – areas of pain within the current application. After isolating issues in specific features, it is much easier to make informed decisions.
Such analysis will often result in one of the following outcomes:
A phased approach to modernization – By addressing features of specific concern now, your business can reduce the scope of the remaining migration and achieve the end goal in more granular phases, providing incremental business value along the way.
Improve the outcome of an existing app modernization – Even if your organization is down the path of rearchitecting an existing application, this process is still worthwhile. You may find your engineering team is focused heavily on the use of bleeding edge technologies without considering whether the technology is the right tool for the job based on the business need.
Avoid a long, costly rewrite altogether - The existing application can take advantage of new technologies while existing features that work well can remain in place.
The benefits of the phased approach
Our experience designing app modernization plans tells us that your application modernization initiative will have a greater chance of success when you use the second, more deliberate approach to app modernization. This approach can reduce costs by only rewriting what needs to be optimized rather than trying to rewrite and rework the entire application.
In this article, we presented an alternative to costly re-architecture projects that don’t seek to understand the business challenges up front. Making well-informed business decisions and understanding and correlating those decisions to the right technology is critical to differentiating your business from your competition.
Click here to discover how we helped McGraw-Hill Education meet the demand for digital education experiences by implementing a state-of-the-art, adaptive learning system.