Microsserviços muito além da teoria: a prática da concepção ao deploy - André Nobre

eu preciso de microsserviço?

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

Se você tem um desafio que não se refere a algum destes 4 itens, você não precisa de microsserviços. Você não precisa arcar com a complexidade que uma arquitetura de microsserviços traz.

05:15 - #2 O que é micro?

O "micro" na definição de microsserviços é uma "pegadinha". Não acreditem nessa história de microsserviço só faz uma coisa. (...) Muito relacionado com o conceito de Domain Driven Design (Eric Evans).

10:22 - #3 Utilizar a melhor tecnologia para o cenário

Você pode usar tecnologias diversas, mas isso tem um custo. Não é barato você ter mão de obra com conhecimento tão diversificado, infraestrutura é um tópico complexo, e é difícil achar profissionais tão variados no mercado.

13:40 - #4 Cuidados no desenvolvimento

18:10 - #5 Teste, por favor. É sério.

Definir uma meta de cobertura de código mínima.

Testes de navegação (ex.: PhantomJS).

Faça testes de carga com frequência (ex.: BlazeMeter, Load Testing do Azure).

21:25 - #6 Monitoramento

Não tem como desenvolver microsserviços e abrir mão do monitoramento.

Transaction flow - fornecido pelo dynatrace.

24:50 - #7 API Management

Precisamos ter uma governançla muito bem definida.

26:10 - #8 API Gateway

Vocês irão precisar de um gateway. Não tem como fugir disso.

29:07 - #9 Vá devagar, aprenda.

No entanto os benefícios em produtividade são bastante interessantes.