Executive summary
This customer is a government agency headquartered in Washington, DC with over 75,000+ employees providing services to millions of US citizens. The agency was given a mandate to modernize over 100 Java applications and migrate them to the cloud, and after three years, had only modernized and migrated 2 applications.
They were severely challenged by the time and complexity it was taking to manually modernize each app, and were not hopeful about meeting the cloud mandate. They needed another way.
By partnering with Accenture and using vFunction’s application modernization platform, they were able to successfully decompose one of their monolithic applications. When they compared using vFunction’s app modernization platform against their previous manual efforts, they saw a 10X increase in the speed of their modernization project. Best of all, they now have a path forward to modernizing the remaining apps in their organization using the vFunction platform for a repeatable process, allowing them to meet the mandate.
The challenges
Mandate for the cloud
Seeking operational efficiencies and a goal of reducing their on-premise and data center footprint, this customer has a firm goal to transition over 100 Java applications to the cloud. This includes refactoring existing apps to become fully cloud-enabled and migrated to cloud.
Slow and complicated projects
Despite executive support to move to the cloud, the engineering team was unable to reach the velocity required to meet 2022 goals. In the last three years, only two applications had been successfully migrated to cloud infrastructure.
Manual efforts with lack of tools
The challenge to their velocity lay in the team’s lack of modern tooling. At a rate of 1.5 years per app, manual efforts have been unsatisfactory, encouraging the customer to look to automation and AI to speed up their modernization efforts.
The solution with vFunction
Measure acceleration (manual vs automated)
Prior to engaging with vFunction, the customer had established a baseline estimate for their manual efforts by assigning a senior developer to assess and refactor the target application. Then, using vFunction’s automation and AI, they were able to compare the overall time needed, repeatability, and scalability of both the automated and manual processes.
Apply automated testing
The vFunction agent analyzed the application as the team ran automated test scripts run in a preproduction environment. The tests covered regression scenarios that exercised 90% of the application code, providing enough visibility to identify dependencies and recommend a new reference topology.
Identify classes and refactor into microservices
During the analysis phase, the vFunction platform analyzed the dynamic and static results to identify specific domains, entry points, and boundaries. Using the vFunction Studio, they were able to visualize and manually refactor the monolith into a set of 10 individual services eligible for future extraction.
The results
10X time savings
The entire analysis and refactoring effort combined took only 33 hours: 23 hours of automated dynamic analysis to attain 90% coverage by tests in preproduction, and a further 10 hours for refining the reference architecture provided by vFunction. They estimated that this was at least 10X faster than previous manual efforts.
Success confirmed
From the 10 services identified by vFunction, the customer selected a single service for further extraction. Using vFunction, the modernization team successfully built, deployed, and tested this service outside of the monolith–significantly faster than they’d experienced with manual efforts.
Repeatable modernization process
Backed by the successful extraction and deployment of their first service, the team is applying the same methodology across 100+ Java applications slated for cloud modernization. Best of all, they report that “refactoring can be successful even with a team that is not familiar with the target application”.