書き始め
試験環境や本番環境を作成するツールがあると聞いて調べ始めた...
agrant/Chef/Docker これって何ができるのかまったく理解出来ない、取りあえずやりたい事はアプリを動かす為に必要なサーバーのインストールや設定がコマンド一発で出来ると思って調べているのだが、なかなかハードルは高い。
それぞれのツールで何が出来るのかをまず理解しないと先に進めない、ネットで調べていくと私が理解すべき(必要としている機能を持っている)ツールはchefであろうというところまではたどりついた。
chefの説明を読んでいると、Vagrantが頻繁に出てくる、ここでまたつまずいた...
まずはツールの体系を理解する
コードによるインフラ構成管理はなぜ必要? 今さら聞けない「Infrastructure as Code」
infrastructure as Codeは大きく分けて
* OSの起動を自動化するツール(Bootstrapping)
OS install
Cloud or VM Image Launch
* OSやミドルウエアの設定を自動化するツール(Configuration)
System Configuration
* 複数サーバの管理を自動化するツール(Orchestration)
Application Service Deployment
で構成され、私に必要なツールは
OSやミドルウエアの設定を自動化するツール(Configuration)
という整理が出来た。
ツール類の分類
OSの起動を自動化するツール(Bootstrapping)
- KickStart
- Vagrant
- Docker
OSやミドルウエアの設定を自動化するツール(Configuration)
- Chef
- Ansible
-
Puppet
Puppet運用テクニック -
fabric
シェルに毛が生えた程度らしい
複数サーバの管理を自動化するツール(Orchestration)
- Serf
- Capistrano
参照サイト
あとがき
Configurationツールの説明読むと大体、Vagrantを使って...が書いてある。
これが余計話をややこしくする、インフラ系のツールはツールの分類を頭にいれて読まないと何がなんだかわからなくなってしまいますね。