eBook: Jornada Microsserviços
- Catálogo: E-books da Brasport
- Modelo:EB298
- Categorias
- - e-Books
- - Gerenciamento de Projetos
- Disponibilidade:Em estoque
- R$ 54,00
Venda de e-book Compre na Amazon Compre no Google Play
Ebook Jornada Microsserviços: do zero ao avançado somando conceitos e práticas
Criado com a colaboração de experientes profissionais que transferiram o melhor de sua experiência para uma obra repleta de conhecimento técnico e de negócio, este livro explora o mundo cloud native, conceitos que envolvem essa arquitetura, prós e contras na aplicação e como isso tudo se encaixa no mundo dos microsserviços.
Embarque conosco nesta jornada e torne-se um profissional diferenciado, com um conhecimento sólido e profundo da arquitetura de microsserviços.
Era uma vez um professor universitário que sonhava lançar um livro quando finalizou o mestrado em 2006. O sonho começou a ser concretizado em 2017 com o livro “Jornada DevOps”, mas alguns obstáculos travaram sua evolução após a escrita de três capítulos.
Em setembro de 2018, durante sua palestra na PUC Minas, surgiu um click: “Será que outras pessoas apaixonadas por DevOps ajudariam com a escrita colaborativa?”
Dezenas de colaboradores aceitaram o convite e o livro foi lançado para 350 pessoas no dia 06 de junho de 2019 no Centro de Convenções SulAmérica, no Rio de Janeiro.
A escalada dos times gerou novas amizades, aprendizados, doação de R$ 332.590,00 para instituições com o lançamento de 16 livros e sonhamos transformar mais vidas com a inteligência coletiva e o apoio de empresas amigas.
Antonio Muniz
Fundador da Jornada Colaborativa e Mentor LiderProExpert.
Sandro Giacomozzi, Roan Brasil e Dorival Querino
Líderes do time organizador do livro, curadoria e revisão técnica.
Coautores
Abraão Santos
Albert Xavier
André Pontes Sampaio
Antonio Muniz
Carmem Pereira
Daniel Gomes
Dorival Querino
Edgar Silva
Eduardo Costa
Felipe Santos
Igor Simões
João Gilberto Magalhães
Jonas Santos
Kamila Santos
Karina Moraes
Natália Gonçalves Rosa
Norberto Hideaki Enomoto
Otavio Santana
Pedro Pereira
Regiane Moura Mendonça
Roan Brasil Monteiro
Rodrigo Branas
Rodrigo Moutinho
Ronaldo Fernandes
Sandro Giacomozzi
Vinicius Ferraz
Vitor Miranda
Revisores:
Abraão Santos
Beatriz Cruz dos Santos
Bruno Kaufmann
Bruno F. Antognolli
E-ISBN | 9786588431597 |
Lançamento | 17/05/2022 |
Páginas | 352 |
Ano | 2022 |
Sumário | PARTE I. INTRODUÇÃO 1. Introdução aos microsserviços (Roan Brasil Monteiro) 2. Introdução aos sistemas distribuídos (Roan Brasil Monteiro) Definição de sistemas distribuídos Objetivos dos sistemas distribuídos Tipos de sistemas distribuídos 3. Definindo microsserviços (Roan Brasil Monteiro) Como diferenciar monolitos de microsserviços? Características dos microsserviços 4. Vantagens e desvantagens dos microsserviços (Roan Brasil Monteiro) Vantagens Desvantagens 5. Teorema de CAP (Roan Brasil Monteiro) PARTE II. ARQUITETURA 6. Conceitos (Eduardo Costa) Tipos de arquitetura Arquitetura evolutiva Arquitetura multicamadas Arquitetura hexagonal Arquitetura orientada a eventos Arquitetura monolítica Arquitetura orientada a serviços (SOA) (Norberto Hideaki Enomoto) 7. Construindo aplicações nativas para a nuvem (Eduardo Costa) Diferenças entre aplicações cloud native e tradicionais Previsibilidade Modo de operação Capacidade de crescimento Cooperatividade Forma de desenvolvimento Dependências Escalabilidade Recuperação de falhas 8. Orquestração de serviços (Daniel Gomes) Introdução O que é orquestração de serviços? Explorando uma solução arquitetural Conclusão 9. Coreografia (Daniel Gomes) Introdução O que é coreografia de serviços? Explorando uma solução arquitetural Orquestrar ou coreografar serviços? Vantagens da orquestração sobre a coreografia Vantagens da coreografia sobre a orquestração Os benefícios dos serviços de coreografia com fluxos de eventos Acoplamento de serviço independente para agilidade e tolerância a falhas Conclusão 10. Especificações e frameworks (Daniel Gomes/Vitor Miranda/Jonas Santos/Vinicius Ferraz/Felipe Santos/Norberto Hideaki Enomoto/Natália Gonçalves Rosa) Introdução Spring Boot e Spring Cloud (Daniel Gomes) Microsserviços com Spring Boot Spring Cloud: ecossistema dos microsserviços Exemplos Conclusão Micronaut (Vitor Miranda/Jonas Santos) Criando aplicação pela interface web Instalando o Micronaut Criando um projeto Micronaut Quarkus (Vinicius Ferraz/Felipe Santos) Integração com Spring Integração com Vert.x Conclusão Helidon (Norberto Hideaki Enomoto/Natália Gonçalves Rosa) Arquitetura Helidon Extensões Conclusão PARTE III. MODELAGEM E DESIGN 11. Domain-driven design (Albert Xavier) Domínio Bounded context Conclusão 12. Melhores práticas de modelagem de API (Edgar Silva/Dorival Querino) O Big Mandate da Amazon Modelando APIs com Swagger e Open API Introdução Criando APIs efetivas e reutilizáveis Práticas recomendadas e não recomendadas para APIs Versionamento de APIs Contratos de APIs como primeiro passo (API First) Criando contratos com Swagger Ferramentas Swagger: Swagger Editor Outras ferramentas interessantes para Swagger/OAS Conclusão 13. BFF (Backend For Frontend) (Jonas Santos) Conclusão 14. Decomposição de monolitos em microsserviços (Dorival Querino) Decomposição por business capabilities Vantagens Desvantagens Conclusão Decomposição por estrangulamento Exemplo Vantagens e desvantagens Conclusão Decomposição por subdomínio (Pedro Pereira/André Pontes Sampaio) Mas qual é a solução para definir um subdomínio? Conclusão Decomposição da base de dados (Pedro Pereira) Definindo uma abordagem para decomposição Visualização de dados Repositório por contexto limitado Dividir banco de dados com base nos domínios e subdomínios Decomposição incremental de cada banco de dados Decomposição lógica e física Potenciais problemas Conclusão PARTE IV. PADRÕES EM MICROSSERVIÇOS 15. Comunicação interprocessos (Karina Moraes) Serviço de descoberta Registro de serviços Descoberta de serviços via router Descoberta de serviços na aplicação cliente 16. Configuração externa (Carmem Pereira/Natália Gonçalves Rosa) Tipos de armazenamento de configuração externa Configuração em arquivo local Configuração externalizada com Spring Boot Configuração em armazenamento externo Arquitetura do padrão Prós e contras Spring Cloud Config Exemplo de código usando Spring (local YAML) Conclusão 17. Comunicação síncrona de serviços (Karina Moraes) Comunicação descentralizada e síncrona Comunicação orquestrada, sequencial e síncrona Comunicação orquestrada, paralela e síncrona Desvantagens da comunicação síncrona 18. Circuit breaker (Norberto Hideaki Enomoto/Natália Gonçalves Rosa) Estados do padrão de projeto circuit breaker Estado fechado Estado aberto Estado semiaberto Exemplo de código Conclusão 19. Padrões para composição de microsserviços CQRS (Otavio Santana) Conclusão API Gateway (Dorival Querino/Regiane Moura Mendonça) O que é API Gateway? Exemplos de API Gateway Servidores dedicados Serviços de gerenciamento de APIs (API management tools) Vantagens do API Gateway Cuidados com o API Gateway Conclusão O padrão SAGA (Rodrigo Branas/Roan Brasil Monteiro) A importância do contexto transacional Consistência em uma arquitetura de microsserviços Tipos de implementação Implementação do SAGA coreografado (Norberto Hideaki Enomoto) Conclusão 20. Sistemas reativos (Norberto Hideaki Enomoto) Introdução Desenvolvimento orientado a mensagem (message-driver development) Arquitetura de um message broker Exemplo de código Microsserviço “Producer” Microsserviço “Consumer” Desenvolvimento orientado a eventos (event-driven development) (Carmem Pereira/Natália Gonçalves Rosa) Eventos Características da EDA Considerações para escolha da EDA Topologia do event-driven Consumidores de eventos e estilos de processamento Padrões da EDA Vantagens da EDA Desvantagens da EDA Microsserviços reativos – Spring Webflux (Kamila Santos) Introdução Quais problemas o Webflux resolve Arquitetura Prós e contra dessa arquitetura Quando é recomendado (ou não) utilizar esta arquitetura PARTE V. TÓPICOS AVANÇADOS – ECOSSISTEMA 21. Melhores práticas para microsserviços (Eduardo Costa) Boas práticas para construção de aplicações nativas para nuvem com Twelve-Factor App O versionamento da sua aplicação Declaração explícita e isolamento de dependências Configurações pertencentes ao ambiente Tratar serviços de apoio como recursos que possam ser facilmente anexados Criação de releases versionadas e imutáveis que possam ser facilmente implantadas e retiradas de produção Aplicações não deverão possuir estado Gestão de atribuições de hosts e portas pela infraestrutura Maximização de robustez da aplicação com inicializações rápidas e desligamentos seguros Manter ambientes similares Escalando a aplicação horizontalmente Tratamento de logs como um fluxo de eventos Atenção às tarefas da administração 22. Virtualização (João Gilberto Magalhães) 23. Microsserviços na nuvem (Dorival Querino) Exemplo de microsserviços na nuvem Migrando a arquitetura para a nuvem Escolha do provedor Servidores na nuvem Serviços de banco de dados Armazenamento de objetos Contêineres na nuvem Serverless – microsserviços sem servidor O que é serverless? Funções serverless API Gateway Armazenamento de objetos Banco de dados SQL serverless Banco de dados NoSQL Fila de mensagens Orquestração de funções serverless Contêineres serverless Conclusão 24. Infrastructure as Code (IaC) (Dorival Querino) Ferramentas de IaC Terraform Gravando a configuração com o Console Recorder for AWS Conclusão 25. Introdução à malha de serviços (service mesh) (Norberto Hideaki Enomoto) Istio Arquitetura do Istio Componentes do Istio Envoy Istiod Conclusão 26. DevOps (Rodrigo Moutinho/Regiane Moura Mendonça/Abraão Santos) Vantagens e desvantagens com microsserviços 27. Integração contínua (Rodrigo Moutinho) Automatizando um microsserviço em Java Entrega contínua vs. Implantação contínua 28. Observabilidade (André Pontes Sampaio) A necessidade de observabilidade O que é observabilidade? Desafios de monitoramento de microsserviços para equipes DevOps Monitoramento versus observabilidade Observabilidade como cultura, e não como uma preocupação operacional Os três pilares da observabilidade Métricas Logs de eventos Rastreamento e monitoração sintética Resolvendo gargalos nos microsserviços Enfrentando os desafios no monitoramento de microsserviços AIOps O papel da AI/ML na monitoração das operações de TI Alerta com base em dados de monitoramento Melhores práticas para alertas Quais sinais de monitoramento geram valor ao negócio? Depurando falhas Olhando para o futuro: OpenTelemetry para melhor cobertura Conclusão 29. Segurança (Ronaldo Fernandes) Autenticação Autorização SSL/TLS JWT (Ronaldo Fernandes/Abraão Santos/Sandro Giacomozzi) Token Frameworks de segurança (Ronaldo Fernandes) Boas práticas Conclusão 30. Testes (Sandro Giacomozzi/Karina Moraes/Vitor Miranda/Jonas Santos) Testes de unidade JUnit Mocks Testcontainers (Sandro Giacomozzi) Banco de dados Estudo de caso com Spring Boot Conclusão Testes de integração e de contrato (Karina Moraes) |