Three years ago, after we sold our company, WatchDox, to Blackberry, Amir, Ori, and I gathered to discuss what we wanted to do next. We knew one thing: we wanted to address a fundamental and significant problem in the IT world.
vFunction: The Challenge
Our experience showed us that in the pursuit of product-market fit, the problem you end up solving is usually a lot narrower than the one you thought you wanted to solve. It’s just the way these things evolve as you refine your offering and tighten the solution-pain point feedback loop.
When I met Ashmeet Sidana from Engineering Capital, our first investor, and we discussed the trends in cloud computing, specifically the hot Serverless trend, it was clear there was an unsolved problem: while the benefits of Serverless were obvious, it was also evident one needed some basic architectural prerequisites to have applications take advantage of Serverless, mainly microservices and event-driven architecture.
If you were to build a new app, sure, you can build it in a way that takes advantage of Serverless. It wouldn’t fit every application but you could do it for many. The question was…how can organizations that have hundreds or thousands of existing applications, mostly monolithic, not cloud-native, take advantage of Serverless?
When 81% of the workloads are not cloud-native and with 21 billion predominantly monolithic JVMs in the world, it became clear this was a massive problem. The cloud workloads are either new (greenfield) or low hanging fruit migrations (i.e. the simple ones). This meant we were only in the early innings of the cloud revolution as the industry hadn’t tackled the difficult part yet.
From talking to enterprise customers, we found out that the disappointment from “lift and shift” migrations was growing. Enterprises were not realizing cost benefits and surely the cloud-native architectural benefits, all the way from elasticity to accelerated engineering velocity, were absent from the monolithic lift-and-shift migrations.
We’ve seen cloud-providers and startups looking to address this challenge with containerization. Well, containerizing a monolithic app does not make it cloud-native because you still do not get the elasticity or the engineering velocity one gets from true microservices. You do get some benefits on the DevOps side, like faster deployment, but that’s hardly enough to justify the migration.
The basic problem of modernization has existed for years and the cloud only accelerated this conversation. Enterprises that have thousands of Java applications developed over the past 20 years are not going to throw them away. A recent study shows “80% of companies will continue to leverage past investments in Java apps”. A 2019 Mckinsey study found out that “75% of the IT budget goes to support and maintain legacy applications while only 25% goes to support innovation”. The net of it is that legacy systems hinder agility while consuming the majority of the IT spend.
To get the true benefits from the cloud, unlock innovation in general, and get out of the legacy spend swamp, companies need to transform their monolithic applications into microservices. Unfortunately, there was no easy way of doing that and that’s exactly what we set to address with vFunction.
The vFunction Solution
We are excited to launch vFunction – the first and only platform for developers and architects that intelligently and automatically transforms complex monolithic Java applications into microservices, restoring engineering velocity and enabling the benefits of the cloud.
At the core of vFunction is a unique combination of dynamic analysis of actual usage patterns enriched by static analysis of the existing binaries. This is coupled with extensive data science, deep graph theory and clustering algorithms to automatically identify microservices and the optimal entry points to split them from the monolith.
From these innovations, vFunction is able to identify vertical business services that reflect specific domains – precisely those that used to take months using traditional, manual domain-driven design exercises. Since vFunction collects a comprehensive set of interdependencies from both within the JVM and external to the JVM, services are identified from the database through the business logic all the way to the user interface.
The platform then enables the architect to interact with and modify the microservices design, to fit any specific target architecture.
Building on the deep analysis capabilities, we added the vFunction automation platform that is able to create those microservices from the original code.
Offering automation was the tipping point that led customers to say things like:
“vFunction enabled us to refactor one of our most complex applications which I thought might never be possible,” – an architect in a large rating agency
“vFunction provides a complete topology map of the application by identifying all the services and functions present. The ability to aggregate microservices via drag & drop is a plus and the ease of extracting the code needed to build the microservice is astounding.” – senior developer at Intesa, Italy’s largest bank.
We started to ask customers to try to quantify the savings and the acceleration associated with using vFunction (we had our thesis there but wanted customers to tell us…) and the numbers were mind-blowing: 15x acceleration and millions of dollars of savings (link to our ROI calculator).
The positive impact vFunction made on customers led us to the next phase of our product evolution…if these are the savings per application, how do we scale this to a factory model? How do we support customer’s hundreds or thousands of applications that need to be modernized within a 18-24 month cloud-migration project? Our latest release of vFunction includes a Modernization Factory Dashboard and Automatic Application Complexity Assessment feature that allow enterprises to prioritize, manage, control, measure, and track their full modernization process start to finish.
With vFunction, leading companies around the world are already accelerating their journey to cloud-native architecture and gaining a competitive edge. Please join us, and let us help accelerate your journey, too.