Informações Gerais
O livro tem 304 páginas, composto por 12 capítulos sem subdivisões em seções. A dificuldade de leitura é moderada (embora não devido à complexidade técnica, mas ao texto contínuo). Há poucas inserções de código, quase não há imagens, mas aparecem periodicamente vários diagramas e esquemas. No final de cada capítulo, há um breve resumo.
Conteúdo do Livro
O primeiro capítulo trata do conceito de microsserviços. Suas vantagens e desvantagens. Características (por exemplo, cada microsserviço pode ter seu próprio banco de dados ou implantação).
O segundo capítulo é dedicado a quando e como dividir um monolito em microsserviços e como definir os limites.
O próximo capítulo é ainda mais teórico — trata da modelagem de serviços, ou melhor, dos critérios que eles devem atender (baixo acoplamento e alta coesão).
O quarto capítulo trata de como "conectar" microsserviços dentro de um sistema. Aqui são discutidas as regras e mecanismos de comunicação. Também aborda o trabalho com API, RPC, REST, interação com banco de dados, JSON e tudo mais com o que você provavelmente trabalha diariamente.
O capítulo seguinte trata da divisão de um monolito em partes. É mais prático, pois usa um exemplo fictício, embora geralmente não vá além de fluxogramas.
O capítulo subsequente fala novamente sobre implantação. Sem especificidades, apenas lista algumas ferramentas, como Puppet, Chef e Ansible. Algumas palavras sobre CI/CD, configuração, diferentes ambientes de execução, conteinerização e muito mais. Como sempre — muitos blocos e diagramas, mas sem código, nem mesmo arquivos de configuração.
Em seguida, nos aproximamos gradualmente do tema de testes de microsserviços. Aqui, provavelmente não há necessidade de se aprofundar, pois as abordagens e princípios são bastante semelhantes aos testes comuns.
O próximo capítulo trata de monitoramento. O que é incomum aqui são as particularidades do monitoramento quando um serviço está localizado em vários lugares, além das peculiaridades gerais do monitoramento para microsserviços. No geral, tudo é bastante padrão.
O capítulo seguinte também é dedicado a um dos requisitos de qualquer software — segurança. É dada uma grande ênfase à autorização e autenticação, construção de firewalls e semelhantes.
Ao se aproximar da conclusão, o autor aborda a Lei de Conway (a lei que afirma que a estrutura do software é diretamente proporcional à estrutura da empresa e às comunicações estabelecidas). A discussão gira em torno de como os microsserviços são adequados para isso.
O penúltimo capítulo trata de outro requisito moderno para software — escalabilidade. São abordadas as peculiaridades da escalabilidade de microsserviços, cache, o teorema CAP e muito mais.
O último capítulo é uma espécie de revisão de tudo o que foi discutido anteriormente e cobre questões que ainda não foram abordadas e que são difíceis de atribuir a algum capítulo específico (por exemplo, falhas e recuperação).
Opinião
Após a leitura do livro, fiquei com uma impressão mista: por um lado, o livro é seco e puramente teórico; por outro — é muito bom para ampliar horizontes e preencher lacunas de conhecimento. O livro aborda temas como: as vantagens dos microsserviços sobre os monolíticos, CI/CD para microsserviços, segurança, testes e monitoramento, escalabilidade, a divisão adequada de um monolito em microsserviços e tecnologias práticas que podem resolver diversos problemas ao trabalhar com microsserviços. Como pontos positivos, destaca-se a boa e clara navegação. Como pontos negativos, como já mencionado: a leitura é moderada e às vezes tediosa, com poucos exemplos de código, e é mais teórico. Apesar dos pontos negativos, ainda assim eu recomendaria conhecê-lo ou, pelo menos, dar uma chance ao livro, pois o material faz um bom trabalho fechando algumas lacunas de conhecimento e cobrindo bem o tema de microsserviços.