In today’s digital economy, organizations that run legacy apps have to Modernize their Applications, because they run the risk of being disrupted and put themselves in a profoundly uncompetitive position.
This is not the truth of the matter, and organizations can take steps to mitigate the complexity of app modernization. The first step, however, needs to be to sell an app modernization exercise across the organization and to do this; understanding the specific business drivers behind modernization is critical.
One of the most significant issues technology people face with modernization is explaining its value, when, in many cases, the technology best suited to modernization is sophisticated. There are several different paths organizations can take towards modernization.
For example, for complex cloud migration projects, Kubernetes is still a common choice for the benefits it offers the development team at the other end, including a higher level of control over the applications, and therefore the ability to do more with it.
Because of the technical complexity of app modernization, it’s important to be able to frame the case for app modernization in non-technical terms. The benefits of a successful app modernization project will be felt across the organization, so the most effective way to pitch it to the leadership team or the board is as a whole-of-business solution.
Old and out-of-support applications lower the security profile of the organization. Data breaches are one of the most serious risks organizations face, and there are severe new penalties globally for data breaches. In Australia, organizations face fines of either three times the value of the benefit obtained through the misuse of information, 10 percent of a company’s turnover, or $10 million — whichever of the three is greater. App modernization should be a priority in mitigating this risk, as part of a broader technology modernization strategy.
Hosted in the Cloud, modernized applications can be approached through Agile methodology with regards to ongoing development; meaning teams can rapidly scale, add features, and undertake further development on an app. KPMG research shows 65 percent of CEOs see disruption as an opportunity rather than a threat. Still, to be disruptive, an organization needs to have a transformed IT environment — including the apps.
Modernized applications improve data practices across integration, reporting, and analytics; and give organizations better insights into their customers. Additionally, hosting applications in the Cloud helps improve processing time, deepens customer experience with opening the door for richer self-service capabilities, and gives the organization deeper real-time feedback.
Organizations can approach app modernization by adopting one of five different strategies, which in some ways represents a ladder of escalating difficulty & complexity, with the more complex migration initiatives presenting greater opportunities to subsequently leverage the capabilities of Kubernetes and other tools to further build on the app’s capabilities.
1. Rehost: When an organization adopts this approach, it simply takes the underlying application resources and drops them into a Cloud environment. Rehosting doesn’t touch the function of the application itself, meaning it’s a relatively straightforward project, but if there were legacy issues around the application beforehand, they are still going to be there following the rehosting.
2. Refactor: This is much the same as rehosting, with the added caveat that the developers will tweak parts of the code to ensure the application, which was generally developed before the advent of Cloud platforms, will work as intended on the new platform. Refactoring generally enhances an application’s ability to scale but isn’t extensive enough to address more fundamental legacy issues.
3. Rearchitect: Once organizations get to the rearchitect phase, they are looking at substantial work on the core of the applications. This process gives the DevOps team control over the applications and starts to deliver the material benefits of app modernization. They include improved agility, faster time to market, and the ability to leverage the app to enhance the customer experience.
4. Rebuild: To use an analogy, with the three modernization approaches above, you are trying to remodel a home or space. It’s a renovation that maintains the existing foundations but looks to recontextualize them. When rebuilding, you will level the foundations as well, and start afresh. The application will be re-written as a Cloud-native one. This requires a substantial investment up-front, but with the benefit of having nimble, fresh code in the application to streamline and simplify future development work.
5. Replace: This is like moving house. You’re looking to get the same functionality the existing application offered, but through a different (and now Cloud-based) application entirely.
App modernization initiatives can be substantial investments, with significant KPIs & expectations from all stakeholders within the organization. It’s essential to approach these projects the right way — to establish the foundation first, and after that start small.
Finally, organizations must focus on a single platform. In many cases; organizations that find app modernization to be overwhelmingly complex have approached the project from an ad-hoc perspective; using a blend of platforms & hosting solutions; each requiring the development team to understand and after that master the unique challenges of that environment in isolation.
The most successful app modernization projects are those where the organization masters a single platform.
Source: Towards data science