僕個人としては、DevOpsツールというのは、Bash ScriptとServerSpecだけでも良いのではないか、と思ってる
読了まで:約4分
概要: この
なぜ、僕はそのようなコトに思い至ったか
えーっとですね、
- Chef
- Puppet
- Ansible
の
- 複雑すぎる
と
特に、
- Docker に
よる Container-based deployment
を、
- Dockerfile で
コンテナ作る - docker で
コンテナを ビルドする - 要らなくなったら
そのコンテナを 捨てる - 以下
繰り返し
と
で。
究極的な
- サーバインフラ構築の
属人性の 排除=完全自動化 - サーバインフラの
あるべき状態の 定義及びテスト= ServerSpec - サーバインフラの
状態の 監視=??? (この 辺りは 詳しくない )
の
けれども、
- サーバインフラの
有るべき状態の 定義及びテスト
が
それこそ、
- Docker + Dockerfile
で
- ( Homebrew / Linuxbrew ) + Brewfile
- bundler + Gemfile / carton + cpanfile / npm + package.json
を
- 簡単に
アプリケーションの 依存関係の 定義が できる - その定義に
基づき、 簡単に アプリケーション実行環境が 作成できる - また、
そのアプリケーション実行環境の 破棄が 容易に できる
と
まあ当然の
ということで、僕は今、Bash による DevOps ツールもどき作ってます
なんか
と
と
ssh
でローカルの bash script を 実行する Wrapper script recipes
とは言う ものの、 実態は ただの Bash script コレクション
と
の
あと、Bops
は、
- DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
なので、
ということで大体は以上です。
あとは
- サービスの
状態の モニターとか - あるいは
ServerSpec に よる テストとか
を
あと、
- 個人で
あり、 かつ Container-based deployment と いう リスクが 取れる
と
- Chef
- Puppet
- Ansible
とかの
が、
まあ、
インフラテストさえ
あれば、 冪等性とか 捨てて、 実行環境の build & trash だけを すれば 良いんじゃね?
と
と
まあ
と
#FIXME