Microsserviços prontos para a produção

Construindo sistemas padronizados em uma organização de engenharia de software

Microsserviços prontos para a produção
× Microsserviços prontos para a produção

Microsserviços prontos para a produção

Compartilhar

Autor: Susan J. Fowler

ISBN impresso: 978-85-7522-621-6
ISBN ebook: 978-85-7522-747-3
Ano: 2017
Páginas: 224
Preço impresso: R$ 69,00 O ebook deste livro está disponível na Amazon.

2 opiniões | Opine sobre este livro

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.

Ver menos ▲

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
Ver sumário completo ▼

Sobre o autor

Susan J. Fowler

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 ▶

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.

Ver todas ▼