Legacy Application MODERNIZATION
- Leo Chelliah
What is modernization?
Modernization is moving a Legacy application to a newer tiered architecture model where the usage of newer UI, database, cache tools, ETL tools and DevOps are accommodated.
New UI: Building a new UI-based solution with the latest technologies, that include AngularJS, ReactJS, NodeJS(Nunjucks), Web 3.0 etc.
Redefined Database: Cloud database solutions provide improved/advanced solutions for reliability (clustering), scalability (real-time scaling of the system), and disaster recovery (backups/recovery).
Tools: Cloud solution providers, help with the easier deployment of advanced tools and solutions, this include, Caching, MQ’s, ETL tools etc.
DevOps: CI/CD pipeline gives developers capabilities to develop agile and not worry about the operations, Cloud infrastructure provides readily available tools for Source Code version control, build tools, deployment tool and alerting tools to handle end-to-end DevOps functionality.
Architecture: Plan the newer architecture, which supports cloud-based application development and web-based application, which can use microservice technologies.
Infrastructure: Modernization includes identifying the newer infrastructure to use, which includes support for microservice technologies.
Why do we do modernization?
Modernization requirements can be from any of the below requirements.
- Business requirements to improve application including performance/functionality
- Improve frontend solution, to move to a better GUI-based platform.
- To move to a solution where additional functionality is built and deployed easily
- To enhance application functionality/security
Approach for Modernization:
Setting up a goal for the modernization
- What will modernization achieve
- What is the end target for the modernization
- What is the key item on modernization, performance, improved functionality, Improved delivery of functionality etc.
Business and Technology team:
- The business team needs to be involved to understand the business process and understand the business requirements
- Technology key SMEs are involved early in the process to understand the complexity of the application and have it documented.
Choose the right Architecture:
- Three-tiered architecture is the most commonly used architecture (presentation layer, application layer and data layer) which gives the application capability to adapt easily
- Architecture gives confidence in the newer solution.
Build, test, test and test
- Building the solution with the right architecture and toolsets
- Continuous testing is key to get applications in the right direction
- With the tool sets available, automate as much as possible.
How do we modernize:
We have multiple options for modernisation, which include
- Replacing with an available solution
- Engineering a new solution
- Increment rebuild of the application
Replacing with an available solution:
With this method, we just buy a newer application which is already available, but this method is the costlier of all the approaches
Engineering a new solution:
In this methodology, we engineer a new solution which includes, UI, application logic and database.
This is a big-bang approach where the complete solution is being built in the newer cloud solution
Increment rebuild of the application:
In this solution, we improve any one part of the application solution, most probably the UI first, provide the business with a new improved UI solution, once the solutions are been implemented and adopted, migrate the application logic and database solutions etc.
- Gather the requirements from both the business and technology side
- Document all the requirements as user stories, which includes keeping a clear record in tools like JIRA etc.
- Define and design the UI solution, end-to-end design of the UI solution and linking the UI solution design to the user stories. Use tools like Figma etc.
- Understand the architecture to be used and document the architecture as the base to be used
- Performance, Security, Scalability, Reliability, and Reusability constraints are understood and documented
Step2: POC or Base Model
- Build a base model or a POC, which accommodates the architecture provided and covers the base functionality.
- This is to make sure that the architecture is as per expected, and the solution provided is understood by the stakeholders and agreed upon.
- A base model solution then can be iteratively built and used.
Step3: Building the end-to-end application
- Building the solution through a waterfall or agile methodology based on the requirements.
- DevOps solutions are accommodated early in the stage of development, to make sure the development is run effectively.
- Delivery through a Sprint-based solution is defined and monitored continuously.
- Test, test and test the application continuously, to have a high level of stability
Step4: Agile methodology to addon additional functionality
- Once we have the defined solution in place, the solution needs to be analysed and features to be developed on top of it.
- Feature development and performance improvement come hand in hand with application delivery
Step5: Deployment Solution
Deployment solutions to be discussed and documented,
- Swapping old to a new applications?
- Incremental approach?
- Sectional approach?
- Documenting the solution
- Training people necessary
Choosing the architecture to be used is one of the important and hidden steps of modernisation.
Defining architecture early in the stage will give guidance to the entier team to structure effectively and follow the guidelines
Micro Service solution
- Utilizing micro architecture is an essential in application development in the recent years,
- Micro service architecture gives capability to divide the application into smaller services.
- Each smaller services are then developed and integrated into the complete application
- Using micro services, Its easy to understand the services, build the services and test the services.
- Tiered architecture is how the application is being structured, so that the development process follow it
- 3-tier architecture is the well known architecture where the presentation layer, application layer and data layer are separated into separate micro services and built separately which then work together in a connective manner.
- Tiered solution’s are effectively understood and have the capability to adopt any cloud solutions.
- Data driven solution is to how effectively the data is being handled.
- ETL solutions, Extract, Transform and Load, which uses the current data and transform it to the data model that is then consumed
- Most of these solution is quite helpful with generating reports and gathering view of the data
- Cloud tools are effectively used with data driven solution to help adopt the solution easily and efficiently
Legacy Application MODERNIZATION
Modernization entails upgrading legacy applications with newer UI, databases, tools, and DevOps for enhanced efficiency.Read More