Capítulo 46 — Projeto final de engenharia II
Mapa da aula
Aula 46 publicada. Mapa, exemplo, EX136.
flowchart TD
N0["46.1 Construindo"]
N1["46.2 Primeiro ensaio"]
N2["46.3 Melhorias"]
N3["46.4 Repetibilidade"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX136"]
Desenho lógico
flowchart LR
N0["46.1 Construindo"]
N1["46.2 Primeiro ensaio"]
N2["46.3 Melhorias"]
N3["46.4 Repetibilidade"]
N0 --> N1 --> N2 --> N3 --> Q["EX136"]
[46.1 Construindo]
|
v
[46.2 Primeiro ensaio]
|
v
[46.3 Melhorias]
|
v
[46.4 Repetibilidade]
|
v
[Exemplo resolvido] --> [Exercício EX136]
Objetivos de aprendizagem
Você vai (1) construir e testar uma capacidade de recuperação; (2) medir em relação a um objetivo; (3) iterar até que o objetivo seja atingido.
46.1 Construindo
Lindiwe constrói o ambiente de recuperação em máquinas virtuais isoladas e escreve scripts para reconstruir cada componente do despacho: a conexão com o diretório, a fila de mensagens, o banco de dados, os servidores de aplicação, os certificados e o servidor de licenças. Cada script é idempotente, produzindo o mesmo resultado quando executado duas vezes, de modo que uma falha parcial pode ser repetida com segurança. Ela testa os scripts individualmente antes de combiná-los, mantendo um registro dos problemas encontrados e corrigidos. Ela guarda todos os scripts no controle de versão e registra cada execução de teste, com a data e o resultado, num diário do projeto.
46.2 Primeiro ensaio
O primeiro ensaio cronometrado leva seis horas e quarenta minutos, bem acima do objetivo de quatro horas. A maior parte do tempo vai para restaurar o banco de dados a partir do backup e para os passos manuais dos certificados. Lindiwe registra a linha do tempo minuto a minuto. O Prof. Hale lembra que um primeiro ensaio reprovado é normal e que a linha do tempo mostra exatamente onde trabalhar, o que é mais útil do que uma vaga impressão de que a recuperação é lenta. Ela compartilha a linha do tempo com o líder de segurança, destacando as duas maiores fontes de atraso.
46.3 Melhorias
Lindiwe faz três mudanças: restaurar o banco de dados a partir de um snapshot mais recente guardado no sistema de backup imutável, automatizar a instalação dos certificados e iniciar em paralelo os componentes independentes. O segundo ensaio leva quatro horas e dez minutos. Uma terceira mudança, preparar de antemão as imagens dos servidores de aplicação, leva o terceiro ensaio a três horas e vinte minutos, dentro do objetivo. Ela registra cada mudança e seu efeito sobre a linha do tempo. O Prof. Hale pede que ela coloque os três ensaios lado a lado num gráfico, mostrando como cada mudança encurtou uma parte específica da linha do tempo.
46.4 Repetibilidade
Um único ensaio bem-sucedido pode ser sorte. Lindiwe executa mais dois ensaios, em dias diferentes, com membros diferentes da equipe seguindo o runbook. Ambos terminam em até quatro horas. Ela observa que o passo mais lento que resta é a restauração do banco de dados, que cresce com o volume de dados, então o objetivo pode deixar de ser cumprido à medida que os dados do despacho crescerem. Ela recomenda repetir o ensaio a cada seis meses e depois de grandes mudanças. O líder de segurança inclui o ensaio semestral no calendário de segurança e designa um dono. Lindiwe escreve o procedimento para que funcionários novos possam conduzi-lo.
Exemplo resolvido
Lindiwe constrói scripts de recuperação idempotentes, mede um primeiro ensaio de 6 horas e 40 minutos, melhora para 3 horas e 20 minutos e confirma a repetibilidade com outras pessoas da equipe.
Caso sintético. Os ensaios são sintéticos.
Erros e limites
Um único ensaio de recuperação bem-sucedido não prova que a recuperação é confiável.
Exercícios
-
EX136 — Tempo do primeiro ensaio. Quanto tempo levou o primeiro ensaio? Rubrica: 3 = seis horas e quarenta minutos;; 2 = parcialmente correto;; 1 = errado;; 0 = nenhuma.
-
EX137 — Significado de idempotente. O que idempotente significa para os scripts dela? Rubrica: 3 = o mesmo resultado quando executados duas vezes;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX138 — Passo lento restante. Qual continua sendo o passo mais lento? Rubrica: 3 = a restauração do banco de dados;; 2 = parcialmente correto;; 1 = outro;; 0 = nenhuma.
Continue estudando — aula 46 (capítulo 46 de 50)
← Capítulo 45 · Índice das aulas · Capítulo 47 →
Continue para a próxima aula já escrita.