本記事では、ディレクトリ構成の検討手順と、検討する際に押さえておきたい観点を整理しました。
特定の技術に依存しない、汎用的な視点でまとめてみました。
職場の事情や技術要素に応じて、最適な構成は異なるでしょうが、
構成検討や見直しの際に、何かしらのヒントになれば幸いです。
■ディレクトリ構成の検討手順
状況によって進め方も異なるでしょうが、一例として記載します。
-
技術要素の確認
本番環境とステージング環境でサーバが違うのか、同じなのかによって構成が変わってくる。
ミドルウェア事情によっても構成が変わってくる可能性あり。 -
会社や案件の事情や要件を確認する
組織体制、運用方針、既存資産など、背景事情を把握する。 -
前提条件・要件の整理(構成に閉じた内容)
具体的な構成よりも前に、前提条件や要件について関係者と認識合わせする。
大まかな方針についてもここで合わせて確認できると良い。 -
構成案の検討・構成図作成
実際に案を作成し、構成図で可視化する。 -
関係者への提案・相談
システム間連携用フォルダなど優先度が高いものは特に早めに実施する。
変更や追加は発生する可能性があるため、大枠について方針を固める。 -
開発で使用しながら適宜修正
最終形ができて構成が固まったら、ドキュメントに反映して完了。
■ディレクトリ構成検討時の観点一覧
観点 | 内容 | ディレクトリ検討時の対応 | 補足 |
---|---|---|---|
構成統一 | 各環境の差分を最小化し、差分の管理方法が統一できているか | 差分以外は共通の構成にする | ー |
わかりやすさ | 誰が見ても迷わない、直感的にわかりやすい構造か | 命名規則の統一、階層の深さを抑える、用途別に整理する | ー |
変更対応力 | アプリ追加やサーバ更新などが必要になったときに変更しやすいか | 簡潔かつ決まった方法で追加や移行ができる構成にする | 影響が起きにくい構成なのかも考慮出来た方が良い |
運用安定性 | 誤操作が起きにくいか | 関係ないディレクトリに触らなくても良い構成にする | アクセス制御がない場合に特に注意 |
アクセス制御 | 業務やシステム要件を満たす権限設定が行いやすいか | 設定対象ディレクトリが少なくなる構成にする | 設定箇所が多いと、対象把握や設定漏れが発生する可能性が高くなる |
アプリ単位 | アプリごとに管理しやすいか、他アプリに影響でない構成か | アプリ名ごとに分離する | 同じサーバで複数アプリが動く場合に分離 |
環境 | 開発(DEV)/ステージング(STG)/本番(PRD)など、目的が異なる環境を分ける | 環境ごとに分離する | 同じサーバで複数環境を動かす場合に考慮が必要になる |
組織・役割単位 | ベンダーごと、運用・開発チームなど、組織やチーム単位で分けやすいか | 組織やチーム別にフォルダを分離しやすい構成にする | アプリの構成も分離可能な作りにする対策が必要 |
バージョン管理 | バージョン管理しやすいか | 環境が異なっても、同じディレクトリを使うなど、バージョンごとの差分がわかりやすいようにする | ー |