Correla is one of the largest UK-based product development and managed service providers serving the energy market. Correla builds and runs software products that support the UK energy industry’s mission-critical processes and platforms.
Gemini is a suite of online applications, owned by National Grid, for managing the transportation of natural gas in Britain. It is a critical system with a zero tolerance for error and aims for flawless delivery with no unplanned downtime.
Correla has engaged vFunction and Wipro to accelerate and de-risk the modernisation of the Gemini Entry application as well as identify a modernisation plan to transform Gemini into a set of microservices.
The challenges
Millions of lines of code and very complex application architecture domains
The Gemini code base consists of over ten million lines of Java code. Manually analysing the architecture of the Gemini application proved extremely complex using conventional tools. Correla had prototyped an approach and verified the manual effort and complexity using these tools. Although possible, this is an expensive and resource-heavy task.
Long release cycles, slow engineering velocity
The number of new features and regulatory changes required within Gemini have been accelerating, and a better approach was needed to manage this change. Given the size and complexity of its monolithic code base, this resulted in complex testing, long timescales, and high implementation costs. This also complicated and slowed down release cycles, hindering developer velocity and productivity.
No room for downtime during modernisation given Gemini’s criticality
Because the Gemini applications run mission-critical processes and platforms, Correla could not afford any downtime, or potential risk of failure during modernisation.
The solution with vFunction
Gemini Entry application identified as candidate for immediate modernisation with vFunction
Due to the complexity of the Gemini Entry application, including the extensive lines of code and resource interdependencies, a migration without automation would be nearly impossible. The vFunction application was deployed to learn the flows within the applications, from the bottom up.
vFunction analysis key to reduce risk and increase reliability
vFunction assessed the levels of complexity and technical debt to determine the effort and risk involved in refactoring the application.
vFunction also identified and provided a visual representation of the flows within the application that were difficult to track and map. This gave Correla a thorough insight into Gemini.
AI-driven approach to define microservices boundaries
Using AI-driven analysis, the vFunction platform automatically identified potential microservices. The vFunction platform automatically extracted the first key microservice and verified the feasibility of modularising Gemini.
The results
Full dynamic and static code analysis of 10M line Gemini application in 10 days 3 hrs
The vFunction platform demonstrated how quickly a complex monolithic app can be analysed and broken down into microservices. This significantly reduced the time and risk of manually refactoring the Gemini application.
Redesigned microservice architecture for extraction
Using the vFunction Hub Studio UI, Correla and Wipro architects used the platform to refine the architecture and service boundaries, while designing the microservices to reduce dependencies and improve isolation.
Deployed fully functioning new microservice to Azure
After successfully identifying the first microservice for guided services extraction, the vFunction platform automated error-prone development tasks. After the service extraction, additional activities were undertaken to complete the end-to-end service. This microservice was then tested successfully in the new environment.
Long term outcomes for Correla: iterative refactoring and modernisation with vFunction and Wipro
The successful creation of the first microservice has paved the way for Correla to migrate the entire Gemini application using automation, Machine Learning and AI, in a risk-free manner.