Change in Business environment
All these years, people were operating business the traditional way or by adopting new technologies. However, pandemic made a huge shift in the way a business was operated.
To sustain in the market, business moved from the traditional model to the internet enabled model like mobile applications, e-commerce portal, electronic documents, QR codes, payment gateways etc.
Business functioned remotely via video conferencing and work from home culture to maintain social distancing and spread of the pandemic.
And thus, the shift in business mindset arrived. To be successful and competitive, modernizing and bringing in new digital enablement model is mandatory.
The modernization of a business is done in three steps namely
Customer Experience: Working to understand the customer using technology and to fuel customer growth
Operational Processes: Improving internal business processes by leveraging digitization, automation, enabling digital tools for employees and making more strategic decisions
Business Models: Transforming the business by offering more products via digital tools and services, introduction of digital products and providing shared services using technology.
To enable the above, business houses realized that their existing applications needed to be modernized, the following paragraphs discusses the path to modernization of the legacy application.
Legacy Mordernization
It is understood that most of the organizations still have their core business functionality in legacy systems. The cost and effort to maintain legacy system is huge, but apart from that, the main challenge lies in scaling up with the latest trend.
In an effort to scale down the maintenance effort and cost, Legacy systems that do not comply to the changing business goals are identified for modernization. The modernization of the legacy system enables employee productivity, customer experience, being competitive in the market and customer retention.
Legacy Application
An application that has an outdated operational processes, software and hardware infrastructure that is still in use is called as a Legacy Application. However; the organization might face limitation by the application for future business needs.
Drivers for Legacy Modernization
According to Gartner there are about 6 drivers for legacy modernization which are categorized into two perspectives namely business and IT.
A Legacy application is deemed fit for modernization when it fails on the below
Business perspective
- Scaling up to the new requirements imposed by digital business.
- Unable to scale up to the business agility.
IT perspective
- The cost of maintaining the application & upgrades to the application.
- Complexity & risk involved in implementing new technology/requirement.
Modernization Process
The Legacy Application Modernization is a very critical business decision, which might require re-definition of the business problem, to meet the criterion for the current and future business demands.
Based on the definition of the business problem, the business can select the appropriate process to modernize the application.
The approaches mentioned below are the different ways to modernize a legacy system.
Retain/Encapsulate
This is one of the rare scenarios where the business retains its old application and modernizes the application by building API and microservices. This well help expand the application overtime, and also talk to the other applications residing in modern technology.
Some of the business drivers for retaining the legacy application and enabling integration with other tools could be as below
Orchestration: In today’s world business demands that applications talk to each other to exchange data and form a workflow. To enable this workflow, legacy systems should be API call enabled.
Adaptability: Business needs to adapt to various demands and expand at a rapid pace. Building new age integration with the latest technology, will help adapting and scaling up faster. Breaking down of the legacy and re-building can be considered for a later phase.
Organization can also fetch the data stored in the legacy systems for AI and ML via API calls.
To integrate the legacy application with new age technologies the entire legacy application is analyzed from a business and technology perspective. The modules that are not used are isolated.
The appropriate integration software (Webmethods Entirex, Liberty Z/OS connect (Open API2), OpenLegacy etc) that would interact with the legacy application and the database is identified. The integration software is installed and configured on the legacy forming a layer above the application. (Anti-Corruption Layer)
A sample architecture for API integration with the legacy system is shown below
The requests are sent from the devices (mobile, tab and browser) to the legacy application via REST based API requests and the data that is being sent is in JSON (Java Script Object Notation) form.
The JSON data is sent to Z/OS connect, which interprets and sends it to the legacy system. The appropriate legacy application is invoked ((PL/1, JCL or COBOL etc), the request is processed and the result is sent back to the user via Z/OS connect.
Microservices based on Service Oriented Architecture are also built for various other expansion features of the application.
Rehost/Re-platform
The re-hosting process is to move the legacy application to a cloud-based infrastructure without making major modifications to the application. A key point to remember is, that not all cloud native tools can be leveraged to their exact benefits.
Rehosting is more of a stop gap solution to legacy modernization. It is a lift and shift solution. The application is hosted in a new environment for the time-being, before being re-written or replaced with a new application.
The application and the database both are moved out of the Legacy System. The migration plan should involve both code and data migration.
One of the most popular methods to rehost a legacy application is by using Microfocus. Microfocus is a popular tool to rehost application from the legacy system to cloud. The cloud vendor could be Amazon, Google or Microsoft Azure.
The Microfocus enterprise server provides an environment to execute COBOL programs, CICS regions, IMS applications and JCL jobs.
The diagram below could be one of the possible solutions for re-hosting a legacy application to cloud.
The legacy application can be re-hosted on an on-premises Linux based microfocus enterprise server environment. Database can be migrated to DB2 UDB or any other database like NOSQL, MS Sqlserver, or any other open-source database (MariaDB, MySql, Postgres etc).
After rehosting the legacy application to the on-premises environment, the entire re-hosted application can be moved to the preferred cloud vendor.
Code Refactoring will be part of the re-hosting process. This will be a minor work for making the application adapt to the new environment.
Rebuild/Re-Architect
In this approach the business problems are re-defined and new features are added to the application. The application is built from scratch and designed to integrate with cloud native environments.
New methodologies for rebuilding the application like DevOps, Service Oriented Architecture, API, Containers etc. are applied.
The product-based/manual/hybrid development approach is implemented for the rebuilding the application.
This approach might be cost intensive but very effective in the long run as it takes into consideration the future aspects of the business.
Reverse Engineering
Reverse Engineering is done when
- An organization wants to rewrite the application without any business modifications,
- There is no documentation and business knowledge available.
Business Rule Extraction, Flow graphs, Call diagrams are some of the important deliverables of this process.
This approach is a part of the rebuild/re-architecture process.
There are market tools (eg: Microfocus, T-Maxsoft, IBM etc) which accelerates the reverse engineering process.
Replace
This approach replaces the existing application with a COTS product. The organization comes together to analyze and shortlist the COTS product that will suit its needs.
The downslide of this approach is that the organization creates a dependency with the product vendor.
Modernization Challenges
Data Migration
Data migration to the new system is a major challenge. During data migration, the approach to data sanitization, data classification (necessary data based on priority) needs to be decided.
The organization calculates the risks involved in data migration and does not migrate data that has no business value.
Resistance
Resistance to change will be there from the employees with-in the organization. The management should ensure that all the stakeholders are on-board and get consensus for the modernization drive.
The transition to the new system should be not be sudden but a gradual one by taking in all the stake holders into confidence.
Skill & Audit
Organization should perform a skill, application and source code audit, before deploying the application. This will help ensure quality standards.
All employees and support staff need to be trained to have the appropriate skill to support the application and related infrastructure.
Migration Strategy
Organization should choose one of the two migration strategies depending on their requirement
Big Bang Strategy
In this strategy the existing system will be decommissioned and the new system will come into play.
The risk of this strategy is that there would be no fall-back mechanism on the failure of the new application.
Phased Strategy
In this strategy both the migrated application as well as the legacy will be operational. The result sets are compared between the new application and the existing application to ensure and verify the functionality of the new application.
Subsequently, staff is trained in the new application. After data verification phase and staff training old system is decommissioned.
The advantage in this strategy is that if the new application fails the organization has an application to fall back.
Modernization Benefits
-Organization will be closer to the customer and in-sync with the current market demands.
-Improved scalability
– Possible Integration with third-party applications using single sign on.
– Effective compliance to industry standards.
Conclusion
Modernization would depend on the capability of the existing applications, to respond to the current and predicted business scenarios of the market.
The plan for continual modernization initiatives should be in place to meet future business demands.