Fortune 100 bank uses vFunction’s AI and automation to decompose massive legacy Java monolith

Executive summary With over $2 trillion in assets, this Fortune 100 bank is one of the largest asset holders in the world. As a publicly-traded, government-sponsored bank, they were created […]


Reduction in Time-To-Market


Reduction in Cost of Modernization


Achieved for internal cloud platform migration

Executive summary

With over $2 trillion in assets, this Fortune 100 bank is one of the largest asset holders in the world. As a publicly-traded, government-sponsored bank, they were created 50 years ago to expand and finance the secondary mortgage market in the United States.

Fast-forward several decades. They are now faced with a catalog of aging monolithic Java EE applications and increasing technical debt. After years of attempting to modernize with internal teams and external resources, they turned to the vFunction Platform, which provides AI for Application Modernization. 

Within 3 weeks, vFunction provided never-before-seen insights and observability into their scariest legacy Java EE application (over 10,000 classes and 8 million LoC), enabling them to accelerate their AWS cloud adoption initiatives by 25x and cut the cost of modernization by 3x.

The challenges

Internal mandate for cloud readiness

  • As a traditional brick-and-mortar company, the company has been tracking the development of cloud computing trends for over a decade. 
  • With the benefits of the cloud becoming proven in the field, they began investing tens of millions of dollars into developing a secure cloud platform onto which would be migrated their hundreds of traditional applications. 
  • After several years of hard work, research, and analysis, only a small percentage of their legacy applications were now running on their cloud infrastructure. 
  • Due to the size and complexity of their legacy Java EE applications, something else was needed to achieve their goals.

Massive legacy footprint

  • The company processes around $1 billion per day, mainly through legacy systems built with Java EE 6 and Oracle’s WebLogic web server. 
  • Their largest and most complex application is a 20-year-old monolith with over 10,000 classes and 8 million lines of code (LoC). 
  • After spending nearly 2 years internally trying to wrap their arms around this enormous and business-critical application, the team was frustrated with the lack of progress. 
  • Outside help was needed so that their development organization could focus more on their core capabilities and accelerate innovation.

Lack of success clouding the future

  • Several years of intensive project strategy sessions with both internal and external teams achieved limited results and refactoring was still not within scope.  Without a solution to automatically and intelligently extrapolate and organize the application into something understandable and actionable, the company was in a tough position.
  • They needed to ensure their future application architecture was architected to work in a complementary way to take advantage of cloud native services. 
  • This meant refactoring, which is extremely difficult and time-consuming for humans, but made much easier with automation, AI and data science: enter vFunction.

The solution with vFunction

Automated complexity analysis

  • vFunction provided a multi-phase approach to automate the analysis of the company’s legacy Java applications, assessing the complexity of selected apps to determine readiness for modernization.
  • First, the vFunction agent was installed to observe and learn the business domain-driven application flows, in the pre-production environment. 
  • This included deep tracking of call stacks, memory, and object behaviors from actual user activity, events and tests. 
  • This analysis, which synthesized dynamic learning with directed static code inspection of the binaries, ensured complete coverage of all app flows and enabled to prioritize & plan modernization in the most comprehensive manner.

AI and data science

  • Using patented methods of static analysis, dynamic analysis, and dead code detection, plus data science and AI, vFunction helped them prioritize which applications to modernize first.
  • Dynamic and static analysis applied graph theory and clustering algorithms to automatically identify optimal business-domain microservices and untangled deep dependencies across databases, classes, and resources. 
  • This enabled them to better preview refactorability, stack rank applications, estimate schedules, and manage the modernization process to accelerate cloud native migrations.

Actionable recommendations with automated execution

  • vFunction enabled architects to design services using the platform’s interactive UI design studio, providing the ability to refine service boundaries, automatically refactor classes, assign code to common libraries, and conduct impact analysis of design decisions based on the architect’s input.
  • This included methods for optimizing service decomposition based on database dependency discovery & analysis, which discovers, detects, and reports on which database tables are used by which services when decomposing a monolith.
  • In the final stages, they was able to extract services using vFunction’s human-readable JSON format specification files, then build and test new microservices based on the newly refactored code that runs natively on their existing application stack.

The results

25x reduction in time-to-market

  • After years of intense but ultimately unsatisfactory efforts, the company was able to unlock and take action on never-before-seen insights about their largest Java monolith within just a few weeks of installing the vFunction agent–a time-to-market reduction of over 25x.

3x reduction in cost of modernization

  • Powered by vFunction’s AI-driven insights and actionable recommendations, the company’s massive cut in time-to-market directly reduced the cost of modernization by more than 3x compared to manually decomposing the application without vFunction.

ROI on the horizon for internal cloud platform 

  • The combination of vFunction and the company’s cloud ecosystem built on AWS has enabled them to move forward with their strategy of refactoring and migrating hundreds of legacy Java applications to the AWS cloud, faster and less expensively than ever imagined.

Get started with vFunction

See how vFunction can accelerate engineering velocity and increase application resiliency and scalability at your organization.