※当サイトの記事には、広告・プロモーションが含まれます。

Jetpack.ioのDevboxで構築する開発環境って、結局コンテナ仮想化ってことで良いのか

news.mynavi.jp

⇧ カオスな状態になりそうですな...

Windows 10が最後のバージョンになると言ってたくせに、Windows 11を登場させたり、Microsoftは本当に信用できないからなぁ...

gigazine.net

www.itmedia.co.jp

⇧ 撤回も問題だけど、アップデートできる要件がハードウェア依存にしてきた時点で、よりユーザーを馬鹿にしている感じがするんよな...

ちなみに、私の使用しているPCはアップデートの要件を満たしていないため、正規の方法でのアップデートはできません...

atmarkit.itmedia.co.jp

 推奨はできないが、このようなWindows 11のシステム要件を満たさないPCで、どうしてもWindows 11 2023 Updateを使いたい場合の更新/インストール方法を紹介しよう。ただしシステム要件を満たさないため、不具合などが発生する可能性も否定できないので、自己責任であることを忘れないでほしい。また、システム要件を満たさないため、更新プログラムが適用できなかったり、新機能が有効にならなかったりする可能性がある点にも留意してほしい。

システム要件を満たさないPCをWindows 11 2023 Update(23H2)にアップデートする方法:Tech TIPS - @IT

⇧ 更新プログラムが適用できない可能性があると...

ちなみに、

windowsreport.com

⇧ OS(Operation System)のシェアとしては、デスクトップ、モバイルを混在させると、Windows以外の割合が増えてるせいか、割合としては、Windowsが低下の一途を辿っているようですね。

ただ、知りたいのは、Webソフトウェア系の開発現場でのシェアなんよな...

とりあえず、

www.quora.com

⇧ 本番環境に依りけりとは思いますが、Linuxシェルスクリプトとか多用しているようなアプリケーションの開発だと、そもそもLinux環境でないと動作確認できないしなぁ...

Windowsだと、Linux環境を構築するのが大変だったという歴史的な背景があったから、Linux環境で稼働するWebソフトウェア系の開発現場だとmacOSOS X)が使われることが多かったということですかね。

開発環境が安定しないストレスとおさらばしたいけど、逃れることはできないと...

Jetpack.ioのDevboxとは?

GitHubで公開されている情報によると、

github.com

Devbox is a command-line tool that lets you easily create isolated shells for development. You start by defining the list of packages required by your development environment, and devbox uses that definition to create an isolated environment just for your application.

https://github.com/jetpack-io/devbox

⇧ 分離されたアプリケーション開発環境を構築できるってことみたいなんだけど、

www.jetpack.io

⇧ 2024年2月4日(日)時点だと、大きく分けて

  1. Linux
  2. MacOS
  3. Windows/WSL2
  4. NixOS/Nixpkg

の4種類のOS(Operation System)に対応してるっぽい。

Windows/WSL2」のタブの説明によると、

Devbox requires the Nix Package Manager. If Nix is not detected on your machine when running a command, Devbox will automatically install it in single user mode for WSL2. Don't worry: You can use Devbox without needing to learn the Nix Language.

https://www.jetpack.io/devbox/docs/installing_devbox/

Linux系のファイルシステムに依存するってことなんかな。

Nix Package Manager」はと言うと、

github.com

Nix, the purely functional package manager

https://github.com/NixOS/nix

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

https://github.com/NixOS/nix

⇧ なるほど、「Nix」という名前のpackage managerということらしい、Devboxの説明が紛らわしいですな...

「Nix」が、LinuxないしはUnix向けらしく、通常のWindows環境だと対応していないから、WindowsでDevboxを使うなら、

などの仮想化ソフトウェアを利用してLinux環境を構築しておく必要があるってことね。

Devboxの誕生の背景として、

www.jetpack.io

Instantly turn your application into a container

Devbox analyzes your source code and instantly turns it into an OCI-compliant image that can be deployed to any cloud. The image is optimized for speed, size, security and caching ... and without needing to write a Dockerfile. And unlike buildpacks, it does it quickly.

https://www.jetpack.io/blog/devbox/

⇧ Dockerコンテナでの開発だとスピードが上がらないと感じていたからということらしい。

「OCI(Open Container Initiative)」に準拠したコンテナにデプロイできるという説明をしていることから、Dockerとは異なるコンテナ仮想化の技術ということなんですかね。

ちなみに、「OCI(Open Container Initiative)」はと言うと、

Open Container InitiativeOCI)は、OSレベル仮想化英語版の一種である「コンテナ」のフォーマット・ランタイムの業界標準策定を目的として設立されたイニシアチブである。Linux Foundationプロジェクトの1つである。

Open Container Initiative - Wikipedia

概要

OSレベル仮想化手法の1つとして、Dockerをはじめとするコンテナ仮想化技術がある。複数存在するコンテナ仮想化実装のオープン業界標準策定を目的として設立されたのがOpen Container Initiativeである。

Open Container Initiative - Wikipedia

OCIが策定した標準仕様は以下の2つである

またOCIは上記仕様のリファレンス実装であるrunCを開発しており、これは高レベルのツールを開発する際のベースとなっている。

Open Container Initiative - Wikipedia

⇧ とありますな。

Jetpack.ioのDevboxで構築する開発環境って、結局コンテナ仮想化ってことで良いのか

Devboxの説明に出てきた、「OCI-compliant image」はと言うと、

sudip-says-hi.medium.com

⇧ 上記サイト様によりますと、「OCI(Open Container Initiative)」の策定した仕様に準拠したイメージってことになるんかな。

Devboxの説明だと、Containerが抜けてるようなのですが、Wikipediaの説明で、

複数存在するコンテナ仮想化実装のオープン業界標準策定を目的として設立されたのがOpen Container Initiativeである。

とあるのと、Devboxの説明で

『Instantly turn your application into a container』

って言ってしまってるから、Devboxはコンテナ仮想化の技術の一種と考えてしまって良いんですかね?

それにしても、相変わらず、Windowsは除け者感が根強いですな...

Web系のシステム開発で作成するアプリケーションって、最終的にはLinux環境で稼働させることが多そうなイメージなので、macOSで開発が向いているのかね?

シェルスクリプト(.sh)とか多用されているようなアプリケーションだと、Linux環境でないと動作確認ができないですし...

どちらにしろ、Devboxで構築した環境に、Windows側のVS CodeVisual Studio Code)とかからリモート接続しての開発になるんですかね。

とりあえず、

ソフトウェア 管理団体
Devbox Jetpack.io
Microsoft Dev Box Microsoft

⇧ 別物だから、気を付けようか...

毎度モヤモヤ感が半端ない...

今回はこのへんで。