会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

戻せるデプロイと、止めない更新 ― 機能フラグ・OSと部品の更新

目安学習時間 15分

課題

全問正解でレクチャー完了です。

【問題1】

OSやデータベースの更新を後回しにし続けたときに起きやすいこととして、この講座が説明しているものはどれですか。

[選択肢]

【問題2】

機能フラグについて、この講座の説明に合うものはどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

戻せる変更にしておく

デプロイ(新しい版を本番に出すこと)で問題が出たとき、すぐ前の版に戻せるかで、障害の長さが決まります。戻せる変更にするための考え方は3つです。

  • 小さく出す: 一度に出す変更が小さいほど、何が原因か分かり、戻すのも簡単
  • データの変更は、古い版でも新しい版でも動く形にする: 第2回の「広げる → 埋める → 締める」は、そのための手順でもある。列を足しただけの段階なら、古い版に戻しても動く
  • 戻せない変更は、別に出す: データを消す・埋め直すなど、戻せない変更はほかの変更と混ぜない

機能フラグ:出すことと、見せることを分ける

機能フラグは、コードは本番に出しておき、誰に見せるかを設定で切り替える仕組みです。

naminori のAIキャリア診断は、この形で作りました。

  • 公開のフラグが OFF の間は、管理者としてログインしている人だけが使える
  • フラグは管理画面から切り替えられる。デプロイしなくても、公開・非公開を変えられる
  • 回答を暗号化するための鍵が無い環境では、フラグに関係なく機能ごと止まる

こうしておくと、本番の本当のデータと環境で管理者が先に確かめてから公開でき、問題があればデプロイせずにすぐ引っ込められます。ただし、フラグは増えるほど組み合わせが増えます。公開して落ち着いたフラグは、片付ける予定も一緒に決めておきます。

デプロイの手順を1本にする

デプロイのやり方が人によって違うと、事故が起きたときに何が違ったのか分かりません。naminori では、デプロイは1つのスクリプトで行い、変更は必ずレビューの仕組み(プルリクエスト)を通してから本番に出します。スクリプトは、必要な設定がそろっているかを先に確かめ、本番に出す前には確認を求めます。

OSと部品の更新を止めない

OS・データベース・言語・ライブラリには、サポートの期限があります。期限が過ぎると、見つかった脆弱性(セキュリティの穴)が直されなくなります。

更新を後回しにすると、一度に上げる段数が増えます。naminori の本番サーバの更新(2026年10月)は、まさにそうでした。

  • データベースの古い版は、本家のサポートが2026年11月で終わる予定だった
  • OSは、新しい版へ直接は上げられず、2段階(1つ上の版を経由)で上げる必要があった
  • 夜中にメンテナンス表示を出して作業し、止めていた時間は44分(上限は90分と決めていた)

止めて行う更新は、準備が本体です。naminori では、事前に次を確かめました。

  • 今のプログラムが、新しいOSの上でもそのまま動くか(手元で再現して確認)
  • データベースを新しい版に移したとき、全テーブルの件数が一致するか(106テーブルが一致)
  • 途中で失敗したときの戻し方(段階ごとの戻し方と、サーバ全体の写しから戻す方法)

小さな更新は、利用者の少ない時間に自動で

一方、日々の小さな更新は自動で当てています。ただし、自動更新の時刻を既定のままにしていたところ、平日の午後3時台にデータベースの更新が入って約4秒止まり、その間のアクセス2件がエラーになりました。そこで、自動更新の時刻を深夜3時に変えています(この変更もサーバの上だけの設定なので、台帳に書いてあります)。

言語の版を脆弱性の対応で上げたときは、古い版も戻す用に残してから切り替えました。

この講座のまとめ

  • 保守運用の第一前提は、長期的に困らない設計を最初からすること
  • データは、広げる → 埋める → 締める。新しい約束は新しいデータにだけかける
  • 「動かなかった」ことに気づく仕組みを、処理と一緒に作る
  • 通知は重さと行き先を分け、次にやることを添える
  • ログは、いつ・誰が・何を。出さないものと、残す期間を決める
  • 設定はコードに。できないものは台帳に
  • 戻せる形で出し、更新を溜めない

このレクチャーで学ぶこと

  • 戻せる変更にする3つの考え方
  • 機能フラグで、出すことと見せることを分ける(naminori の実例)
  • デプロイの手順を1本にする
  • OSと部品の更新を止めない、講座のまとめ

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。