O blog da AWS

AWS Microservice Extractor for .NET e recomendações baseadas em inteligência artificial (IA)

Por Tom Moore, Principal Developer Advocate na AWS

 

Introdução

Quando lançamos o AWS Microservice Extractor for.NET, o objetivo era oferecer aos clientes uma ferramenta fácil de usar para extrair microsserviços de suas aplicações monolíticas. Para atingir esse objetivo, criamos várias maneiras de localizar o código candidato a ser extraído por microsserviços. Neste post, falaremos sobre a inovação mais recente do Microservice Extractor, recomendações de refatoração automatizada com tecnologia de IA. Em seguida, abordaremos quando você deve considerar cada uma das opções para agrupar e extrair microsserviços.

O que são recomendações baseadas em IA?

O novo mecanismo de recomendações baseado em IA usa um modelo de aprendizado de máquina para escanear o código-fonte em seu projeto. Quando o Microservice Extractor terminar a análise, a ferramenta agrupará automaticamente suas classes para formar candidatos a novos microsserviços.

Essa nova funcionalidade é mais adequada para clientes que não têm mais a experiência em desenvolvimento por trás das aplicações que precisam de modernização. Geralmente, esse é o caso de empresas que têm aplicações que existem há muito tempo e os desenvolvedores originais não estão mais disponíveis, ou aplicativos que foram criados por terceiros que não conseguem ou não querem atualizar as aplicações.

Escolhendo a opção certa de recomendação

O Microservice Extractor oferece três opções diferentes para extração: agrupamento manual, análise heurística e recomendações baseadas em IA. Cada uma dessas opções pode criar grupos de classes para seu microsserviço. Você escolhe o método de extração que melhor se alinha à sua situação. As opções de extração não são mutuamente exclusivas; você pode selecionar um método diferente na interface de usuário sempre que identificar um microsserviço com base nas mudanças de suas necessidades.

Se você tem um profundo nível de compreensão sobre a aplicação que está refatorando e tem metas específicas em relação à criação de um microsserviço, escolha o método de agrupamento manual. Isso exige que você entenda o layout das classes que está extraindo, bem como a forma como essas classes se conectam a outras partes do aplicativo.

AI generated groupings.

Se você tiver menos experiência com a aplicação, mas tiver uma boa compreensão da funcionalidade que precisa ser extraída, a análise heurística do código-fonte fornecerá orientação sobre pontos de partida lógicos. Essa análise encontra pontos de partida ao identificar os tipos de classes que estão sendo analisadas. Por exemplo, uma classe controller em um aplicativo MVC pode ser um ponto de partida lógico para extrair um microsserviço em torno de pedidos.

Heuristic based groupings

Por fim, se você tem pouca ou nenhuma experiência nas aplicações que está modernizando, pode usar o mecanismo de recomendações com tecnologia de IA para encontrar microsserviços elegíveis. Essas recomendações vão além da análise heurística, encontrando pontos de partida e limites de serviço. Com recomendações baseadas em IA, o Microservice Extractor analisará todos os arquivos de origem da aplicação para determinar as recomendações que provavelmente produzirão candidatos adequados para microsserviços.

AI generated groupings.

Em todos os três casos, você pode revisar e ajustar os agrupamentos para fazer as melhores recomendações possíveis em relação às metas de refatoração.

Resumo

O AWS Microservice Extractor oferece várias maneiras de identificar possíveis microsserviços a partir de aplicações monolíticas existentes. Essas opções atendem a diferentes níveis de conhecimento sobre a aplicação a ser modernizada. Você pode começar a usar recomendações baseadas em IA hoje mesmo baixando o AWS Microservice Extractor for.NET.

 

Este artigo foi traduzido do Blog da AWS em Inglês.


Sobre o autor

Tom Moore

 

 

 

 

Tradutores e revisores

Luciano Bernardes é arquiteto de soluções sênior na AWS, focado em workloads Microsoft. Ele trabalha com soluções de infraestrutura há mais de 16 anos, abrangendo cenários locais e na nuvem. Como SA, ele trabalha em estreita colaboração com clientes e parceiros de consultoria nos EUA e na América Latina.

 

 

 

 

Luiz Rampanelli é um Solutions Architect no time da AWS Latam. Possui mais de 10 anos anos de experiência com workloads Microsoft em nuvem e ambientes híbridos. Atua com desenho de soluções seguindo as melhores práticas para que os clientes possam aproveitar ao máximo os benefícios da nuvem da AWS.