Microsserviços prontos para a produção
Construindo sistemas padronizados em uma organização de engenharia de software
Descrição do livro
Um dos maiores desafios para as empresas que adotaram a arquitetura de microsserviços é a falta de padronização de arquitetura – operacional e organizacional. Depois de dividir uma aplicação monolítica ou construir um ecossistema de microsserviços a partir do zero, muitos engenheiros se perguntam o que vem a seguir. Neste livro prático, a autora Susan Fowler apresenta com profundidade um conjunto de padrões de microsserviço, aproveitando sua experiência de padronização de mais de mil microsserviços do Uber. Você aprenderá a projetar microsserviços que são estáveis, confiáveis, escaláveis, tolerantes a falhas, de alto desempenho, monitorados, documentados e preparados para qualquer catástrofe.
Explore os padrões de disponibilidade de produção, incluindo:
Estabilidade e confiabilidade – desenvolva, implante, introduza e descontinue microsserviços; proteja-se contra falhas de dependência.
Escalabilidade e desempenho – conheça os componentes essenciais para alcançar mais eficiência do microsserviço.
Tolerância a falhas e prontidão para catástrofes – garanta a disponibilidade forçando ativamente os microsserviços a falhar em tempo real.
Monitoramento – aprenda como monitorar, gravar logs e exibir as principais métricas; estabeleça procedimentos de alerta e de prontidão.
Documentação e compreensão – atenue os efeitos negativos das contrapartidas que acompanham a adoção dos microsserviços, incluindo a dispersão organizacional e a defasagem técnica.
Sumário
- Prefácio
- Capítulo 1 ■ Microsserviços
- De monólitos a microsserviços
- Arquitetura de microsserviços
- Ecossistema de microsserviços
- Camada 1: Hardware
- Camada 2: Comunicação
- Camada 3: a plataforma de aplicação
- Camada 4: Microsserviços
- Desafios organizacionais
- Lei de Conway Reversa
- Dispersão técnica
- Outras maneiras de falhar
- Competição por recursos
- Capítulo 2 ■ Disponibilidade de produção
- Desafios da padronização de microsserviços
- Disponibilidade: o objetivo da padronização
- Padrões de disponibilidade de produção
- Estabilidade
- Confiabilidade
- Escalabilidade
- Tolerância a falhas e prontidão para catástrofes
- Desempenho
- Monitoramento
- Documentação
- Implementando a disponibilidade de produção
- Capítulo 3 ■ Estabilidade e confiabilidade
- Princípios para construir microsserviços estáveis e confiáveis
- Ciclo de desenvolvimento
- Pipeline de deployment
- Staging
- Pré-release (fase canary)
- Produção
- Impondo uma implantação estável e confiável
- Dependências
- Roteamento e descoberta
- Descontinuação e desativação
- Avalie seu microsserviço
- Ciclo de desenvolvimento
- Pipeline de deployment
- Dependências
- Roteamento e descoberta
- Descontinuação e desativação
- Capítulo 4 ■ Escalabilidade e desempenho
- Princípios de escalabilidade e desempenho de microsserviços
- Conhecendo a escala de crescimento
- A escala de crescimento qualitativa
- Escala de crescimento quantitativo
- Uso eficiente de recursos
- Percepção de recursos
- Requisitos de recursos
- Gargalos de recursos
- Planejamento de capacidade
- Escalamento de dependências
- Gerenciamento de tráfego
- Tratamento e processamento de tarefas
- Limitações da linguagem de programação
- Tratando das solicitações e processando tarefas de modo eficiente
- Armazenamento escalável de dados
- Escolha do database em ecossistemas de microsserviços
- Desafios de databases na arquitetura de microsserviços
- Avalie seu microsserviço
- Conhecer a escala de crescimento
- Uso eficiente de recursos
- Percepção de recursos
- Planejamento de capacidade
- Dimensionamento das dependências
- Gerenciamento de tráfego
- Tratamento e processamento de tarefas
- Armazenamento escalável de dados
- Capítulo 5 ■ Tolerância a falhas e preparação para catástrofes
- Princípios de construção de microsserviços tolerantes a falhas
- Evitando pontos únicos de falha
- Cenários de catástrofes e falhas
- Falhas comuns em um ecossistema
- Falhas de hardware
- Falhas no âmbito da comunicação e plataforma de aplicação
- Falhas de dependência
- Falhas internas (microsserviço)
- Teste de resiliência
- Teste de código
- Teste de carga
- Teste de caos
- Detecção e reparo de falhas
- Incidentes e interrupções
- Categorização adequada
- Os cinco estágios da resposta a incidentes
- Avalie seu microsserviço
- Evitando pontos únicos de falha
- Cenários de catástrofes e falhas
- Teste de resiliência
- Detecção e reparo de falhas
- Capítulo 6 ■ Monitoramento
- Princípios do monitoramento de microsserviços
- Métricas principais
- Logging
- Dashboards
- Alertas
- Configurando alertas eficazes
- Tratando alertas
- Turnos de plantão
- Avalie seu microsserviço
- Métricas principais
- Logging
- Dashboards
- Alertas
- Turnos de plantão
- Capítulo 7 ■ Documentação e compreensão
- Princípios de documentação e compreensão de um microsserviço
- Documentação de microsserviços
- Descrição
- Diagrama da arquitetura
- Informações de contato e plantão
- Links
- Guia de bordo e desenvolvimento
- Fluxos de solicitações, endpoints e dependências
- Roteiros de plantão
- FAQ
- Compreensão do microsserviço
- Revisões de arquitetura
- Auditorias de disponibilidade de produção
- Planos estratégicos de disponibilidade de produção
- Automatização da disponibilidade de produção
- Avalie seu microsserviço
- Documentação do microsserviço
- Compreensão do microsserviço
- Apêndice A ■ Checklist de disponibilidade de produção
- Um serviço pronto para produção é estável e confiável quando:
- quer catástrofe quando:
- Um serviço pronto para produção é adequadamente monitorado quando:
- Apêndice B ■ Avalie seu microsserviço
- Estabilidade e confiabilidade
- Ciclo de desenvolvimento
- Pipeline de deployment
- Dependências
- Roteamento e descoberta
- Descontinuação e desativação
- Escalabilidade e desempenho
- Conhecer a escala de crescimento
- Uso eficiente de recursos
- Percepção de recursos
- Planejamento de capacidade
- Dimensionamento das dependências
- Gerenciamento de tráfego
- Tratamento e processamento de tarefas
- Armazenamento escalável de dados
- Tolerância a falhas e preparação para catástrofes
- Evitando pontos únicos de falha
- Cenários de catástrofes e falhas
- Teste de resiliência
- Detecção e reparo de falhas
- Monitoramento
- Métricas principais
- Logging
- Dashboards
- Alertas
- Turnos de plantão
- Documentação e compreensão
- Documentação do microsserviço
- Compreensão do microsserviço
- Glossário
Sobre o autor
Susan Fowler é uma engenheira de confiabilidade da Uber Technologies, onde ela divide seu tempo entre implantar uma iniciativa de disponibilidade de produção em todos os microsserviços do Uber e integrar-se a equipes de aplicações críticas para o negócio, buscando tornar seus serviços prontos para produção. Depois de estudar física de partículas… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Ronaldo R
Ótimo conteúdo em termos de conceitos e aplicações de microserviços. Importante para quem quer iniciar os estudos ou entender melhor o ambiente de construção, gerenciamento e uso.
Edson S de A
O livro oferece uma abordagem para estabelecer a qualidade de microsserviços. A abordagem é discutida em uma disciplina de Testes de Software no curso de ADS.






