なぜ必要なのか
ブラウザーで読む公開記事の一覧が完成したとします。編集者は更新を公開し、読者は安定したリンクで訪れ、公開に失敗したら誰かが復旧します。
「自分のPCでは動く」だけでは、利用者がどう入手し、失敗時に誰が復旧するか分かりません。ブラウザーのページ、ダウンロードするゲーム、オンラインサービスでは届け方も運用も違います。期待する体験を、繰り返せる公開手順と復旧可能な実行環境につなぐ必要があります。
どう解決するのか
- 利用者がどこで実行し、どう受け取るかを決めます。公開カタログはURLで開き、デスクトップゲームはパッケージやストアで入手できます。オンライン機能には、インストールされたクライアントと別に動き続けるサービスも必要かもしれません。一言の「配布」に含まれる責任を分けます。
- 基盤を選ぶ前に、予算、運用時間、許容停止、許容するデータ損失、復旧担当を合意します。これらは全体の決定です。AIはその範囲内で手順を作れますが、有料資源の追加や可用性の変更には該当する判断が必要です。慣れた製品に合わせて後から制約を変えません。
- ソースから利用者まで一回の公開を追います。再現可能な成果物を作り、プレビューや試験環境で検証し、版と設定を記録します。開発プロセスだけでなく提供するURLや導入パッケージを確認します。秘密情報や環境別設定を公開物に含めず、検証した物と配布する物を一致させます。
- 切り替え前に失敗を計画します。どの信号で中止し、誰が応答し、以前の利用可能な状態へどう戻すかを決めます。古いプログラムへ通信を戻しても、新しいデータベース書き込みは自動で消えません。ファイルの交換とデータの互換性・復旧を分けて確認します。
- 一部への先行公開が有用なら、比較対象、測定期間、拡大に必要な証拠を定めます。要求がない、または観測が欠けることは成功ではなく不確実性です。小さなサイトなら大きな段階公開の仕組みより、プレビューと切り替えで十分な場合があります。複雑さを実際のリスクに合わせます。
成果物、対象、検証、中止条件、復旧順序、担当者を短い手順書に残します。可能なら安全な環境で復旧を練習し、未検証部分も正直に記します。別の担当者が手順をたどり失敗を認識できることが大切です。計画自体はデプロイの許可ではありません。実行は、利用者が認めた公開作業の範囲内で行います。
担当者が復旧できる配布
架空の公開記事カタログ
- 成果物
- catalog-r17版を付けたHTML・素材・配布設定
- 配布先
- 公開ファイルホスト読者はブラウザーで画面を実行
- 確認
- 経路・本文・素材切替後の実際の配信経路を確認
- 復旧
- catalog-r16配布を止め、既知の正常成果物に戻す
- 担当者
- 配布の管理担当結果を記録し、検証失敗に対応
実配布を行わない静的な手順書です。ファイル配信・ブラウザー実行・任意のサービス運用は異なる責務です。
どんな考え方なのか
ランタイムは実行場所、配布は入手方法、ホスティングはファイルやサービスを提供する役割です。デプロイとリリース手順がこれらを結びます。Google SREのカナリア指針は限定した公開での評価を説明します。ホストの商品名や切り替え方式を計画全体と考えず、合意した運用・復旧条件を満たす手順を選びます。
この選択を話し合う
コメントは全言語で共有。投稿にはGitHubログインが必要です。