December 28, 2020

The COVID-19 pandemic has disrupted the digital world and compelled businesses to reinvent themselves. Enterprises have come to realize the value of a location-independent agile, digitized and contactless environment, highly dependent on collaboration platforms. The uncertainty created by the pandemic has acted as a catalyst for enterprises to embrace a remote and collaborative work culture. Businesses have sharpened their digital focus to optimize regular operational costs and boost performance. Productivity, agility and business continuity are key factors for turning prevalent constraints into unique opportunities. Application modernization for critical business applications presents such an opportunity to empower enterprises by incorporating resilience and enhancing user experience.

Enterprise applications for back office are largely designed for co-located users. Some are based on legacy technologies tightly coupled with the underlying infrastructure. The pandemic made enterprises undertake rapid innovation and rethink these legacy applications from ground up for a seamless, remote and collaborative way of working to ensure business agility.

Digitization of such applications by leveraging containers, virtual infrastructure and cloud-based storage options facilitates faster time-to-market by providing agility, minimizing costs and ensuring hassle-free maintenance. Enterprises that were already exploring these avenues were able to adapt faster, demonstrating optimization on multiple fronts.

Traditional enterprise applications, such as Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Business Intelligence (BI), and such are built as tightly coupled monoliths. While planning for modernization, a portfolio of such applications must be created and classified based on criticality, complexity, dependency, and so on, along with various business and technology drivers spearheading the modernization. These classifications help with the prioritization and modernization strategy. Various vendors have classified these strategies differently, but they can be broadly classified into Re-host, Refactor and Rebuild.

What is Re-hosting?

Re-hosting is a simple ‘Lift and Shift’ approach. Underlying deployments are moved to a cloud platform, for example Infrastructure as a Service (IaaS), with no changes to the application code base or the deployment environment. This is the easiest and quickest way to adopting cloud, but suffers from latency and performance issues, missing out on the full potential of a cloud platform.

What is Refactoring?

Refactoring involves reimagining the application’s architectural components and processes to make it compatible with the latest cloud platforms, ensuring scalability and flexibility. Despite retaining much of the original code, considerable changes may be required. This approach provides good return on investment in the long run, but demands skilled experts and is time and effort intensive.

What is Rebuilding?

Rebuilding is an alternate strategy involving rewriting the application component afresh, while discarding legacy applications to use the full potential of the benefits of cloud and digital technologies and lend innovative features to the solution. This is a mammoth task and involves significant development and testing effort.

The Low-code or No-code Option

Low-code or no-code platforms offer significant productivity in the rebuilding approach. However, while implementing complex business logic or rule executions, these platforms revert to traditional hand-coding. Vendor lock-in becomes inevitable and maintaining the code outside the platform is challenging. Moving away from a low-code platform may involve rebuilding a major portion of the application. It is hence, rigid and may not always offer the flexibility to incorporate the best practices and the proven solutions from the legacy code.

Therefore, enterprises must choose a platform that offers flexibility and extensibility alike.

Criteria for the Right Platform

Low-code platforms invariably use model-driven engineering with limited flexibility and customizability. Enterprises need a model-driven platform that combines the productivity and automation of visual modelling and the flexibility of handwritten business logic, in a controlled manner. It should rely on familiar design patterns, while minimizing proprietary restrictions to avoid vendor lock-in.

The modelling platform must be flexible and comprehensive to incorporate technology upgrades in the generated code. It should have an automated code generation strategy along with an option for controlled code customization, preferably through a model-aware high-level language, which can be retargeted to any technology. The language should use a combination of declarative and imperative syntax to retain simplicity in coding, while offering flexibility.

The Way Ahead

The generic nature and availability of cloud infrastructure and platform configurations allow smooth deployments on any cloud platform. This is facilitated by automated packaging of applications in a cloud-agnostic format, leveraging technologies such as Docker and Kubernetes. However, the modernization platform should accommodate specific features and extensions through a customizable configuration, leveraging the capabilities of the cloud vendor. This flexibility can be achieved seamlessly by using a model-driven approach rather than a pure low-code approach.

Effective modernization can be achieved only through complete agility and versatility, which is lacking in a typical low-code platform. A smooth incorporation of cloud-native practices in application development, coding, deployment and operations can be achieved impeccably only through a model-driven development approach.

Write to us at mastercraft.sales@tcs.com to start with your Application Modernization journey.

Tags

Yugesh Avadhanula is a Solution Architect, currently working on TCS MasterCraft™ TransformPlus, which is an automated modernization and rapid application development platform that helps enterprises in their digital journey without business disruption. He has over 14 years of industry experience including Java based product development, model driven engineering, Cloud architecture and DevOps. He holds a Bachelor of Technology from Jawaharlal Nehru Technological University and a Master of Sciences from BITS Pilani.

Subbarao Siram is a Solution Architect with TCS MasterCraft TransformPlus team at Components Engineering Group (CEG). He has over 11 years of industry experience including Java based product development, model driven engineering, UI development & Legacy application migration. He holds a Bachelor of Technology from Jawaharlal Nehru Technological University.