Migrating to the cloud is a significant, complicated endeavor, one that requires a realistic migration plan for any application portfolios that will be mapped out first. To get started, a detailed technical analysis of each application's cloud readiness helps determine the best cloud migration approach and strategy to take. If this sounds like a daunting process, that’s because it often is! Let's understand why.
In our experience, the average enterprise application portfolio contains approximately 1,000 applications, every one of which must be evaluated. This usually equates to about 5 million lines of code, each of which is matched to a list of roughly 800 cloud-critical API patterns. Scoring these patterns helps determine each app's suitability for the cloud; these scores also make clear the amount of technical work required for a successful migration. This level of detailed analysis involves about 4 trillion API pattern matches, which, done manually, could take weeks, if not months. What if there was a quicker, more objective way to assess your portfolio?
Introducing VMware Cloud Suitability Analyzer, which scans your source code and generates a technical score (between 1 and 10) to quickly determine each application’s cloud readiness. In this post, we will offer an overview of VMware Cloud Suitability Analyzer, including—at the end—a link to a demo so you can see it in action for yourself.
Speed up cloud migration planning
We understand the value of competitive business code; this critical asset should never leave your premises. With that in mind, VMware Cloud Suitability Analyzer launches right from your laptop and evaluates large application portfolios quickly so you can make objective, data-driven decisions.
Application portfolios encompass massive amounts of code. Since VMware Cloud Suitability Analyzer leverages the Go programming language, it is highly parallel. We did this because scanning source code presents a particular type of problem, known as "embarrassingly parallel," which basically means parallel processing can be easily exploited.
We also wanted to extend and add rules without having to rebuild our original application analyzer, so the rules use YAML. You can expand and edit rules right on your laptop. Our most talented and experienced architects curate the rules, while dozens of our customers in a wide range of vertical sectors contribute to the rule base. It's like having all of VMware Tanzu's expertise right at your side. VMware Cloud Suitability Analyzer is also adaptable to any language. We currently have rules for Java and C#, but it can target any language since it is essentially a text pattern-matching, rules engine.
Of course, since it's written in Go, VMware Cloud Suitability Analyzer runs on OSX, Windows, and Linux. It's easily deployed using just a single executable file. And, in keeping with our "one executable to rule them all" philosophy, we've built in a browser-based reporting and visualization tool from that same executable. All the while, your code never leaves your premises.
Finally, and most importantly, VMware Cloud Suitability Analyzer scales to substantial portfolios: A major U.S. automaker has scanned hundreds of thousands of apps, comprising 20 million lines of code. VMware Cloud Suitability Analyzer scanned 5 million lines of code in about 30 minutes.
Easily choose between cloud native and containerization
VMware Cloud Suitability Analyzer leverages a unique statistical scoring model to help inform the modernization option for the application containerization or cloud native remediation to provide a simple "technical fitness" score.
How does it work? The scale ranges from 0 (bad) to (10) good. If your score is somewhere around 5, you could go with either containerization or cloud native remediation, though applications scoring in this range may require additional accommodations in the container environment and/or some code changes. If cloud native is your first and only destination, think of your score as a deployment complexity indicator. Higher scores are better and mean little or no code changes will be required. A cloud native application can easily run in a container without any environmental accommodations, and will support many of the cloud native factors. If an application scores a 10, that's perfect; it can be deployed in a containerized or cloud native environment with no additional work required.
Applications that have lower scores, on the other hand, require more effort to become cloud native. The lower the score, the more remediation is required. Remediation for low-scoring applications comprise either environmental accommodations to support containerization or code changes in the application itself. Such accommodations for containerization can include adding support for persistent I/O and other, non-ephemeral behaviors. Code change remediations, meanwhile, modify the code to implement a basic set of the 12 factors.
Of course, your decision between containerization and cloud native remediation rests upon more than just the technical factors. Wherever possible, be sure to take into account the business value. (And learn about our service for holistic, agile portfolio analysis, VMware App Navigator.) Meanwhile, the details underlying your scores specify the amount of effort needed to migrate applications to containers or a cloud native environment. These details also make clear the pertinent skill sets and staffing model you will need in order to be effective.
Make informed decisions. With VMware Cloud Suitability Analyzer, you now have the data necessary to confidently and quickly decide which applications to migrate to the cloud and the level of effort required. New capabilities for VMware Cloud Suitability Analyzer include the following rules:
Query-based rules for YAML, XML, and JSON
Rules that trigger upon the absence of patterns
To see the VMware Cloud Suitability Analyzer in action, check out the demo.
Joseph Szodfridt contributed to this post.
Thumbnail image courtesy of Markus Spiske via Unsplash.