読書メモ:実践Vagrant
スキルの棚卸のため、こちらも過去読んだ本について書きます。
Vagrantですが、最近はめっきり聞かなくなったように思います。
その理由としては、Vagrantで必要とされる作業は、AzureやAWSのクラウドのGUIやコンソールの操作で完結してしまうことが多くなったからでしょうか。
5年以上前に外部ベンダーとの共同作業でVirtual Boxの設定を行うために自分は使用しました。
この本は、実際にVagrantを作った開発者で著名なHashimotoさんが著者なので大変わかりやすくなっています。
Vagrantは、様々な仮想マシン (Virbual box、VMwareなど)のイメージをプラグインを使ってVM実行環境をAPI操作することで、ネットワーク設定(プロキシ設定なIP設定など)、SSH設定、ユーザー設定などを行うことができます。
そのため、社内で開発するときなどに、同じ設定の仮想マシンを量産して配布することにも利用できます。
また、VMを開発サーバーとして社内で使う場合、作ったVMに対して余計な権限で協力会社の人にログインされて何らかのセキュリティインシデント等を発生しないように、Vagrantで堅牢にVMを設定した後にアプリのインストールなどを協力会社の人員などにしてもらう状況で便利でした。
個別に設定してしまうと見えない作業内容もVagrantファイル化することで設定内容を担当内でレビューすることに利用できます。
Dockerfileを見ればコンテナにどのようなインストール作業を行ったかわかるのと同じです。
各社員や協力会社の人たちが一人一人VMを作って開発環境を作ると、社内のネットワーク構成に詳しくなかったり、SSHの設定にとまどったり、余計なアクセス権限を付与したりと様々な問題が発生することがあります。
そのような分業体制で個々が個別のスキルセットを持つ日本のIT業界において、事前に社内で動作するように環境を統一するのに十分役立つソフトウェアです。
Vagrantを使えば、その時に発生する手間や時間を節約できるといってよいでしょう。
ローカル作業や、オンプレミスでKVMやVirtual Boxを使っている場合は、VMの基本設定作業の合理化にまだまだ役立つと個人的には思います(商用ライセンスのVMwareの場合は別途専用の機能があると思います)。
しかし、時は経ち、現在のエンジニアにとってそこまで学ぶ優先度は高くないかもしれません。
学習コストもそこまで高くないので必要に応じて勉強しても間に合います。