The latest McKinsey Global Survey on Digital Strategy
in May 2022 has found that “companies’ overall adoption of digital technologies had sped up by three to seven years in a span of months.” Businesses have realized that their legacy application portfolio is acting as a barrier as opposed to being an enabler for this digital acceleration.
Challenges in Managing Legacy Applications
• On-Premise – Legacy applications hosted on-premise have high levels of dependency on IT infrastructure such as servers, storage, network, and firewalls.
• VPN Access – Business users need to access such applications by connecting through VPN first which is time-consuming because of latency.
• Scalability – Adding more users to a legacy application is challenging as it might require hardware and technology upgrades.
• Integration – Legacy applications cannot be easily integrated with more modern, cloud-based applications.
• Resilience – Unplanned downtime will affect mission-critical processes that are run through legacy applications.
• Maintenance – Difficult to find skilled resources trained in legacy versions of programming languages to maintain applications.
Opportunities in Application Modernization
Telecom giant BT recently announced
a partnership with Amazon Web Services. “We have a big opportunity when it comes to modernizing our infrastructure, and our collaboration with AWS is a key one for us as we deliver the transformation needed to accelerate BT,” said Thomas Dücke, COO at BT Digital.
Adolfo Hernandez, vice president and general manager within the Telecom Global Industry Business Unit at AWS, said: “BT’s move to cloud-first applications can help reduce IT maintenance costs, streamline operations, and help it better adapt to evolving customer needs. Plus, the AWS pay-as-you-go model offers flexibility, so BT only pays for the IT needed.”
BT Digital has also announced a partnership with Google Cloud Platform to create “group-wide data and AI fabric.”
Strategies for Application Modernization
Application rationalization is a key step to identify candidates for modernization. The scope of rationalization is not limited to identifying and removing duplicate applications. It also helps companies to take an inventory of applications and determine whether these should be retained or replaced.
According to Gartner
, there are “7 options to modernize legacy systems” – encapsulate, rehost, re-platform, refactor, rearchitect, rebuild, replace.
The difference in these strategies lies in whether a company is planning to just ‘lift and shift’ applications from on-premise servers to the cloud or rewrite the code either partially or fully including revamping the system design.
How to Select the Right Application Modernization Strategy
There is no ‘one-size-fits-all’ in choosing the right modernization strategy. It goes without saying that companies don’t apply a single strategy for multiple applications in their portfolio. Each application was built with a specific purpose in mind and leverage different sets of programming languages and technologies. For example, mainframe applications are often monoliths that were designed and built to be run as self-contained and independent programs. It would have made sense back then but the accelerating pace of change in technology has opened up opportunities for more agile systems.
Candidates for Migration
From the application inventory, identify applications that are built using latest technologies and programming languages. These applications are perfect for rehosting which means that they can be shifted quickly from on-premise to cloud environments with minimal or no disruptions to users.
The primary benefit of rehosting is the ability to cut down costs associated with running the underlying IT infrastructure and instead move to a ‘pay-per-use’ model through cloud adoption.
Applications with Poor Usability Ratings and Security Vulnerabilities
Legacy applications often have outdated UI which significantly reduces usability. Also, these applications might be exposed to new security vulnerabilities. Companies conduct internal usability and security audits asking a sample set of users for their feedback about the applications.
Without requiring a major code rewrite, applications can be refactored to offer better user experience with new features and enhanced security.
Breaking Down Monoliths into Microservices
Monolithic applications are built as a single entity comprising of front-end, back-end and a database. You will have to retest the entire system if you change a single component. These applications are difficult to manage and scale. You may either shift monolithic applications to the cloud or break down the monolith into scalable microservices that are easy to deploy, platform-independent, and reusable across business processes.
Rearchitecting is the recommended strategy for converting monolithic, single-tier applications into microservices.
Building Cloud Native Applications
Legacy applications are resource-intensive and are not built for the cloud. You can refactor legacy applications and run it from a cloud environment. But to realize the full benefit of scalability, automation, and resilience, you will have to rebuild the application as Cloud Native Services.
Cloud Native Applications are designed for the cloud using microservices architecture and deployed in containerized environments. These native services are highly resilient by design and connected through APIs with other services and run independently. You can use container orchestration tools to dynamically allocate resources to your microservices based on peak load.
In this article, we have analyzed strategies such as rehosting, refactoring, rearchitecting and rebuilding applications. Companies also leverage encapsulation and re-platforming to modernize legacy applications for specific benefits that are not universal. As surveys indicate, CIOs prefer a risk-free staggered approach to application modernization that is aligned with the overall business goals and helps the organization transform digitally.
This article is brought to you by Softura