What is Application Transformation?
Application transformation is the process used to assess a company’s legacy software to determine which ones can undergo application modernization and/or can migrate to the cloud. Conducting an inventory of what you have is an obvious first step, yet for larger companies some of the legacy systems are layers of outdated languages with lost KT.
So a first step might be plotting the application based on its complexity and its criticality to the customer and the organization’s future. From there, those that are high-value and low effort become your “first wave” effort into modernization. Application transformation’s discovery process allows one to determine the best path to take towards modernization.
- Rehost (Lift and shift): Simply put, taking an existing application and moving it from it’s on-premise data center to a newer infrastructure, such as the pubic cloud. With this method, there’s little modernization or little to no change to its codebase. It’s usually the least intensive approach, yet the number of applications that can move with such ease are often few.
- Refactor: Application refactoring is when there is a rewrite of large chunks of the code without changing its internal structure. A development team may prefer this option if it wants to breakdown the larger application into smaller pieces, referred to as microservices, to take advantage of the benefits of cloud-native infrastructure or tools.
- Replatform: This is the middle ground between lift and shift and refactoring. In this option, changes to the code or architecture are complementary, such as modifying or replacing the backend database.
- Rebuild: Rebuilding an application entails entirely rewriting the code to fit within the parameters of the new platform. While the scope and specifications would remain the same, the code would need to be completely rebuilt for use within cloud services.
When you utilize application transformation, expect to assess all stages of the application’s lifecycle. Focus on the potential for new business outcomes, offshoots for new applications, security and compliance, as well as the application’s management and maintenance.
Key questions to ask when beginning application transformation:
- What are the mission/business critical apps and what improvements are needed to improve the customer experience?
- What legacy applications need improvement, consolidation or retirement?
- What apps can be transformed cost effectively to generate more financial gain?
- What resources are required (internal and external) for modernization?
- What apps need modernization to meet service-level-agreements?
- What risks are involved if modernization is the determined option?
- How does the cost outweigh the gain, such as improvement in data management, flexibility in managing storage, transition from mainframe or on-site data centers to cloud, and resources?