サーバプロビジョニング
流行ってるからまとめ。
サーバプロビジョニングレイヤー定義
- Bootstrapping
- Configuration
- 説明
- ミドルのインストール/設定
- ツール
- Puppet
- Chef
- Ansible
- OpsWorks
- 説明
- Orchestration
Serf
Orchestrationの中で一番Hotっぽいから取り上げとく。
コンテナ
単機能・軽量なVM。
- Docker
- ポータブルなのでローカル環境と本番環境で同じコンテナが使える
- つまりローカルで十分テストした後にそのままデプロイすることができる。
- 1コンテナ1機能と単純化してそれらを組み合わせてサービスをつくることが可能
これからのサーバプロビジョニング[2014/02/14に書いた]
- テスト駆動でインフラ構築
- BootstrappingにDocker
- PuppetやChef
- テストにserverspec
- インフラCIで継続的インフラテスト
- Jenkins
- テストが通ったらコンテナまるごとデプロイ
- Messos/YARNで自動的なリソース配分・最適化
- SerfでOrchestration
テスト駆動インフラ
テスト駆動インフラが駆動するのはインフラそのものではなくインフラを記述したコードを書くこと
serverspecはインフラの状態をテストするためのツールではない
インフラの状態を記述した「コード」をテストするためのツール
- serverspec、Test Kitchen
- chefspec
- ホワイトボックステストするChef用のツール
- Foodcritic
- クックブックのLintツール(文法チェック)