HEXA BLOG

インフラ

HEXA BLOGその他インフラ2014.7.14

仮想環境構築ツール「Vagrant」の導入

今朝のFIFAワールドカップ決勝戦(ドイツ×アルゼンチン)は見応えのある熱戦でしたね

どちらが勝ってもおかしくない試合でしたが、

グループリーグから常に安定していたドイツが優勝したのは納得の結果でした

また、クローゼがワールドカップでの歴代最多得点記録保持者になった事もおめでたいですね

4年後は決勝トーナメントで戦う日本の姿が見られる事を期待しています

 

こんにちは。ドラゴンです

 

最近はサーバーと通信をするゲームが増えてきています。

それにより開発を行う際にサーバーを構築する必要があり、

開発者にインフラ系の知識が求められるようになってきました。

こういったゲームの開発方式としては以下の二つが考えられます。

 

  1. 共有サーバーを構築して、VirtualHostを設定することにより各自の作業領域を分ける
  2. 各開発者のPCに仮想サーバーを構築する

 

方式1の場合、インフラ設定等が完全に同じ環境下で作業ができるというメリットがあり、

Aさんの環境では発生するのにBさんの環境では発生しないといった現象が少なくなります。

その代わりに、キャッシュ等の保存先を分け辛かったり、

インフラ設定を変えると全員に影響が出る等のデメリットもあります。

 

方式2の場合、方式1のデメリットは無くなりますが、少しでもインフラ設定に違いがあった場合に問題が起こったり、各開発者が自分でインフラ設定をする必要があるため、その分野の専門でなかった場合に余計なコストがかかってしまう等のデメリットが生じてしまいます。

 

これを踏まえて弊社でも以前までは方式1のやり方でやっていましたが、実際にやってみると、少し設定を変えたりモジュールの再起動等を行うだけでインフラ担当者に問い合わせる必要があり、開発に余計なコストがかかってしまうという事態に陥っていました。

 

そこで方式2に切り替え、それに合わせて方式2のデメリットを無くすために、

仮想環境構築ツールであるVagrantの導入を検討しました。

Vagrantの特徴を簡単にまとめます。

 

  • 簡単な設定ファイルから単一コマンドで作業マシンにサーバー構築ができる
  • サーバーの一時停止、シャットダウン、完全破棄も単一コマンドで実行可能
  • 構築時のみ実行されるコマンドやシェル(プロビジョン)を設定可能
  • PuppetやChef等の環境設定ツールとも連携ができる
  • 作業マシンのディレクトリを仮想マシン上に同期することができる

 

なにこのステキツール。惚れそう。惚れた

 

Vagrantの導入により、設定ファイルを配布すれば各開発者が簡単に仮想サーバーを構築できるようになりました。

設定ファイルに変更があれば、チャット等で通知して任意のタイミングで再構築してもらうだけで反映できます。

開発中に色々と試行錯誤した結果、DBやキャッシュに意図しないものが残っていて、それにより偶然動いてしまっていた、といった事態も未然に防げます。

コミット前に一旦環境を初期化して、再構築してからテストすればいいのです。

他の人に影響を与えること無く、好きに作って壊してをすればいいのです。

僕はリセットボタンを何度でも押します

 

ではでは

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE