ここんとこレガシーPHP改善日記がらみで仮想化技術や構成管理ツールをいじってました。(Xen、VirtualBox、Chef、Ansible、Dockerとか)
結局、"ほぼすべてを使ってみて、そして全て捨てたあとでさあどうしよう"という感じです。こんな苦労はしたくなかった。
全体的な傾向
古いものは大がかりで新しいものは無駄が少ない。
- 実用的な機能を備えたツールが出る
- パワーアップ版が出る
- ミニマル版が出る
イメージ方式(別名秘伝のタレ方式)とレシピ方式がある。
これはプログラム言語でいうとイメージ方式のSmalltalk vs レシピ方式のC言語みたいな構図にある。
イメージ方式は作成が楽で自由度が高い反面、分割再利用が難しい(秘伝のタレ化)。また成果物がデカイ。
レシピ方式は分割再利用が容易な反面、作成が辛い。また成果物は小さいが実行する必要があるので遅い。
現実
- 他人のイメージ/レシピはなぜか使わない。(書き方をパクって自分のレシピに入れることはする)
- 結局全部自分で作る/書くことになる。
- PCセットアップ時に一回取ってくるぐらいなのでサイズどうでもいい。
結論
こと開発環境については何を選んでも苦しみはなくならない。ブッチギリの優位性もない。なので好きなの使え。(環境を導入する側が楽なツールが比較的良いですねぐらい)