ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場

今回は「ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場」についてご紹介します。

関連ワード (創始者、経験、適用等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。

ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。

そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにマイクロソフトによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。

fig

Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Dockerコンテナのような仮想化技術を用いていないことが最大の特徴です。

「devbox.json」ファイルに必要なツールを書き込み、「devbox shell」を起動することで、元の環境とは分離されたDevboxの下で別のシェル環境を再現できます。

Devboxの分離された環境では、開発環境で要求されることがある元の環境とバージョン違いの同名のバイナリなども、安全に導入できると説明されています。

下記がDevboxのデモの様子です。Devboxのシェルを起動した環境でPythonとGoがインストールされますが、Devboxが終了するとそれは消えて、元の環境に戻ります。

fig

このDevboxの基盤となっているのが、Linuxディストリビューション「NixOS」のパッケージマネジメントツール「Nix」です。

このNix自体に、元の環境に対して非破壊的にパッケージを適用する機能があります。

そしてこのNixのラッパーとして働き、より扱いやすくするための統合的なコマンドラインツールがDevboxとなります。

インストールが簡単に、プラグイン機能も追加

今回リリースされたDevbox 0.2.0ではインストーラが進化し、これまでマニュアルでインストールする必要があったNixのインストールが自動的に行われるようになりました。

これでDevboxのインストーラだけで済むようになり、導入が容易になっています。

Happy Holidays everyone, we just published Devbox 0.2.0 with a ton of new features. Read the announcement on our blog: https://t.co/GiwQn5mxdY

— Jetpack.io (@jetpack_io) December 20, 2022

環境変数、設定ファイル、サービスなどの主要な環境がパッケージングされ、整備された状態で導入できる「Devbox Plugin」機能が追加されました。

例えばコマンド「devbox add nginx」を実行するとNginxのプラグインが導入され、環境一式が自動的に構築されます。

現時点でPostgreSQL、Apache、Nginx、PHP、Ruby、Pythonのプラグインが用意されており、今後さらに充実していく予定です。

またdevboxのコマンド「devbox start」「devbox stop」で、サービスの起動と終了も行えるようになりました。

現在の環境をそのままDockerfileで出力

Devboxで構築した環境をそのままDockerコンテナにするためのDockerfileの生成も「devbox generate」コマンドで可能になりました。

これでDevbox環境を簡単にDockerコンテナに変換し、本番環境などへデプロイする、といったことが容易になります。

Devboxの開発チームは、今後さらにプラグインを充実させ、パッケージの柔軟性を向上させるなどの開発を進めていくとしています。

開発体験の向上と開発環境のポータビリティ

ビジネスにおいてソフトウェアの重要性の高まりと共に、そのソフトウェアを開発している開発者のための、いわゆる「開発体験の向上」への注目度が高まっています。

特に開発環境のパッケージングによる迅速かつポータブルな開発環境の実現は、マイクロソフトから「Dev Box」が、Google Cloudからは「Cloud Workstations」が、AWSからは「Amazon CodeCatalyst」が相次いで登場し、垂直統合が得意な大手クラウドベンダの激戦区になりました。

  • [速報]マイクロソフト、開発環境をまるごとクラウドPCとして用意できる「Dev Box」を発表。Microsoft Build 2022
  • [速報]Google Cloud、「Cloud Workstations」発表。セキュアな開発環境一式をマネージドサービスで提供。Google Cloud Next ’22
  • [速報]AWS上で開発環境一式、フレームワーク、初期コード、IDE、ビルド環境、CI/CDなど提供する「Amazon CodeCatalyst」発表。AWS re:Invent 2022

また、Dockerの創始者であるSolomon Hykes氏が率いるDaggerも、CI/CDパイプラインをポータブルにする取り組みとして注目されています。

  • Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に

今回紹介したDevboxも、こうした開発環境のパッケージングとポータビリティによる進化の一翼を担うソフトウェアとして注目すべきものの1つと言えるでしょう。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
生活費高騰の中、購入の決め手にはCXも関与–クアルトリクス調査
IT関連
2022-12-11 06:09
間接支出の最適化で投資の原資に–「ビジネス支出管理」のCoupaが考えるESG
IT関連
2022-07-07 01:42
ファン内蔵テック系マスクの真価は? Philips「ブリーズマスク」を2週間使ってみた (1/2 ページ)
くわしく
2021-02-15 15:43
ITセキュリティガバナンスの目指す姿とアプローチ
IT関連
2022-07-01 05:13
アップルのAirTagをお札入れ用に薄いカード状にする方法
ハードウェア
2021-05-08 18:34
Windows Subsystem for Linux(WSL)に新機能。使用メモリや仮想ディスクの自動縮退、LAN経由でWSLへ直接アクセス可能など
Linux
2023-09-20 07:41
グローバルのクラウドインフラ市場、市場の成長率が鈍化する中でAWSがシェア30%超を維持、AzureとGoogle Cloudは堅調。2022年第4四半期、Synergy ResearchとCanalysの調査結果
AWS
2023-02-14 17:07
DenoがNode.js互換レイヤを本体に統合し高速化、package.jsonサポートでNode.jsからの移行がさらに容易に。Deno 1.31リリース
Deno
2023-03-08 06:23
TVerで「逃げ恥」全話無料配信 1月放送の新春スペシャルも
くらテク
2021-05-26 00:27
「Google Docs」にAI校正ツール「Proofread」が登場–文章の読みやすさを改善
IT関連
2023-09-01 02:18
KDDIら3社、物流DXで業務提携–ベンダーフリーな倉庫自動化ソリューションを提供へ
IT関連
2022-12-03 22:02
故郷が「帰ってくるな」という夏休み、「バーチャル帰省」はアリ? :小寺信良のIT大作戦(1/2 ページ)
トップニュース
2021-08-11 00:51
美しさと使いやすさ、安全性を兼ね備えたデスクトップLinux「UbuntuDDE」
IT関連
2023-09-06 17:50
テレワーカーの方が出社している人より残業時間が長い パーソル調査
キャリア・しごと
2021-04-20 08:14