Microservices – Por que você não deveria (ainda) utilizar?

Microservices é uma das sensações do momento, muito se fala sobre este estilo arquitetural e para muitos é a solução de todos os problemas. Entenda sobre os desafios de implementar uma arquitetura de microservices e o que deve ser feito antes para evitar problemas futuros.

Microservices é (mais) um novo termo que está sendo bastante utilizado como definição de arquitetura ideal para aplicações corporativas, o termo inclusive é mais novo do que a própria implementação de fato, sendo que o principal objetivo é desenvolver serviços distribuídos e independentes que compõem uma ou mais aplicações.

“O conteúdo técnico está no vídeo ao final do post, o texto a seguir é apenas uma introdução ao assunto.”

Microservices

Microservices em poucas palavras

Microservices (ou arquitetura de microsserviços) é um estilo arquitetural que propõe uma abordagem de desenvolver uma aplicação através da construção de pequenos serviços, cada um com sua própria responsabilidade (capacidade de negócios) e comunicando-se através de mecanismos “leves”. Geralmente assumem o formato de API’s conversando através de HTTP.

Por serem independentes e pequenos (micro) eles funcionam através de mecanismos de deploy independentes e totalmente automatizados onde há o mínimo de gerenciamento centralizado sobre como são escritos. Sendo assim podem ser escritos em diferentes linguagens e tecnologias e utilizar diferentes tipos de persistência de dados (BD).

Muitas empresas já utilizam com sucesso este estilo arquitetural, por que eu devo evitar começar a desenhar minha arquitetura neste estilo?

Conforme a tecnologia avança ela se torna cada vez mais complexa e requer mais conhecimento técnico de quem vai implementar. No cenário de grande escassez técnica (principalmente no Brasil) percebo que muitos desenvolvedores não estão aptos tecnicamente para entregar uma solução baseada na arquitetura de microservices.

Isso sempre foi um problema, porém a arquitetura de microservices exige muito mais conhecimento do que projetar uma aplicação monolítica tradicional. Sendo assim é altamente recomendável que o arquiteto da futura aplicação em microservices esteja ciente de todos os pré-requisitos e habilidades antes de começar o projeto.

Atuando como consultor eu já atendi dezenas de grandes empresas que falharam na implementação de uma arquitetura de microservices e pior deixaram de entregar a aplicação no prazo ou entregaram com falhas muito graves que comprometeram a disponibilidade e confiabilidade da empresa / serviço.

Como implementar uma arquitetura de microservices de forma responsável e dentro dos pré-requisitos técnicos esperados?

Não existe uma receita para isto. Tudo depende dos skills técnicos da equipe e das plataformas / tecnologias utilizadas na empresa. O que podemos fazer é observar e até mesmo gerar uma lista com pontos cruciais que realmente irão fazer toda a diferença.

Esta lista dos 10 motivos não foi obtida de algum livro / artigo / material. Eu a criei baseada em minhas “cicatrizes” de anos de consultoria, portanto trata-se de minha visão técnica e de consultor, portanto recomendo que assista meu vídeo para compreender melhor sobre estes pré-requisitos/motivos e o por que eles são tão fundamentais.

Espero que vocês aproveitem as dicas e qualquer dúvida estou a disposição.

* Assine meu canal no Youtube 🙂


Caso esteja interessado em conhecer mais sobre Testes, TDD, ASP.NET, DDD, Padrões de Arquitetura e boas práticas de desenvolvimento não deixe de conferir as ementas dos meus cursos:

Vamos continuar a troca de experiências, deixe seu comentário abaixo. Se gostou e concorda com o artigo, compartilhe com seus colegas para transmitirmos o conhecimento para o máximo de pessoas possíveis.

14 ideias sobre “Microservices – Por que você não deveria (ainda) utilizar?

  1. Excelente Palestra, de todas os 10 motivos para não utilizar, vejo apenas um motivo para utiliziar microservicos , se precisar utilizar NOSQL em um ambiente que trabalha com vários Bancos de Dados.

  2. Parabéns!!
    Sabe o que eu sinto falta? Uma palestra de DDD com âmbito de mundo real.
    Existem várias palestras no youtube, mas da para perceber claramente que muitas pessoas só falam o que leu no livro do eric evans..
    Exatamente como você fez com SOLID.
    Algo como, como eu deveria separar meu core domain, qual melhor estrategia para isso.. para aquilo.. qual melhor abordagem para meu domínio..

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *