Cuidados com arquitetura de microsserviços em projetos de modernização de software

Com o passar dos anos e evolução da tecnologia, softwares grandes e essenciais para a operação vão se tornando obsoletos. Surge então o desafio de se modernizar e se manter relevante em um mercado cada vez mais digital e com grande apetite por inovação.

De uma lado, há as estratégias de modernização baseada na ideia óbvia de reescrever do zero as mesmas aplicações em uma tecnologia mais atual. Do outro, há as abordagens mais sofisticadas de estrangulamento de legado baseado em quebras de microsserviços que permitem uma evolução incremental. Entre os extremos, há diversas variações de caminhos que precisam ser criteriosamente ponderados pelas lideranças de tecnologia para atender ao que o negócio realmente precisa.

Microsserviços como arquitetura para modernização

Microsserviços se trata de um estilo arquitetural que preconiza o desenvolvimento de aplicações com serviços pequenos que são desenvolvidos, mantidos, evoluídos, colocados em produção e operados de maneira independente.

É uma abordagem particularmente interessante para projetos de modernização, pois permite construir soluções novas de forma incremental e em harmonia com a solução legada, porém para alcançar esse fim há um aumento considerável da complexidade técnica do software.

É possível diminuir significativamente a complexidade técnica adequando a granularidade dos serviços que serão construídos. Se em vez de microsserviços, abrirmos a possibilidade para desenvolver uma arquitetura baseada em serviços (não tão micros), minimizamos a necessidade de lidar com brokers de mensageria, consistência eventual, testes integrados sofisticados e outras dificuldades de se construir e manter aplicações distribuídas.

Um outro ponto a ser levado em consideração é o tamanho do time, pois uma arquitetura baseada em microsserviços gera sinergia com uma estrutura organizacional que reflita as características dessa arquitetura, com partes independentes, fronteiras bem definidas e objetivos de negócio claros. Times monolíticos tendem a não produzir microsserviços, mas sistemas monolíticos com características distribuídas.

Qual o melhor modelo arquitetural para modernização?

Os objetivos de negócio, atributos de qualidade e restrições do projeto devem guiar as decisões para a modernização tecnológica. Se, por exemplo, os atributos de qualidade evidenciam a necessidade de escalar partes independentes e tê-las mantidas por diferentes times, então há um indício para fragmentar a aplicação em mais serviços. Por outro lado, se há uma restrição no tamanho e estrutura do time, então é provável que faça mais sentido uma aplicação monolítica ou baseada em serviços maiores.

Não existe uma resposta simples para definir o melhor estilo arquitetural para suportar as estratégias de modernização. Porém, caminhos muito complexos tem se mostrado comumente desnecessários quando se analisa o que realmente é importante para o negócio. Para evitar estratégias demasiadamente complexas ou simplistas demais, o mapeamento adequado dos objetivos arquiteturais  no início do processo de modernização tem se mostrado o melhor antídoto para não incorrer em decisões motivadas apenas pela popularidade do estilo arquitetural.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

AUTOR

Gabriel Kohlrausch
Arquiteto de software com experiência executiva e especialista no desenvolvimento de aplicações corporativas complexas.

COAUTOR

Raphael Castilho
Desenvolvedor especialista em .NET com experiência em aplicações corporativas de larga escala.

COAUTOR

Fernando Paiva
Larga experiência como CTO, especialista em execução tecnológica e estruturação de times ágeis de desenvolvimento de software.

SOLUÇÕES EXIMIACO

Arquitetura de Software

ESTRATÉGIA & EXECUÇÃO EM TI

Simplificamos, potencializamos 
aceleramos resultados usando a tecnologia do jeito certo.

INSIGHTS EXIMIACO

Confira outros insights de nossos consultores relacionados a esta solução de negócio:

18/05/2021
Raphael Castilho
Desenvolvedor Especialista em aplicações corporativas .NET
18/05
2021
04/03/2021
Elemar Júnior
Tech Trusted Advisor, Fundador e CEO da EximiaCo
04/03
2021

COMO PODEMOS LHE AJUDAR?

Vamos marcar uma conversa para que possamos entender melhor sua situação e juntos avaliar de que forma a tecnologia pode trazer mais resultados para o seu negócio.

COMO PODEMOS LHE AJUDAR?

Vamos marcar uma conversa para que possamos entender melhor sua situação e juntos avaliar de que forma a tecnologia pode trazer mais resultados para o seu negócio.

+55 51 3049-7890 |  [email protected]

0
Queremos saber a sua opinião, deixe seu comentáriox
()
x

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.