Windows と Linux: セルフホスト型アプリにはどちらが適しているか

in tech

セルフホスティングを始めたばかりの場合、Jellyfin、Immich、または Home Assistant の最初のインスタンスをインストールする前に、どのオペレーティング システムを使用するかを選択する必要があります。

種族主義や好みが非常に重要である他のコンピューター討論とは異なり、サーバーのホスティングはほとんどが実際的な問題です。柔軟性、効率性、信頼性が必要です。これらはすべて、Linux という 1 つの方向のみを指しています。

Linux は実質的にサーバーとして設計されています

軽くて放置しやすい

Konsole の Kubuntu 上で実行されている Htop。

サーバーが何をするとしても、電力や計算などのリソースを必要以上に消費することは望ましくありません。 Ubuntu (または Debian) のヘッドレス バージョンでは、数百メガバイトの RAM を使用しても問題ありません。一方、Windows はアイドル状態で数ギガバイトを消費します。デスクトップとして使用している場合、通常はそれほど重要ではありませんが、サーバーとして使用できるハードウェアが制限されます。

古いラップトップやデスクトップ、安価なミニ PC、または Pi を再利用したい場合、何台も失うわけにはいきません。 ギガバイトのRAM。

カウンタートップに置かれた Beelink mini PC と Logitech ワイヤレス キーボードの画像。

古い SSD を再利用するためにベアボーン ミニ PC を購入しました。これは私が今年行ったテクノロジーの中で最も賢明な選択です

ベアボーン ミニ PC と無料の Linux を使用してセカンダリ PC を構築しましたが、完全に満足です

サーバーの唯一の本当の仕事は、利用可能なハードウェアをすべて使用して稼働し続けることです。 Debian または Ubuntu Server のヘッドレス インストールでは、約 200 ~ 400 MB の RAM がアイドル状態になります。対照的に、Windows では、最初のアプリを起動する前に数ギガバイトが必要になります。

このリソース使用量の差により、実際に使用できるハードウェアが決まります。退職したラップトップ、150 ドルのミニ PC、または Raspberry Pi を再利用したい場合、実行可能な選択肢は Linux だけです。総リソースの 2 桁の割合を失うわけにはいきません。サーバーを管理する必要がある場合、通常は SSH 経由で管理します。これにより、99% の時間で必要のない完全なデスクトップ環境のオーバーヘッドが回避されます。

白い背景に WD_BLACK 2TB SSD。

ストレージ容量

2TB

ハードウェアインターフェース

PCIE×4

対応デバイス

ラップトップ、マザーボード

ブランド

ウエスタンデジタル

TBW

7300MB/秒

寸法

長さ3.15インチ x 幅0.87インチ x 厚さ0.09インチ

WD_Black 2TB SSD はゲームに最適です。最大 7,300 mb/s の読み取り速度を実現し、オプションのヒートシンクを備えています。このドライブには、健全性を監視し、互換性のあるモデルの RGB 照明をカスタマイズするための wd_black ダッシュボード ソフトウェアが含まれています。


RAM 以外にも制御の問題があります。 Windows Update は、好きなときにいつでも更新することを好むことで知られていますが、24 時間 365 日アクセスできる必要があるものをホストしている場合、これは繰り返し発生する問題です。 Linux では、セキュリティ パッチを無人で適用し、指示された場合にのみ再起動できますが、systemd はクラッシュしたサービスをバックグラウンドで確実に自動的に再起動します。

手動で再起動しない限り、私の Linux サーバーは通常、再起動 (通常は停電) まで数か月間実行されますが、Windows PC は月に少なくとも数回強制的にリセットされます。ゲーム サーバー、写真バックアップ サービス、定期的に使用するストリーミング サービスなどをホストしている場合、この種の予期せぬ中断は、よく言っても迷惑です。

セルフホスティングの世界は Linux を中心に構築されています

Windows のサポートは二の次です

オンラインでセルフホスティングについて読み始めると、圧倒的多数のガイド、スクリプト、インストーラー、フォーラムが Linux を対象としていることがわかります。セルフホスト型プロジェクトのファーストパーティのドキュメントも Linux に大きく偏っています。多くの場合、Windows の説明書 (さらに言えば、インストーラー) がまったく存在しないことがよくあります。

「ユーザーフレンドリー」なプラットフォーム (Proxmox、TrueNAS、Unraid、CasaOS) もすべて Linux です。 Windows でセルフホストすることを選択した場合、実際に使用する前に、Windows に適合するように見つけた答えを作り直すのにかなりの時間を費やすことになります。

Windows 上の Docker でも Linux が動作します

Windows をセルフホスティング プラットフォームとして使用することを擁護する人は、ほとんどの場合、セルフホスティングをはるかに容易にする Docker が Windows 上で実行されることをすぐに指摘します。しかし、実際に内部を覗いてみると、そうではありません。

Windows で Docker Desktop を使用すると、システムは WSL2 仮想マシン内ですべての Linux コンテナを実行します。基本的に、Windows は Linux のバージョンをホストしています。 Linux アプリをホストできます。

Windows コンテナーもありますが、セルフホストするもののほとんどはデフォルトで Linux コンテナーになります。

このアプローチでは、リソースを使い果たす仲介者も導入されます。結局、VM メモリがすぐに予約され、読み取りと書き込みが若干遅くなります。 そして 必然的に何か問題が発生した場合には、デバッグする必要があることがもう 1 つあります。

とにかくすべてのコンテナの宛先が Linux である場合、 Linuxを実行するだけです 回りくどい解決策はスキップしてください。


Linux では事前にもう少し費用がかかるかもしれませんが、その努力は報われます

Linux は、セルフホスティングの世界全体がすでに Linux を中心に構築されているため、最良の選択です。 Windows 上でコンテナーを実行する場合でも、コンテナーは Linux VM 内で実行されます。 Linux を使用すると、アイドル要件が低くなり、「エクスペリエンスをアップグレードする」ための突然の再起動が不要になり、必要なだけのドキュメントが得られます。

古い PC やラップトップを使って始めれば、これまで触ったことがなくても、1 ~ 2 時間以内に Proxmox を起動して実行できるようになります。そこに到達したら、必要なシステム仕様で仮想マシンを起動し、公式スクリプトを使用して Docker エンジンと Compose をインストールするのに、あと 20 分しかかかりません。

この初期時間の投資により (たとえ最初にもう少し学習が必要だったとしても)、将来のトラブルシューティングにかかる​​時間を節約できます。

関連情報は以下のリンクからご確認いただけます

公式情報はこちら

関連記事

前の投稿
ジャンク引き出しの中にある USB ケーブルが NAS を故障させる可能性があります。その理由は次のとおりです。
次の投稿
Debian の静かな柔軟性が、私の PC の多くに Debian が残っている理由です

関連記事