.NET on AWS Blog

AWS Microservice Extractor for .NET AI-Powered Recommendations

Introduction

When we launched AWS Microservice Extractor for .NET, the goal was to give customers an easy-to-use tool to extract microservices from their monolithic applications. To achieve this goal, we have created multiple ways for you to locate candidate code for microservices to extract. In this post, we are going to talk about the latest innovation for Microservice Extractor, AI-powered automated refactoring recommendations. We will then cover when you should consider each of the options for grouping and extracting microservices.

What are AI-powered recommendations?

The new AI-powered recommendations engine uses a machine learning model to scan the source code in your project. Once Microservice Extractor finishes the analysis, the tool will automatically group your classes to form candidates for new microservices.

This new functionality is best suited for customers who no longer have the development expertise behind the applications that require modernization. This is often the case for businesses that have applications that have been around for long periods of time and the original developers are no longer available, or applications that were written by third parties who are unable or unwilling to upgrade applications.

Choosing the right recommendation option

Microservice Extractor offers three different options for extraction: manual grouping, heuristic analysis, and AI-powered recommendations. Each of these options can create groups of classes for your microservice. You choose the method for extraction that aligns best with your situation. Extraction options are not mutually exclusive; you can select a different method in the UI each time you identify a microservice based on your changing needs.

If you have a deep level of understanding about the application that you are refactoring, and have specific goals around the creation of a microservice, then you should choose the manual method of grouping. This requires that you understand the layout of the classes that you are extracting, as well as how those classes connect to other parts of the application.

AI generated groupings.

If you have less experience with the application, but have a good understanding of the functionality that needs to be extracted, the heuristic analysis of the source code will provide you with guidance on logical starting points. This analysis finds starting points by identifying the type of classes that are being analyzed. For example, a controller class in an MVC application may be a logical starting point for extracting a microservice around orders.

Heuristic based groupings

Finally, If you have limited or no expertise in the applications you are modernizing, you can use the AI-powered recommendations engine to find candidate microservices. These recommendations go beyond the heuristic analysis, finding starting points and service boundaries. With AI-powered recommendations, Microservice Extractor will analyze all the application source files to determine recommendations that are likely to product suitable candidates for microservices.

AI generated groupings.

In all three cases, you can review and adjust groupings to make the best possible recommendations towards their refactoring goals.

Summary

The AWS Microservice Extractor provides you with multiple ways to identify potential microservices from existing monolithic applications. These options cater for different levels of knowledge about the application to be modernized. You can get started with AI-powered recommendations today by downloading AWS Microservice Extractor for .NET.