14.3. Endurecimento para produção

Uma aplicação endurecida continua rodando sem supervisão em um hardware que não se pode ver. As páginas desta seção cobrem a disciplina de tempo de execução que transforma uma aplicação funcional em uma que se recupera de suas próprias falhas e deixa evidências suficientes para diagnosticá-las depois.

Quatro peças, ordenadas para que cada uma sustente a seguinte. O logging vem primeiro porque tudo o mais grava nele. O watchdog lida com travamentos e registra no log o que capturou. A higiene do sistema de arquivos mantém as gravações de log rápidas conforme a aplicação acumula registros ao longo de meses ou anos em campo. A página de segurança encerra com o que a proteção de leitura da flash cobre e como é, na prática, o trabalho para habilitá-la – relevante quando a privacidade do código da aplicação é um requisito do produto.

As três primeiras se aplicam a toda câmera em produção. Um watchdog ausente é um travamento do qual ninguém consegue se recuperar; logging ausente é uma falha que não deixou evidência de campo; higiene de sistema de arquivos ausente é um diretório plano de arquivos de log que derrubou a taxa de quadros junto.

A quarta, a proteção de leitura, é situacional. Muitas câmeras em produção ficam em locais onde o acesso físico já é controlado – fábricas, instalações fixas, estações de operador protegidas, atrás de gabinetes trancados – e o custo de engenharia de bloquear o firmware é injustificável para essas implantações. A página cobre como esse custo se parece quando é justificável.