ソフトウェアアプライアンスとは、業界標準のハードウェア(通常はサーバー)または仮想マシン上で最適に動作するために必要最低限のオペレーティングシステム(JeOS)と組み合わされたソフトウェアアプリケーションのことです。[ 1 ]これは、コンピュータアプライアンスを実装するソフトウェアディストリビューションまたはファームウェアです。[ 2 ] [ 3 ]
仮想アプライアンスはソフトウェアアプライアンスのサブセットです。主な違いはパッケージ形式とターゲットプラットフォームの特異性です。仮想アプライアンスは特定の仮想化プラットフォームで実行するように設計された仮想マシンイメージですが、ソフトウェアアプライアンスは多くの場合、物理マシンと複数の種類の仮想マシンへのインストールをサポートする、より汎用的なイメージ形式(例:ライブCD)でパッケージ化されています。[ 4 ] [ 5 ] [ 6 ]
仮想マシンにソフトウェアアプライアンスをインストールし、それをイメージとしてパッケージ化することで、仮想アプライアンスが作成されます。
ソフトウェアアプライアンスは、オペレーティングシステム上にインストールされる従来のソフトウェアアプリケーションに比べて、いくつかの利点があります。
n実行する場合よりも多くのハードウェアリソースを消費するため、この利点は当てはまりません。これは、オペレーティングシステムのインスタンスを複数実行するオーバーヘッドによるものです。n1n - 1ソフトウェアアプライアンスは、仮想マシン形式で仮想アプライアンスとしてパッケージ化することができ、仮想マシンコンテナ内で実行することが可能になります。
仮想アプライアンスは、 Open Virtualization Format (OVF)などの標準的な仮想マシン形式、または特定の仮想マシンコンテナ(VMware、VirtualBox、Amazon EC2など)に固有の形式のいずれかを使用して構築できます。
コンテナとそのイメージ( DockerやDocker Hubが提供するものなど)は、ソフトウェアアプライアンスの実装と見なすことができる。
ソフトウェアアプライアンスはライブCDイメージとしてパッケージ化できるため、ほとんどの種類の仮想マシンに加えて、実際のハードウェア上でも実行できます。
これにより、開発者は互換性のない複数の仮想マシンイメージ形式をサポートすることに伴う複雑さを回避し、代わりに最小公倍数(つまり、ISOイメージはほとんどの仮想マシンプラットフォームでサポートされている)に集中できるようになります。
商用ソフトウェアアプライアンスは通常、サブスクリプションサービス(従量課金制)として販売され、サービスとしてのソフトウェア(SaaS)の代替的なアプローチである。
顧客はアプリケーションベンダーからすべてのサービスとメンテナンスを受けることができるため、複数のメンテナンスの流れ、ライセンス、およびサービス契約を管理する必要がなくなります。
場合によっては、アプリケーションベンダーが顧客への納品前にハードウェアにソフトウェアアプライアンスをインストールし、コンピュータアプライアンスを作成することがあります。いずれの場合も、顧客にとっての主なメリットは、購入、導入、および保守の簡便性です。