最近のインフラ系ツールが多すぎて何が何だかわからない!からの卒業

  • 1167
    いいね
  • 4
    コメント
この記事は最終更新日から1年以上が経過しています。

Docker ? Packer ? 何が違うの?と個人的にわけがわからなくなっていたのでまとめてみた

インフラ系技術の 3 つのレイヤー

  • Orchestration
    • アプリケーションのデプロイ
    • Capistrano
  • Configuration
    • ミドルウェアレベルの設定
    • Chef, Puppet
  • Bootstrapping

    • OS のインストールにあたる領域
    • Docker, Vagrant, Packer
  • 今回は、Configuration ツールと Bootstrapping ツールの違いをまとめる

Bootstrapping Tool

Docker

Docker 公式ページ

  • Linux コンテナの内部でアプリケーションを動作させるためのツール
  • Go 言語で記述されている
  • 環境構築は Dockerfile と呼ばれるファイルでコード化できる
  • コンテナ型仮想化を提供するツール
    • イメージの作成から実行まで
  • AWS の AMI に相当
    • ただし、AMI は AWS 上でのみ動かせるが、 Docker イメージは Docker が動く Linux マシンならどこでも動作する
  • 個人的に使ってみた時のまとめ

Packer

Packer 公式ページ

  • VM のイメージを作成するツール
  • Docker に近い
    • ただし、Docker は Docker 用のイメージを作成するのに対し、 Packer は Docker を含め、Amazon AMI や Vagrant Box, Virtualbox など複数のプラットフォームに対応できる

Vagrant

Vagrant 公式ページ

  • 仮想マシンの作成、環境設定を自動化するツール
  • 仮想マシンのイメージ(Vagrant Box) はすでに用意しているのを前提に、マシンを立ち上げるのに特化している
  • 個人的に使ってみた時のまとめ

Configurarion Management Tool

Chef

Chef 公式ページ

  • サーバの設定やソフトウェアのインストールを自動化する管理ツール
  • Recipe と呼ばれる設定ファイルは Ruby スクリプトになっている
  • 個人的に使ってみた時のまとめ

Puppet

Puppet 公式ページ

  • サーバの設定やソフトウェアのインストールを自動化する管理ツール
  • Chef に近い
  • Chef より歴史は古い

Ansible

Ansible 公式ページ

  • Chef や Puppet に近い
  • Python 製
  • Push 型 : ホスト側にのみインストールすればよい (Chef では、ゲスト側にもインストールする必要がある)
  • Chef と比較して構成がシンプル

参考ページ