Q. What is AWS Microservice Extractor for .NET?
AWS Microservice Extractor for .NET simplifies the process of re-architecting applications into independent services. Modernize and transform your applications with an assistive tool that analyzes source code and runtime metrics to create a visual representation of your application and its dependencies. Microservice Extractor for .NET delivers a holistic visualization of applications, assists in code refactoring and extraction of the codebase into separate code projects that teams can develop, build, and operate independently to improve agility, uptime, and scalability.
Q. Who should use AWS Microservice Extractor for .NET?
AWS Microservice Extractor for .NET is for customers looking to break down ASP.NET monolithic applications into smaller code projects that may be deployed as independent services. It is primarily aimed at software architects and developers who make code changes to re-architect applications.
Microservice Extractor is also recommended for those looking to port large .NET Framework applications to cross-platform .NET and run on Linux. The strangler-fig porting capability built into Microservice Extractor helps you reduce the porting blast radius on your application, and port small groups of classes at a time.
Q. How do I get started with AWS Microservice Extractor for .NET?
Please refer to the user guide to for steps on how to get started.
Q. How much does AWS Microservice Extractor for .NET cost?
It is a free downloadable tool with a scalable backend in the cloud. Microservice Extractor offloads heavy graph-data processing to cloud at no cost to you. All your source code and metadata reside either in your desktop or in an S3 bucket owned by you.
Q. What are the pre-requisites to use Microservice Extractor for .NET?
Microservice Extractor for .NET needs to be installed on a Windows system that has access to buildable source code of the application you are looking to re-architect. You need to have an AWS account with a managed policy to ephemerally process source code metadata from your designated S3 bucket. The application source to be analyzed must be built on .NET Framework 4.0 or higher, .NET Core version 3.1, .NET 5.0, or .NET 6.0. The application code must be written in C#.
Note: Microservice Extractor does not support ASP.NET Web Pages or Razer Pages at this time.
Q. How is my source code used by Microservice Extractor for .NET?
Microservice Extractor will perform surface level assessment of .NET solution such as parsing project files and creating abstract syntax trees (ASTs) for each project locally. The source code never leaves your local system. Then, Microservice Extractor will upload project ASTs to an S3 bucket you have designated from your AWS account. Microservice Extractor’s scalable backend will process source code metadata ephemerally and write the results in the same S3 bucket. Microservice Extractor downloads the results to generate source code graph and grouping recommendations. ME visualization is now ready for the user to interact at the default canvas.
If porting assessment is selected, the surface level analysis of the solution will also generate a list of NuGet/SDK APIs in use and stored in the same S3 bucket. Microservice Extractor’s scalable backend will process source code metadata ephemerally, and returns the compatibility and recommendations for the tool to download from the S3 bucket.
Note that Microservice Extractor’s scalable backend neither sees your original source code, nor persists any of your source code metadata. Your trust, privacy, and the security of your content are our highest priority. We implement appropriate controls, including encryption in transit, to prevent unauthorized access to, or disclosure of, your content and ensure that our use complies with our commitments to you. We also support customer manager KMS keys for encryption. Please see the Data Privacy FAQ for more information.
Q. How do I validate a recommendation from Microservice Extractor?
A recommendation is essentially a class or group of classes along with its dependents forming an extractable unit. The recommendations act as a starting point for developers to get started. The developer can customize the recommended group further if needed. In our experience, recommendations help especially when a developer is inheriting a codebase, and looking to understand it better through the software decomposition capability of Microservice Extractor.