14.3. 本番向けの堅牢化

堅牢化されたアプリケーションは、目の届かないハードウェア上で無人のまま動き続けます。このセクションのページでは、動作するアプリケーションを、自身の障害から回復し、後で診断するのに十分な証拠を残すものへと変える、ランタイムの規律を扱います。

4つの要素を、それぞれが次を支えるように順序立てて並べています。ロギングが最初に来るのは、ほかのすべてがそこに書き込むからです。ウォッチドッグはハングを処理し、捕捉した内容をログに記録します。ファイルシステムの衛生管理は、アプリケーションが現地で数か月から数年かけてレコードを蓄積していっても、ログ書き込みを高速に保ちます。セキュリティのページは、フラッシュ読み出し保護が何をカバーし、それを有効化する作業が実際にどのようなものかで締めくくります。これはアプリケーションコードの機密性が製品要件である場合に関係します。

最初の3つは、出荷されるすべてのカメラに当てはまります。ウォッチドッグの欠如は、誰も回復できないハングです。ロギングの欠如は、現地に証拠を残さなかったクラッシュです。ファイルシステムの衛生管理の欠如は、フレームレートを道連れにしたログファイルのフラットなディレクトリです。

4つ目、読み出し保護は状況次第です。出荷されるカメラの多くは、すでに物理的アクセスが管理されている場所に設置されています。工場、固定設備、警備された運用担当ステーション、施錠された筐体の内側などです。そうしたデプロイでは、ファームウェアをロックダウンするエンジニアリングコストは正当化されません。このページでは、それが正当化される場合にコストがどのようなものになるかを扱います。