セルフホスティングに関する混乱が解消

(私のレベル:Wixでいくつかのやや複雑なウェブサイトを作成、プログラミング初心者)

今、少しは理解が深まった大きな混乱の一つは、Discourseのセルフホスティングが「ウェブホスティング」とは大きく異なるということです。

1) Discourseのセルフホスティングがサーバーを必要とするということは、全く別のことを意味するんですよね?(そのため、一般的に宣伝されているウェブホスティングの価格と大きな差があるのは正しいでしょうか)

2) つまり、「VPSホスティング」はDiscourseのセルフホスティングに関連する同義語でしょうか? それとも他にも選択肢がありますか? 別の種類のセルフホスティングはありますか?(自分のハードウェアでホスティングする方法は承知しています)

3.1) 次に「マネージドホスティング」ですが、これはVPSタイプのホスティングの上に提供されるサービスでしょうか?
3.2) これはずっと高価ですか?
3.3) 具体的に何をしているのですか?
3.4) 初心者の貧乏学生として小さなフォーラム(月間約100ユーザー)を始める場合、マネージドホスティングなしでも可能ですよね?

Discourseのホスティングについてオンラインで何時間も調べていましたが、以下の引用元の投稿は、ホスティングの選択に役立つ最も有用で包括的な概要の一つでした。

この引用された点について、誰か以下のことを明確に説明していただけますか:

4.1) これはサーバーのメンテナンスについて話しているのでしょうか? DigitalOcean(DO)やHetznerを使う場合、これはすでに含まれているのでしょうか? それとも別の種類のサービスに含まれるのでしょうか? 何と呼ばれますか?
例えば、DOの1クリックドロップレット機能を使う場合、これはそのメンテナンスを含んでいるのでしょうか? それともそれはセットアップに関することだけでしょうか?

4.2) 私の様なフォーラムの場合、「メンテナンス」にはどのくらいの時間と知識レベルが必要ですか?

4.3) @topheeは「様々な理由から、Discourseフォーラムの管理者はマネージドサーバーをほとんど使用していません」と言いましたが、なぜでしょうか?

この決定木も非常に役立ちましたが、情報が古い可能性があります。今ではいくつかの項目が簡単になっているようでしたら、教えてください。

5.1) SSHが何なのかよく分かりませんが、このグラフによると、すべてのセルフホスターが必要なのでしょうか?
5.2) 「DO、MailGun、DNSの管理に慣れている」とはどういう意味でしょうか? 私の様なフォーラムの場合、これらの管理にはどのくらいの時間と知識レベルが必要ですか?

ご質問にお答えしますが、いくつかの用語が重複しているために混乱が生じている可能性があります。

このフォーラムのメンバーが「セルフホスティング」について言及している場合、それは自分のサーバーでDiscourseのインスタンスを実行することを指しています(詳細は後ほど説明します)。「マネージドホスティング」については、ホストが提供するハードウェア上でDiscourseのインスタンスを実行するサービスを提供することを指しています。「マネージドホスティング」とは、Discourseのインスタンスがサービスによって管理され、Discourseのインスタンスの更新や、Discourseが実行されているオペレーティングシステムの更新と適切な動作をホストが処理することを意味します。

Discourseを「セルフホスティング」するには、インターネットにアクセスできるサーバーと、サーバーを指すように適切に設定されたDNSサービスが必要です。サーバーは、あなたの施設で実行されている実際のハードウェアでも、VPS(Virtual Private Server)でも構いません。VPSとは、あなたの施設にあるかのように完全に制御できるが、リモートでアクセスできるサーバーハードウェアです。「リモートでアクセスする」とは、SSHやFTPなどのツールを使用してサーバーにアクセスし、制御し、ファイルを転送することを意味します。

SSHは「Secure Shell」の略です。セキュアシェルは、基本的に暗号化されたトンネルを介して実行されるコマンドプロンプトです。コマンドプロンプトからサーバーを実行することに慣れていますか?

シェル、ターミナル、コマンドライン、コマンドプロンプトはすべてほぼ同じ意味を持ちます。ターミナルウィンドウを使用してコンピュータを実行し、プロンプトにコマンドを入力することです。私が今言ったことがすべて別の言語のように聞こえる場合、これは試みる前にいくつかの学習が必要になるかもしれません。

VPSをレンタルすると、新しいサーバーの認証情報とIPアドレスが提供されます。通常、購入時にオペレーティングシステムの選択肢が与えられます。PuTTYなどのターミナルプログラムや、コンピュータのターミナルウィンドウを使用してサーバーにログインします。FilezillaなどのFTP(File Transfer Protocol)プログラムを使用して、コンピュータからVPSにファイルを転送できます。

VPSをレンタルし、SSHを使用してログインすると、サーバーにDiscourseのインスタンスをインストールし、Discourseを「セルフホスティング」できます。Discourseのインスタンスと、それが実行されているサーバーを完全に制御できます。通常、Discourse自体の組み込み管理ツールを使用してDiscourseを最新の状態に保つことができますが、場合によってはコマンドプロンプトを使用して手動で更新する必要があります。また、データのバックアップを作成し、それらを復元する方法を知っておく必要があります。Discourseは自動的にバックアップを作成しますが、必要に応じてダウンロードして安全に保管しておく必要があります。

VPSを使用すると、Discourseのインスタンスが実行されているオペレーティングシステムを維持する必要があります。これには、オペレーティングシステムの知識と、それを最新の状態に保ち、適切に実行する方法が必要です。VPSを壊した場合、通常、VPSホスティングサービスが実行できるのは、オペレーティングシステムを消去し、新しいバージョンを再ロードすることだけです。オペレーティングシステムを再ロードする必要がある場合に必要な重要なデータのバックアップも作成する必要があります。

一度設定して実行すると、これがかなり簡単に維持できます。あなたが何をしているのか知っている場合。あなたのスキルについての説明から、あなたがそれに対処できると思います。これらすべてを行う方法を学ぶ最善の方法は、試してみることです。VPSのレンタルは現在かなり安価です。サーバーを設定し、Discourseを起動して実行し、質問がある場合はここやask.discourse.orgにアクセスしてください。

ただし、あなたが運営するフォーラムに多くのトラフィックがない場合、それは独自のものではありません。あなたがそれを壊した場合、あなたはただやり直すことができます。多くの人があなたのフォーラムに参加して投稿を始める場合、それを維持し、バックアップする必要があります。既存のフォーラムや、プロモーションやサポートしたい製品がある場合、ホスティングプロバイダーをチェックしてみてください。あなたがただ遊び回って学んでいる場合… 行ってください。

Discourseのホスティング =≠ セルフホスティング

私は経験豊富なセルフホスターであり、いくつかの複雑な設定を行ってきました。また、以前Discourseで働いていたことがあるため、この2つの概念についてある程度の洞察を持っています。あなたは少し混同しているようですが、いくつかの点を明確に説明させていただきます。ただし、これは決して網羅的な説明ではなく、冗長になるかもしれませんが、笑。

あなたがどこからそのフローチャートを手に入れたのかはわかりませんが、それは正確ではありません。

Discourseのホスティングとは、その名の通り、Discourseが有料であなたのサイトをホスティングすることです。すでに発見されている通り、無料から始まり、より多くのオプションを提供する異なる価格帯があります。エンタープライズは最高で最も高価なプランであり、最も多くのオプションとトップクラスのサポートサービスを提供します。マネージドホスティングも同じです(Discourseのホスティングはマネージドホスティングの一種ですが)、CommuniteqやLiterate Computingなどのパートナー企業も提供しています。これらのパートナー企業は、ホスティング以外に、開発やサポートサービスも有料で提供しています(私も同様です)。開発や専門的なサポートは通常無料ではなく、これが#marketplaceの目的です。また、Discourseのホスティング価格構造が高額に思えるかもしれませんが、多くの有名企業が非常に大規模で活発なエンタープライズフォーラムのために高額を支払っていることを保証できます。その多くはプライベートです。Discourseが提供するSLAやサポート/開発サービスのレベルは、彼らのビジネス活動がそれを求めているためです。あなたがテック企業であり、DDoS攻撃を受けて6桁のダウンタイムコストを支払う場合、エンタープライズホスティングを支払う価値は十分にあります。

セルフホスティングとは、その名の通り、レンタルサーバー(またはあなたが所有する物理サーバー、ただしこれは別の高度な問題を引き起こすため推奨しません)で自分のサイトをホスティングすることです。セルフホスティングは、サーバー(またはVPS - 仮想プライベートサーバー)をレンタルしてSSHで接続するだけではありません。セルフホスティングの管理者になるためには、いくつかの知識が必要です。Wixでいくつかのウェブサイトを作成したプログラミング初心者は、Discourseのセルフホスティングの観点からはあまり役に立ちません。非常に異なることとスキルレベルです。あなたがまだSSHが何なのか知らないという事実は、その分野で成長の余地があることを示している可能性があります。 Secure Shell - Wikipedia

学ぶことに興味がある場合、標準的なインストールドキュメントを読んで、そこからコツを掴むことをお勧めします。人によっては簡単に見つかる人もいれば、難しい人もいます。あなたがいくつかのウェブサイト管理の経験を持っていることは、より速く学ぶのに役立つかもしれません。サーバーにSSHで接続できることは一つですが、コマンドラインインターフェースに慣れ、Docker管理の基礎とコンテナの仕組みを理解する必要があります。あなたが小さなサイトを持っていると言うので、標準的なインストールで始めるのが良いでしょう。これにより、組み込みプラグインや追加したい他のプラグインへのアクセスが可能になります。つまり、セルフホスティングのDiscourseインスタンスは、自分のエンタープライズレベルのDiscourseホスティングフォーラムを持っているようなものですが、専門的なサポートや稼働時間SLAやパフォーマンス(例えば、再構築やアップデートを行うたびにダウンタイムが発生しますが、Discourseのホスティングはこれをあなたのために実行し、目に見えるダウンタイムなしで)はありません。

セルフホスティングを学ぶことは可能ですが、何もないわけではありません。あなたが求めるサービスとスケールが、あなたが支払うべきコストを決定します。いくつかのVPSサービスは他のものよりも安価で、@pfaffmanが作成したリストがあなたを助けることができます。例えば、私は3つのDiscourseサイトを持っており、すべてHetzner上にありますが、異なるサイズのサーバーと関連するコストがあります:2つのサイトはCloudflare CDNの背後にデュアルコンテナインストールがあり、アップロードとバックアップにはR2(S3互換)オブジェクトストレージを使用しています。もう1つはテスト用の標準的なインストールです。以前DigitalOceanを使用しましたが、比較的高額です。ただし、標準的なインストールを学ぶ人にとって推奨される出発点です(ただし、Hetznerがそれほど違うとは思っていません、むしろダッシュボードが好きです)。

Discourseやそのパートナーホスティング企業にホスティングを管理させることを望まず、無料プラン以上のものを必要とする場合、いくつかの研究と読書を行い、セルフインストールを試すことをお勧めします。app.ymlファイルとは何か、どのように編集するか、ネームサーバーとメールサービスを設定する方法を学びます。これは、セルフホスターとして自分のDiscourseインスタンスを構成する方法を学ぶための出発点です。いくつかのVPSサービスは、テストや学習のために短期間で非常に安価にサーバーをレンタルすることができます。

これはかなり良いチャートですね。私より前に投稿した皆さんの意見には全て同意します(ただし、初心者がLLMを使ってサポートを得るのは強く反対します。LLMは非常に頻繁に明らかに間違った回答をするためです)。しかし、「セルフホスティング」という用語は幅広い意味を持つため、ここで明確に区別する必要があります。

もしあなたが:

  • 自分のハードウェアでLinuxを実行することに慣れている(あるいは15年前のRedditのスレッドを読み解く辛さを我慢できる)
  • 大手テック企業にお金を払う余裕がない
  • 安定した24時間365日のインターネット接続と電力を確保できる
  • ISPによる制限がない(ポート80/443の閉鎖や動的IPv4など)
  • 基本的なネットワーク設定(ポートフォワーディングなど)ができる
  • 予備のコンピュータがある(SSDがあれば、実用的には4GBのDDR3メモリを搭載した古いオフィスPCでも問題ない)

…であれば、自分のハードウェアでのホスティングを強くお勧めします。ここではよく悪い評判を浴びせられますが、その理由が私にはわかりません(変動性のためでしょうか?)。しかし、もしあなたがそれに対応できる能力を持っているなら、ぜひ試してみることをお勧めします!セルフホスティングは私の常套手段であり、若くてクラウドサービスにお金を払えなかった頃は素晴らしいものでした。今でも、安価で予測可能であり、自分の好きなように設定できるという理由から、ローカルサーバーでのセルフホスティングを選びます。

セルフホスティングには学ぶべきことがたくさんあります。自分のハードウェアやVPSにうまくインストールできたとしても、まだ多くの作業が残っています。もちろん、これらのすべてをスキップしてホスティングプランを選ぶこともできますが、お金を節約したいのであれば、セルフホスティング(特に自分のハードウェア上での)は素晴らしい選択肢です。