Executive summary
This Fortune 500 company is a leading provider of financial information, ratings, and analytics, delivering critical intelligence to businesses, governments, and individuals to enable informed, data-driven decisions. Used by the world’s leading organizations, this company provides essential benchmarks, analytics, credit ratings, and workflow solutions worldwide.
As part of their digital transformation strategy that kicked off several years ago, they migrated over 150 business-critical applications to AWS. Once they successfully completed this “lift and shift” migration to the cloud, their next major challenge was to modernize hundreds of these legacy applications to a cloud native architecture.
They selected vFunction Modernization Hub to rapidly accelerate their modernization initiatives, resulting in a 15X increase in time-to-market compared to previous manual efforts.
The challenges
Aging applications, frameworks, and components
Their large pool of legacy applications were delivering significant business value but were built over the last 10-20 years. This meant that most applications were monolithic in design and were running on aging Java frameworks and components, introducing potential compatibility, security, and maintenance issues.
Strong in-house efforts stalled
The application team had already started modernizing their platform, moving the Java Enterprise layer from WebLogic to Tomcat, eliminating EJBs, and upgrading to Java 8, but had been stuck due to a reliance on Apache Struts 1, an open-source web application framework for developing Java EE applications released in 2000 and end-of-lifed (EOL) in 2013.
Mandate for cloud-native microservices
Multiple application teams managed these applications, and each team was assigned to handle between 5 and 10 applications. New mandates from executives required that each application team extract and create at least one new microservice from each application under their responsibility. The executives believed this further motivated the team to modernize the whole application into a full microservice architecture as quickly as possible, and leverage a new cloud-native application platform utilizing a FaaS (Function-as-a- Service) based on the Knative standard.
The Solution with vFunction
The application team engaged vFunction and chose a monolithic application typical to that business unit that was originally written 15 years ago, with over 100,000 lines of code and hundreds of classes to modernize leveraging the vFunction Modernization Platform.
This difference also speaks to different sides of the same coin in terms of overall organizational goals: innovation is a necessity to meet business objectives, but the biggest obstacle to innovation is technical debt—a major impediment to engineering velocity. Related to engineering velocity is the “ramp time for new developers,” another concern mentioned by architects that directly connects to application modernization.
The engagement began with a short learning phase where the vFunction Platform agent and server were installed to perform dynamic analysis–leverage machine learning algorithms and data science–on the application. Within just 90 minutes, starting with a monolith with which vFunction had no prior knowledge, the platform was able to:
- Automatically identify numerous services
- Suggest new boundaries of several services
- Define a common shared library
After moving to the workshop phase of the engagement, vFunction and the customer reviewed the list of services, configured the analysis parameters, examined the exclusive and non-exclusive classes of the services, and analyzed the exclusive and non-exclusive stored-procedures. During the several hours of the workshop, rapid progress was made that included:
- Merging and consolidating several services
- Extracting a new common library and two new microservices
- Compiling the common library and microservices successfully
- Removing the Struts 1 dependency
- Creating a new Spring REST Controller instead of the previous Struts action
- Converting the Java EE dependencies to Spring Boot
The results
Using vFunction, this customer was able to make immediate progress towards modernizing their large suite of legacy applications, accelerating previous manual efforts to assess, analyze, extract, and deploy new microservices by many orders of magnitude:
The ROI model derived from the engagement and approved by the customer indicates the full extent that vFunction can accelerate the modernization process and create a repeatable modernization “factory” model going forward.