Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。
ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。
そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにMicrosoftによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。
Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Dockerコンテナのような仮想化技術を用いていないことが最大の特徴です。
「devbox.json」ファイルに必要なツールを書き込み、「devbox shell」を起動することで、元の環境とは分離されたDevboxの下で別のシェル環境を再現できます。
Devboxの分離された環境では、開発環境で要求されることがある元の環境とバージョン違いの同名のバイナリなども、安全に導入できると説明されています。
下記がDevboxのデモの様子です。Devboxのシェルを起動した環境でPythonとGoがインストールされますが、Devboxが終了するとそれは消えて、元の環境に戻ります。
ローカル環境を汚さず、Dockerコンテナのオーバーヘッドもなし 開発環境を自在に構築できる「Devbox 0.2.0」登場
Jetpack Technologiesがローカル環境を汚さず、Dockerコンテナのオーバーヘッドもなく開発環境を自在に構築できる「Devbox 0.2.0」をオープンソースで構築中。