SYSTEM-1-4 · システム · v202506

インフラ構成とシステム要素のプロビジョニングをソースコードとして実行可能な形式にした上で、バージョン管理システムで管理しているか。(Infrastructure as Code)

バージョン管理プラクティス

FAQ

Q.おおよその構成はできているのですが、すべてがコードで管理されているわけではありません。この場合もNoになりますか?

すべての領域を徹底してインフラをコードとして扱うことは難しいため、必ずしも何もかもをやる必要はないのですが、コードとして実装されたものが最新ではなく一時的にしか動いていないのであれば、コード化する意味もなくなってしまいます。有効に機能していればYESで良いかと思います。

用語解説

プロビジョニング

ハードウェアの自動構成やサーバの自動起動、仮想化されたコンピューティングリソース(CPU、メモリ、ストレージ、アプリケーションなど)をオンデマンドかつ動的に割り当てる技術などをいいます。

Infrastructure as Code

AnsibleやChefなどのプロビジョニングツールを利用し、インフラ構成や設定内容をコード化すること。ソフトウェアと同様にバージョン管理が可能になると同時に、共有化再利用が可能となる。クラウド化により環境移管が容易になることでその価値は高まっていくでしょう。

バージョン管理はなぜ重要か?

簡単に言うと、バージョン管理は「Officeファイルの版管理」のようなものです。企画書やプレゼン資料を作成する時に「v1.0」「v2.0」「v2.1_最終版」といったファイル名で管理したり、Wordの「変更履歴の記録」機能を使ったりしますよね。これにより、どのバージョンがいつ作られたか、誰がどんな変更をしたかがわかり、問題があれば前のバージョンに戻すことができます。チームで同じ資料を編集する場合も、変更履歴があることで作業の重複を避け、互いの変更内容を把握できるのです。ソフトウェア開発でも全く同じで、コードの変更を体系的に管理することで、開発チーム全体の効率と品質を向上させることができます。

カテゴリ解説を読む