Raspberry Piか仮想マシーンか?
Raspberry Piか仮想マシーンか?
2021年10月31日
Raspberry Pi か仮想マシーンか?
Raspberry Pi を使わなくても、仮想マシーンを利用すれば色々な実験はできます。この記事ではどちらの方が良いのかを考えてみました。
仮想マシーンならばお金がかからない?
当然、最初に考えるのが「コスト」です。Raspberry Pi の最新版を利用する場合には本体の値段として、概ね 1 万円から 2 万円前後のコストがかかります。
では、仮想マシーンならどうでしょうか? 既に利用している PC で仮想マシーンを動かす場合には、コストがかからないように見えますが実際はどうでしょうか?
まず、仮想マシーンを利用する場合、仮想マシーンを動かすための仕組みが必要です。 仮想マシーンを動かすのによく利用されるソフトウエアは概ね以下の通りです。
- VMWare Workstation Player
- Oracle VirtualBox
- Parallels
あたりだと思います。Windows や Linux の場合は、VMWare Workstation Player か VirutalBox を利用する場合が多いと思いますが、商用目的の利用でない場合は、基本的に無料で利用できます。
Mac の場合は、Parallels を利用する場合が多いかと思います。VMWare Fusion(ARM 版はプレビュー)も利用できます。2021 年 10 月現在では、新しい ARM ベースの Mac の場合は Parallels の有料プランになります。こちらのコストは年間約 80 ドル程度のコストが発生します。
仮想マシーンを動かすために必要なソフトウエアにかかる費用は、無料から年間 100 ドル程度のコストが必要だということになります。概ね、Windows/Linux の場合は無料のオプションがありますが、Mac の場合は、プレビュー版を使わない場合、年間 100 ドル程度のコストが必要になります。
当然、最初に考えるのが「コスト」です。Raspberry Pi の最新版を利用する場合には本体の値段として、概ね 1 万円から 2 万円前後のコストがかかります。
では、仮想マシーンならどうでしょうか? 既に利用している PC で仮想マシーンを動かす場合には、コストがかからないように見えますが実際はどうでしょうか?
まず、仮想マシーンを利用する場合、仮想マシーンを動かすための仕組みが必要です。 仮想マシーンを動かすのによく利用されるソフトウエアは概ね以下の通りです。
- VMWare Workstation Player
- Oracle VirtualBox
- Parallels
あたりだと思います。Windows や Linux の場合は、VMWare Workstation Player か VirutalBox を利用する場合が多いと思いますが、商用目的の利用でない場合は、基本的に無料で利用できます。
Mac の場合は、Parallels を利用する場合が多いかと思います。VMWare Fusion(ARM 版はプレビュー)も利用できます。2021 年 10 月現在では、新しい ARM ベースの Mac の場合は Parallels の有料プランになります。こちらのコストは年間約 80 ドル程度のコストが発生します。
仮想マシーンを動かすために必要なソフトウエアにかかる費用は、無料から年間 100 ドル程度のコストが必要だということになります。概ね、Windows/Linux の場合は無料のオプションがありますが、Mac の場合は、プレビュー版を使わない場合、年間 100 ドル程度のコストが必要になります。
仮想マシーンを動かすハードウエアのコスト
既に利用している PC がある場合にはハードウエアのコストはかからないように見えますが、これは現在利用している PC の構成によって変わってきます。
実際に仮想マシーンを利用する場合には、これ以外に「リソース」が必要になります。つまり、仮想マシーンを動かす PC のメモリやディスクスペース、CPU のパワーが必要ということになります。
例えば、Linux の OS を動かすには、実用レベルで利用するには、メモリは最低でも2 GB から4 GB は必要ですし、OS を含めたディスクスペースは 20GB 以上は最低でも必要になると言えます。現在売れ筋のラップトップ PC の場合標準的なメモリ容量は8 GB というのが主流だと言えます。
比較的新しいモデルの場合は、仮想マシーンを動かしても8 GB のメモリがあれば実用になるレベルでの利用は可能ですが、少し古い PC の場合には、仮想マシーンを動かすと、顕著な性能低下を感じる場合が多くなります。
性能の低下は、例えば、バックエンドを含めた実際の環境に近い形で実行環境を作る場合です。Web 開発をする際に、ローカルのサーバーを動かしてテストするのではなく、実際に「別の OS のサーバー」を動かしてテストする場合には、クライアント側の処理と、サーバー側の処理が一緒に動作する事になるので、PC の処理が大きくなる場合の話です。
4〜5 年前の Windows の PC に Linux を入れて仮想マシーンを動かした場合、性能の低下を実感できる感じですが、昨年末に購入した M1 Mac(8GB メモリ/256GB ディスクスペース)で試すと、特に問題はない感じです。試しているのは、それほど規模の大きくないサービスですが、大きなサービスになるともう少し影響が出るものと考えられます。
十分なリソースを確保した上で、仮想マシーンを動かす場合には、通常使用するより仮想マシンに割り当てる分を考慮したスペックの PC を準備する方が良いのでその場合には、ベースになる PC にエクストラのコストが必要になると言えます。
大まかが結論としては、実験で利用する程度ならば現在利用している PC があれば、ハードウエアのコストをあまり考慮する必要はないというのが個人的な見解です。
既に利用している PC がある場合にはハードウエアのコストはかからないように見えますが、これは現在利用している PC の構成によって変わってきます。
実際に仮想マシーンを利用する場合には、これ以外に「リソース」が必要になります。つまり、仮想マシーンを動かす PC のメモリやディスクスペース、CPU のパワーが必要ということになります。
例えば、Linux の OS を動かすには、実用レベルで利用するには、メモリは最低でも2 GB から4 GB は必要ですし、OS を含めたディスクスペースは 20GB 以上は最低でも必要になると言えます。現在売れ筋のラップトップ PC の場合標準的なメモリ容量は8 GB というのが主流だと言えます。
比較的新しいモデルの場合は、仮想マシーンを動かしても8 GB のメモリがあれば実用になるレベルでの利用は可能ですが、少し古い PC の場合には、仮想マシーンを動かすと、顕著な性能低下を感じる場合が多くなります。
性能の低下は、例えば、バックエンドを含めた実際の環境に近い形で実行環境を作る場合です。Web 開発をする際に、ローカルのサーバーを動かしてテストするのではなく、実際に「別の OS のサーバー」を動かしてテストする場合には、クライアント側の処理と、サーバー側の処理が一緒に動作する事になるので、PC の処理が大きくなる場合の話です。
4〜5 年前の Windows の PC に Linux を入れて仮想マシーンを動かした場合、性能の低下を実感できる感じですが、昨年末に購入した M1 Mac(8GB メモリ/256GB ディスクスペース)で試すと、特に問題はない感じです。試しているのは、それほど規模の大きくないサービスですが、大きなサービスになるともう少し影響が出るものと考えられます。
十分なリソースを確保した上で、仮想マシーンを動かす場合には、通常使用するより仮想マシンに割り当てる分を考慮したスペックの PC を準備する方が良いのでその場合には、ベースになる PC にエクストラのコストが必要になると言えます。
大まかが結論としては、実験で利用する程度ならば現在利用している PC があれば、ハードウエアのコストをあまり考慮する必要はないというのが個人的な見解です。
仮想マシーンの方が有利!?
こうした、コスト面を考えると、現在利用している PC がある場合には仮想マシーンを利用する方が有利というのが一般的な見解です。
実際のテストでも、仮想マシーンはベースの設定を行った仮想マシーンのファイルをコピーするとインストールをやり直さなくても複製を作れるので、別の設定を試す場合でも簡単に対応できるという利点があります。コスト面でも、有料の仮想マシーンを利用するためのソフトウエアにかかる費用を考えても、安上がりですみます。
Raspberry Pi を利用する場合には、ネットワーク経由でリモートアクセスする場合でも、最初の設定の際には、キーボードとマウス、ディスプレーは必要です。既にこうした外付けのキーボード、マウス及びディスプレーを持っていない場合には、購入する必要があります。これはさらにコストがかかります。
単に、Linux を体験したり、Web サーバーの設定をやってみるだけの場合は、仮想マシーンでやる方が簡単です。
こうした、コスト面を考えると、現在利用している PC がある場合には仮想マシーンを利用する方が有利というのが一般的な見解です。
実際のテストでも、仮想マシーンはベースの設定を行った仮想マシーンのファイルをコピーするとインストールをやり直さなくても複製を作れるので、別の設定を試す場合でも簡単に対応できるという利点があります。コスト面でも、有料の仮想マシーンを利用するためのソフトウエアにかかる費用を考えても、安上がりですみます。
Raspberry Pi を利用する場合には、ネットワーク経由でリモートアクセスする場合でも、最初の設定の際には、キーボードとマウス、ディスプレーは必要です。既にこうした外付けのキーボード、マウス及びディスプレーを持っていない場合には、購入する必要があります。これはさらにコストがかかります。
単に、Linux を体験したり、Web サーバーの設定をやってみるだけの場合は、仮想マシーンでやる方が簡単です。
Raspberry Pi を利用するメリットは?
では、あえて Raspberry Pi を利用するメリットは何かという事になります。
例えば、単にテストの為のサーバーを作るだけではなく、Raspberry Pi 自体で別の機能を作りたい場合には、LED やセンサなどを接続して利用する必要がある場合があります。こうした、「組み込み型のシステム」を作る場合には、Raspberry Pi を利用する方が簡単です。
もう一つは、ネットワークの設定なども含めて学習したい場合には、Raspberry Pi を利用した方が有利です。理由は簡単で仮想マシーンを利用する場合には、基本的なネットワークの設定は仮想マシーンを利用するためのソフトウエアがほぼ自動で設定してくれるので、実際に自分で設定する必要がないためです。実際には、ネットワークの設定は、仮想マシーンの設定で幾つか選べますが、設定によって、仮想マシーンの設定は変わってきます。これらをほぼ自動で設定してくれるので、何を設定しているかを学習したい場合には、Raspberry Pi で自分で設定したほうが、よく理解できます。
また、Raspberry Pi を利用すると、実際に「別のコンピュータ」なので、二つのコンピュータの境界が明確で、ファイルの場所やプログラムの場所などを理解しやすいと言えます。特に仮想マシーンの場合は、仮想マシーンを動かしているコンピュータ(ホスト OS)とファイルを共有する仕組みが自動で設定される場合も多いため、ファイルのやりとりが簡単にできます。
Raspberry Pi を利用する場合には、共有の仕組みを設定したり、ファイルを実際に転送するなどの処理が必要になるので、そうした部分の理解も深まります。
では、あえて Raspberry Pi を利用するメリットは何かという事になります。
例えば、単にテストの為のサーバーを作るだけではなく、Raspberry Pi 自体で別の機能を作りたい場合には、LED やセンサなどを接続して利用する必要がある場合があります。こうした、「組み込み型のシステム」を作る場合には、Raspberry Pi を利用する方が簡単です。
もう一つは、ネットワークの設定なども含めて学習したい場合には、Raspberry Pi を利用した方が有利です。理由は簡単で仮想マシーンを利用する場合には、基本的なネットワークの設定は仮想マシーンを利用するためのソフトウエアがほぼ自動で設定してくれるので、実際に自分で設定する必要がないためです。実際には、ネットワークの設定は、仮想マシーンの設定で幾つか選べますが、設定によって、仮想マシーンの設定は変わってきます。これらをほぼ自動で設定してくれるので、何を設定しているかを学習したい場合には、Raspberry Pi で自分で設定したほうが、よく理解できます。
また、Raspberry Pi を利用すると、実際に「別のコンピュータ」なので、二つのコンピュータの境界が明確で、ファイルの場所やプログラムの場所などを理解しやすいと言えます。特に仮想マシーンの場合は、仮想マシーンを動かしているコンピュータ(ホスト OS)とファイルを共有する仕組みが自動で設定される場合も多いため、ファイルのやりとりが簡単にできます。
Raspberry Pi を利用する場合には、共有の仕組みを設定したり、ファイルを実際に転送するなどの処理が必要になるので、そうした部分の理解も深まります。
まとめ
仮想マシーンを使えば、実際にメインで使用している PC 以外の OS やネットワークを経由したシステムを構築できるのでテストや学習に利用できます。コスト的にも、仮想マシーンを利用する方が有利です。
しかし、実際にネットワークを利用したシステムの学習をする場合、Raspberry Pi を利用すると、目でみて別のコンピュータを稼働させて実際にシステムを見ながら学習できる点は有利です。学習目的で、別のコンピュータを稼働させる場合、多少コストは余分にかかったとしても、Raspberry Pi を利用する価値は十分にあります。
特に、「別のコンピュータ」なので、現在利用している PC とは完全に別にすることができます。従って、現在利用している PC に影響する事なく、思い切った変更や実験をやりやすいのは間違いありません。特に色々な Linux を体験したい場合などは、Raspberry Pi は有利です。16~32GB 程度のマイクロ SD カードを複数用意しておけば簡単に OS の切り替えも可能ですし、コストも限定的です。
シリコンバレースーパーウエアでは、単にプログラミングだけではなく、ネットワークを含めた「システム」の全体的な理解はシステム開発をする上で大変重要なエリアと考えています。従って、Raspberry Pi を利用したより効果的なシステム設計の理解を推奨しています!
仮想マシーンを使えば、実際にメインで使用している PC 以外の OS やネットワークを経由したシステムを構築できるのでテストや学習に利用できます。コスト的にも、仮想マシーンを利用する方が有利です。
しかし、実際にネットワークを利用したシステムの学習をする場合、Raspberry Pi を利用すると、目でみて別のコンピュータを稼働させて実際にシステムを見ながら学習できる点は有利です。学習目的で、別のコンピュータを稼働させる場合、多少コストは余分にかかったとしても、Raspberry Pi を利用する価値は十分にあります。
特に、「別のコンピュータ」なので、現在利用している PC とは完全に別にすることができます。従って、現在利用している PC に影響する事なく、思い切った変更や実験をやりやすいのは間違いありません。特に色々な Linux を体験したい場合などは、Raspberry Pi は有利です。16~32GB 程度のマイクロ SD カードを複数用意しておけば簡単に OS の切り替えも可能ですし、コストも限定的です。
シリコンバレースーパーウエアでは、単にプログラミングだけではなく、ネットワークを含めた「システム」の全体的な理解はシステム開発をする上で大変重要なエリアと考えています。従って、Raspberry Pi を利用したより効果的なシステム設計の理解を推奨しています!
コメント
コメントを投稿