> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/ja/2020/w52-looking-at-frontend-production-safety-through-d2.md).

# W52-D2から見るフロントエンドの本番運用の安全

最近、D2を少し見た。今年は初めて、フロントエンドの本番運用の安全を扱うセッションが設けられた。アリババの考え方や実践が紹介され、示唆を得た。安全な運用を支える基盤を、どの方向へ改善すべきかが明確になった。

彼らは体系を0から1へ作る過程を、三つの段階に分けている。単独の仕組みによる安全の保証、複数の独立した縦割りの仕組みによる保証、体系化されたフロントエンドの安全保証だ。

この尺度では、私たちは第一段階の仕上げに取り組んでいるところで、0.3ほどの位置だろう。基本的にはRaptorの本番監視という単独の仕組みに頼っている。補助的な対策もあるが、標準化や使いやすさが足りず、効果は限られる。静的コード解析、開発規約の検査、カバレッジ報告などだ。

UIの自動回帰テスト、段階配信中の監視、問題の自動診断、障害の自動復旧など、多くの能力を補う必要がある。そこまでできれば、第三段階に近づく。

第三段階では、個々の対策、システム、プラットフォームをつなぎ、大きく体系化された安全な運用環境を作る。たとえばフロントエンドとバックエンドの公開が分断される問題を解き、連動した段階配信と全経路の負荷試験を強化する。Cloud IDEを使って開発者の行動データをオンライン化し、開発パイプライン全体をよりよく統合する。テストとの自動連携により、手動テストを省ける割合を増やし、効率を上げる。

結局、運用の安全を支える考えは変わらない。機械と仕組みで人を守ることだ。
