ローカル環境を汚さず、Dockerコンテナのオーバーヘッドもなし 開発環境を自在に構築できる「Devbox 0.2.0」登場
Jetpack Technologiesがローカル環境を汚さず、Dockerコンテナのオーバーヘッドもなく開発環境を自在に構築できる「Devbox 0.2.0」をオープンソースで構築中。
この記事は新野淳一氏のブログ「Publickey」に掲載された「ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場」(2022年12月22日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。
Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。
ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。
そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにMicrosoftによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。
Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Dockerコンテナのような仮想化技術を用いていないことが最大の特徴です。
「devbox.json」ファイルに必要なツールを書き込み、「devbox shell」を起動することで、元の環境とは分離されたDevboxの下で別のシェル環境を再現できます。
Devboxの分離された環境では、開発環境で要求されることがある元の環境とバージョン違いの同名のバイナリなども、安全に導入できると説明されています。
下記がDevboxのデモの様子です。Devboxのシェルを起動した環境でPythonとGoがインストールされますが、Devboxが終了するとそれは消えて、元の環境に戻ります。
このDevboxの基盤となっているのが、Linuxディストリビューション「NixOS」のパッケージマネジメントツール「Nix」です。
このNix自体に、元の環境に対して非破壊的にパッケージを適用する機能があります。
そしてこのNixのラッパーとして働き、より扱いやすくするための統合的なコマンドラインツールがDevboxとなります。
インストールが簡単に、プラグイン機能も追加
今回リリースされたDevbox 0.2.0ではインストーラが進化し、これまでマニュアルでインストールする必要があったNixのインストールが自動的に行われるようになりました。
これでDevboxのインストーラだけで済むようになり、導入が容易になっています。
環境変数、設定ファイル、サービスなどの主要な環境がパッケージングされ、整備された状態で導入できる「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の開発チームは、今後さらにプラグインを充実させ、パッケージの柔軟性を向上させるなどの開発を進めていくとしています。
開発体験の向上と開発環境のポータビリティ
ビジネスにおいてソフトウェアの重要性の高まりと共に、そのソフトウェアを開発している開発者のための、いわゆる「開発体験の向上」への注目度が高まっています。
特に開発環境のパッケージングによる迅速かつポータブルな開発環境の実現は、Microsoftから「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つと言えるでしょう。
関連記事
- AWS上で開発環境一式、フレームワーク、初期コード、IDE、ビルド環境、CI/CDなど提供する「Amazon CodeCatalyst」発表
米AWSが、AWS上で開発チームのための環境一式を提供する「Amazon CodeCatalyst」を発表。クラウド上にチーム開発のために必要な環境一式を迅速に構築、提供するサービスという。 - AWSが「Docker Desktop」代替となり得る「Finch」をオープンソースで公開 ローカルマシンに仮想環境・ビルドツールなど一式を導入
米Amazon Web Servicesが、ローカルマシン上にLinuxコンテナのランタイム、ビルドツール、コマンドラインツールなど一式をインストールし、コンテナを用いた開発環境を開始できるソフトウェア「Finch」をオープンソースで公開。現時点ではIntelプロセッサもしくはAppleシリコン搭載のMacにのみ対応する。 - Google Cloudが「Cloud Workstations」発表 セキュアな開発環境一式をマネージドサービスで提供
米Google Cloudが、あらかじめ設定済みのセキュアな開発環境一式をマネージドサービスで提供する「Cloud Workstations」を発表。ローカルマシンに開発環境を置いた場合に発生するであろう多くのセキュリティ上の課題を解決するとしている。 - Microsoft、開発環境をまるごとクラウドPCとして用意できる「Dev Box」パブリックプレビュー開始
米Microsoftが、開発環境をまるごとクラウドPCとして用意できる「Dev Box」のパブリックプレビューを開始。パブリックプレビュー中は、8vCPUおよび32GBメモリの最初の15時間と、ストレージSSD 512GBの最初の365時間が毎月無償で利用できる。それ以上使用する場合は、1時間単位の従量課金。 - Microsoft、開発環境をまるごとクラウドPCとして用意できる「Dev Box」発表
米Microsoftが、アプリケーションの開発環境をまるごと、クラウドPCのようなデスクトップ仮想化の仮想マシンとして用意できる「Microsoft Dev Box」を発表した。5月25日からプライベートプレビューの申し込みを受け付けている。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.