プロジェクトでの変化
- 権限管理yaml駆動で柔軟に追加・編集
- 運用負荷管理画面UIの整理で軽減
- 開発環境Docker化で再現可能に
課題
動いている Rails 基盤の、管理画面の権限制御が広げにくくなっていました。機能を1つ足すたびに、権限まわりの作り込みが膨らんでいきます。運用を担当するのは専任のエンジニアではありません。画面が分かりにくければ、その負荷はそのまま問い合わせの件数として返ってきます。既存の Rails 資産は活かしたい。そのうえで権限と管理画面の両方を、広げやすく迷わない形に作り直す必要がありました。
アプローチ
- 01 既存Rails基盤の構造とビジネスロジックを棚卸しし、改修範囲を特定しました
- 02 管理画面の権限制御を yaml ファイル駆動に再設計し、定義の追加・編集を簡素化しました
- 03 左メニュー・第二階層コントローラの権限定義パターンを統一しました
- 04 運用部門の動線を意識して管理画面UIを整理しました
- 05 Docker により開発環境を統一し、ローカル〜本番までの再現性を確保しました
- 06 機能追加を段階的にリリースし、運用への影響を最小化しました
成功要因
- yaml駆動の権限定義
- 権限制御を yaml で外出しし、新規メニュー追加時のコード改修を不要にしました。
- 運用部門起点のUI整理
- 管理画面を運用部門の業務動線に合わせて整理し、問い合わせ件数の増加を抑えました。
- 既存資産の活用
- 既存の Rails + MySQL 基盤を作り直さず、改修範囲を権限と管理画面に絞りました。
- 段階リリース運用
- 機能追加を段階的にリリースし、運用部門が無理なく慣れられるようにしました。
ソリューション
Rails + MySQL の基盤はそのままに、権限制御だけを yaml で定義する仕組みへ設計し直しました。左メニューも配下のコントローラも、コードを書かずに yaml の追記だけで足せます。管理画面のUIは運用部門の動線に合わせて並べ替えました。問い合わせの発生源を、画面の側から減らす狙いです。