Microserviços do ponto de vista de pessoas e custos

Muita gente já migrou e muitos outros querem migrar mas nós sabemos o custo dessas mudanças? É sempre vantagem matar o monolito e ir para o mundo de microserviços? Isso tudo é apenas hype? Síndrome da grama do vizinho é mais bonita que a minha?

Quando se decide fazer a migração você está escolhendo queimar dinheiro para um dia ter um retorno em caso de sucesso. Pois sua equipe vai ter que começar a desacelerar o desonvolvimento do produto entregando valor para os consumidores e entrar em uma guerra sem fim de débitos técnicos para transformar um grande e complexo sistema em diversos microsistemas especialistas.

Além de todo esse processo de altos custos da migração é normal a sua equipe única começar a se particionar e termos equipes especialistas para cada sistema o que aumenta o custo fixo da sua empresa. Sem contar os custos de infra que antes era um load balance com algumas instâncias e banco de dados. Agora, vários load balances, API Gateway para coordenar todos, vários serviços, vários bancos e por ai vai, ou seja, mais custo fixo.

Até onde podemos ver microserviços tendem a aumentar o custo fixo de uma empresa e ainda nem chegamos na complexidade que aumenta de monitorar e gerenciar esses ambientes que no monolito acaba ficando muito mais simplificado por conta da unificação dos dados já na fonte.

Até agora parece ser um filme de terror a migração e que não tem vantagem nenhuma mas não é esse o meu objetivo, é apenas mostrar que tudo tem custo e muitas vezes esquecemos de avaliar eles e assumir antes de começar a execução.

Agora, vamos as vantagens, provavelmente o que leva as pessoas a mudarem são dois a grosso modo: 1) sistema legado muito complexo com alta curva de aprendizado para novos membros; e 2) evolução lenta do sistema com alto débito técnico. Então, será que microserviços resolve isso? A melhor resposta é depende mas podemos dizer que na maioria dos casos sim.

O particionamento do sistema assim como o das equipes consegue proporcionar uma maior diversidade de tecnologia na empresa então cada sistema pode escolher aquilo que melhor resolve o seu problema tirando aquela obrigação que todos devem usar a mesma coisa como era no monolito. Menores os sistemas mais fácil a manutenção e evolução e mais fácil aprender sobre o mesmo.

Resumindo, eu vejo como vantagem migrar suas arquiteturas quando você sabe o seu custo fixo atual e tem gordura para aumentar ele para custear a migração. Os ganhos vão desde velocidade de evolução do negócio quanto saúde do ambiente de desenvolvimento e seus colaboradores.

Por isso, fica uma mensagem final, aprenda a tirar métricas do seu negócio!

Author image
Vitória - ES, Brasil Website
Formado em Engenharia de Computação na UFES e trabalhando com desenvolvimento de software para o mercado desde 2012. Hoje estou focado na área de ciência de dados e negócios.