#Book ## 4-1 デプロイ/リリース - インプレースデプロイ - 1つの環境を旧環境から新環境へ上書きする - コストが低いが、ダウンタイムが発生する - ローリングアップデート - 稼働中のサービスを少しずつ新しいものに置き換える - フロントとバックエンドでIFが合わなくなるなどの危険性がある - 以前の安定していたバージョンへ戻すこと = デプロイメントサーキットブレーカー - ブルーグリーンデプロイメント - 新しい環境に新バージョンのサービスをデプロイしたのち、アクセスを切り替える - ダウンタイムもなく、一度にアクセスを切り替えられる - 切り戻しもすぐに完了する - [[🗃️カナリアリリース]] - リリーストレイン - 定期的なリリース日を決めておき、そこに間に合ったものだけをリリースするというプラクティス ## 4-2 モニタリング - [[🗃️メトリクス]] - 自動警告の通知基準として使うのに適している - [[🗃️ログ]] - アクセスもとが特定できるセッションや、アクセストークンなど流出すると危険な情報はログに出力しない - [[🗃️トレース]] - [[🗃️オブザーバビリティー]] - 開発者が主体的に携わっていくことが大切 - 有用な[[🗃️ログ]]を出力する - 日時 - アクセス元の識別情報 - アクセス先のリソース - 処理内容、処理対象 - 処理結果 - 関数に渡されたパラメーターの内容 ## 4-3 ドキュメント - READMEファイル - 実行環境 - 開発環境の構築手順 - Playbook / Runbook - 障害についての、手順や対応をまとめたドキュメンt - モニタリング内容 - モニタリングの目的、アラートの設置理由 - 💭結構、ここを定義せずにアラートを設定するから、これは明記したいかも - アラート発生のトリガー - 調査方法 - 対処方法 - [[🗃️Diataxis]]フレームワーク - 目的が重要。見る人がいないドキュメントには価値がない - 目的が混ざったドキュメントは、読み手が混乱してしまう。何を書くべきか明確にする - 💭初知り -