Microservices - Por que você não deveria (ainda) utilizar? – Eduardo Pires - Microsoft Regional Director & MVP
Microservices – Por que você não deveria (ainda) utilizar?
Postado em 25 de julho de 2018 by Eduardo Pires
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 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.
Publicado em Arquitetura, Microservices por Eduardo Pires. Marque Link Permanente.
17 ideias sobre "Microservices – Por que você não deveria (ainda) utilizar?"
Paulo Rogério Martins Marques em 25 de julho de 2018 às 20:53 disse:
RatowaR em 25 de julho de 2018 às 21:37 disse:
cadê os cursos de microserviços e banco nosql ?
Lucas Vasconcelos em 26 de julho de 2018 às 16:52 disse:
Excelente palestra e excelente texto!
Dariel Yamil Corrales Cuenca em 2 de agosto de 2018 às 09:56 disse:
show*******
Lucas Lopes em 2 de agosto de 2018 às 13:23 disse:
Bruno em 2 de agosto de 2018 às 13:51 disse:
Muito bom . Obrigado!
Rafael em 6 de agosto de 2018 às 17:35 disse:
Não é porque vc não manja que precisa generalizar.
Eduardo Pires em 1 de setembro de 2018 às 19:20 disse:
Talvez eu não manje, mas sou chamado para consertar as falhas graves de planejamento que citei aqui. Eu poderia não ter exposto e continuar ganhando dinheiro como consultor 😉
Alessandro em 4 de setembro de 2019 às 17:33 disse:
e rafael era melhor ficar quieto
Yuri Grandinetti Lemes em 11 de agosto de 2018 às 00:27 disse:
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.
Marcelo em 19 de agosto de 2018 às 19:49 disse:
Os slides serão disponibilizados?
Marcelo em 19 de agosto de 2018 às 19:58 disse:
Os slides da apresentação serão disponibilizados?
pedro Azin em 7 de setembro de 2018 às 19:25 disse:
Meus parabéns pelo excelente conteúdo! Grande trabalho. Conheci o blog hoje mais virei fã.
Vitor em 17 de outubro de 2018 às 09:34 disse:
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..
André em 31 de outubro de 2018 às 19:11 disse:
o próprio evans tem cursos e treinamentos em vídeo sobre DDD aplicado:
https://elearn.domainlanguage.com/
Tiago em 12 de dezembro de 2018 às 16:43 disse:
Muito TOP o vídeo. Compartilhei com todos da minha equipe.
Estão chegando novos projetos que inicialmente irão trata-los com micro serviços porém, depois desta, iremos nos prepara mais.