構成管理に関する世界観です。
構成管理(CM)とはConfiguration Managementの略。
サーバを運用する際、事前に設定ファイルを記述することで、サーバの管理や設定を自動化してくれる。
後日注記:たとえばAnsibleでは、システムの「状態」を設定ファイルPlaybookに記述し、この「状態」がサーバシステムの構成に反映される。
2023.11.08編集
Chefは構成管理ツール。特にChefはRubyでスクリプトを書くことからRuby使いに支持者が多い。
後日注記:Chefではサーバ管理者をChef(料理人)と見立てて、RubyによるRecipeとRecipeを管理するCookbookにより、サーバシステムの構成と管理を自動化できる。
Chefを使ってLAMP環境を構築するには、以下が参考になるかもしれません。
2023.11.08編集
PuppetもChefと同様の構成管理ツール。設定ファイルmanifest(マニフェスト)とpuppetコマンドにより、サーバシステムの構成と管理を自動化できる。
2023.11.08編集
サーバを立ち上げる際にインストールや設定を自動化できる構成管理ソフト。
Ansibleを使うことで、SSHによってリモート接続してシステムに必要なミドルウェアの導入・設定・更新ができる。
Ansibleでは、YAML形式のPlaybookにより、リモートマシンのシステムの「状態」を記述する。Playbookに記述した状態が、リモートマシンのシステムに反映される。
この時、Rolesという機能を使うことで、Playbookをそれぞれ適度な大きさに分割することができる。
Fedora 30のサーバーエディションやそれ以降のFedora/RHELでは、このRolesを基にした「Linux System Roles」が実装されていて、システムの重要なソフトウェア・コンポーネントに統一されたインターフェースによる設定の自動化システムを提供している。
2023.11.04編集
軽量な構成管理ツール。Chefよりも簡単で導入しやすい。
Dockerも参照のこと。
クラウドも参照のこと。