Post: Afinal de contas, o que é uma arquitetura baseada em micro serviços?
13 respostas
kicolobo
O conceito de micro serviços tem me ocupado por algum tempo.
Neste post tento dissecá-lo com o objetivo de descobrir o que isto realmente vêm a ser e de que modo muda o nosso modo de pensar e implementar soluções, inclusive se é de fato uma grande novidade.
(a propósito, este vídeo é ridículo, me desculpem)
C
cha
Muito legal seu post, esclareceu algumas dúvidas.
L
lkbm
Concordo com o texto e vou além: certos autores, incluindo “autoridades” como Martin Fowler (que nunca desenvolveu um software relevante), precisam constantemente reinventar a roda para ter o que falar, senão caem no ostracismo.
A
AbelBueno
Na verdade, dar nomes a conceitos e padrões é uma coisa muito importante.
Há uma história que o frameworks java começaram a ser baseados em POJOs quando o nome “POJO” foi criado.
Se o termo micro serviços começar a ser mais difundido e implementado na prática, será um grande ganho.
Infelizmente, ainda hoje, em muitos times a idéia de quebrar uma aplicação em micro serviços é vista como overengineering.
L
lkbm
AbelBueno:
Na verdade, dar nomes a conceitos e padrões é uma coisa muito importante.
Há uma história que o frameworks java começaram a ser baseados em POJOs quando o nome “POJO” foi criado.
Se o termo micro serviços começar a ser mais difundido e implementado na prática, será um grande ganho.
Infelizmente, ainda hoje, em muitos times a idéia de quebrar uma aplicação em micro serviços é vista como overengineering.
Por que é. Geralmente essa arquitetura é usado em empresas da escala do netflix, amazon.
A
A_H_Gusukuma
kicolobo:
O conceito de micro serviços tem me ocupado por algum tempo.
Neste post tento dissecá-lo com o objetivo de descobrir o que isto realmente vêm a ser e de que modo muda o nosso modo de pensar e implementar soluções, inclusive se é de fato uma grande novidade.
Começando pelo final, não é novidade. Até porque, para ser um padrão, precisa estar sendo praticado. Nesse ponto, não entendo as críticas. É fundamental que pessoas de peso, com reconhecimento do mercado, estejam dedicando tempo para descrever e especificar a arquitetura.
A principal mudança na maneira de pensar e implementar soluções, é a quebra de resistências devido à preconceitos sobre a arquitetura. Afinal, o peso de um Martin Fowler faz diferença.
Mas, como tudo, vai depender se a solução se adeque à situação da sua empresa ou modelo de negócio, e nunca a “modismos”.
javaflex
Como Gusukuma falou aqui, depende do modelo de negócios. As vezes o problema está quando um determinado sistema atende duas ou mais áreas do negócio sem isso ser prático no uso real, onde uma parte acaba impactando outra sem precisar estarem juntas, sendo o ideal os sistemas serem separados para atender cada foco do negócio ou conjunto de usuários. Já os serviços ou até mesmo bibliotecas entram conforme a necessidade de compartilhamento. Então dependendo do caso pode ser visto mesmo como o que você se refere de “overengineering”, trazendo mais obstáculos técnicos sem necessidade. Mas também vão ter muitos casos que será importante como os citados.
L
lkbm
Se você pretende migrar seu sistema de larga escala pra alguma nuvem, acho que vale a pena seguir as orientações dos engenheiros que passaram pela experiência de implementar micro serviços (ao invés do blogueiro Martin Fowler).
Microserviços é uma tendência de sistemas que rodam na nuvem.
kicolobo
Após uma semana publiquei no meu blog algumas conclusões que cheguei sobre o assunto.
Estou postando aqui para que possamos esquentar um pouco esta discussão: http://www.itexto.net/devkico/?p=1768
Basicamente, sim, é SOA.
O papo de que “SOA significa muitas coisas” é furado.
O problema da abordagem “Não projeto, mas produtos”
E mais algumas outras.
L
lkbm
Por que você acha que experiência anterior em arquitetura SOA tradicional vai lhe ser útil para microserviços em nuvem?
M
mcarabolante
lkbm:
Por que você acha que experiência anterior em arquitetura SOA tradicional vai lhe ser útil para microserviços em nuvem?
SOA é um superset de micro serviços, quando executado e governado corretamento vai suprimir os principais problemas de uma arquitetura de micro-serviços: versionamento, duplicidade de operação, interoperabilidade. E vai ter ajudar com algum problemas de mais alto níveis, como segurança dos serviços, transição atômica, rastreabilidade de falha.
Pode-se adora SOA como a arquitetura de microservicos na nuvem
L
lkbm
Acho que micro serviços é SOA sim, mas voltado para um público totalmente diferente, por que as empresas em sua maioria querem distância de nuvem depois dos escândalos de espionagem praticado pelos EUA.