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

Gabriel Kohlrausch

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.

SOLUÇÕES EXIMIACO

Arquitetura de Software

Evolução e modernização de aplicações para suportar mudanças de escala.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Engenharia de Software

Três vantagens reais de utilizar orquestradores BPM para serviços

Arquiteto de software e solução com larga experiência corporativa
Desenvolvimento de Software

Os principais desafios ao adotar testes

Especialista em Testes e Arquitetura de Software
Arquitetura de Dados

Insights de um DBA na análise de um plano de execução

Especialista em performance de Bancos de Dados de larga escala

Acesse nossos canais

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

EximiaCo 2022 – Todos os direitos reservados

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

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

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

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.

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ê:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?