Si chiarisce la confusione sull'auto-ospitare

(Il mio livello: ho creato alcuni siti web semi-complessi su Wix, programmatore principiante)
Una grande confusione che avevo, ora un po’ più chiarita, è che l’auto-ospitamento (self-hosting) di Discourse è molto diverso dal ‘web hosting’.

1) L’auto-ospitamento di Discourse richiede un server, il che significa qualcos’altro del tutto diverso, giusto? (da qui la grande differenza di prezzo rispetto ai prezzi del web hosting comunemente pubblicizzati, giusto)

2) Quindi, l’hosting VPS è il termine equivalente legato all’auto-ospitamento di Discourse? O ci sono anche altre opzioni per questo? Un altro tipo di auto-ospitamento? (Sono consapevole dell’ospitamento sul proprio hardware, però)

3.1) Quindi l’hosting gestito (managed hosting); è un servizio sopra questo tipo di hosting VPS?
3.2) È molto più costoso?
3.3) Ma cosa fa esattamente?
3.4) Come newbie povero che avvia un piccolo forum (~100 utenti/mese), l’hosting gestito può essere evitato, giusto?

Dopo ore di lettura online sull’hosting di Discourse, il post da cui proviene la citazione seguente è stato uno dei riassunti più utili e completi per aiutarmi a scegliere la mia strada di hosting:

Riguardo a questo punto citato, può qualcuno chiarirmi questi aspetti:

4.1) Suppongo che si tratti della manutenzione del server? Non è già inclusa ora quando si passa per DO/Hetzner? O sarà inclusa solo in un tipo di servizio separato? Come si chiama?
Cioè, se uso l’opzione droplet a 1 click di DO, è questo il tipo di servizio che include quella manutenzione? O è legato solo alla configurazione?

4.2) Che tipo di tempo/conoscenza richiede la “manutenzione” per un forum come il mio?

4.3) @tophee ha detto “Per vari motivi, i server gestiti sono raramente utilizzati dagli amministratori dei forum Discourse”. Perché?

Ho trovato utile anche questo diagramma decisionale, forse è obsoleto, quindi se alcune cose sono più facili ora, per favore fatemelo sapere.

5.1) Non capisco bene cos’è SSH e, secondo questo grafico, tutti gli auto-ospitanti ne hanno bisogno?
5.2) Cosa intendono con essere a proprio agio nella gestione di DO, MailGun e DNS? Che tipo di tempo/conoscenza richiede la gestione di questi elementi per un forum come il mio?

Cercherò di rispondere alle tue domande, anche se penso che tu possa aver confuso alcuni termini sovrapposti, il che ha generato un po’ di confusione.

Quando gli utenti di questo forum parlano di ‘self-hosting’ (auto-ospitamento) di Discourse, si riferiscono all’esecuzione di un’istanza di Discourse sul proprio server. (ne parlerò meglio tra un attimo) Quando parlano di ‘managed hosting’ (hosting gestito), si riferiscono a un servizio che fornisce un’istanza di Discourse in esecuzione su hardware fornito dall’host. Con ‘managed hosting’ intendono che l’istanza di Discourse è gestita dal servizio, che si occupa di mantenere aggiornata l’istanza di Discourse e il sistema operativo su cui essa gira, assicurandosi che tutto funzioni correttamente.

Per ‘auto-ospitare’ Discourse, hai bisogno di un server con accesso a Internet e di un servizio DNS configurato correttamente che punti al tuo server. Il server può essere un hardware fisico situato presso le tue strutture o può essere un ‘VPS’. VPS sta per Virtual Private Server. Un VPS è un hardware di server messo a tua disposizione, sul quale hai il controllo totale come se fosse nelle tue strutture, ma che accedi ‘a distanza’. Per ‘accedere a distanza’ intendo che utilizzi strumenti come SSH e FTP per accedere al server, controllarlo e trasferirvi file.

SSH sta per ‘Secure Shell’ (Shell Sicura). Una shell sicura è fondamentalmente un prompt dei comandi che funziona attraverso un tunnel sicuro (crittografato). Hai familiarità con la gestione di un server tramite il prompt dei comandi?

Shell, terminale, riga di comando e prompt dei comandi indicano sostanzialmente la stessa cosa. Gestire un computer utilizzando una finestra di terminale e digitando comandi al prompt. Se tutto ciò che ho appena detto ti sembra una lingua diversa, potrebbe essere necessario imparare le basi prima di tentare.

Quando affitti un VPS, ti vengono fornite le credenziali e l’indirizzo IP del tuo nuovo server. Di solito, al momento dell’acquisto, ti viene data la possibilità di scegliere il sistema operativo. Accedi al tuo server utilizzando un programma terminale come PuTTY o semplicemente la finestra del terminale sul tuo computer. Puoi utilizzare un programma FTP (File Transfer Protocol) come Filezilla per trasferire file dal tuo computer al VPS.

Quindi, una volta affittato un VPS e effettuato l’accesso tramite SSH, puoi installare un’istanza di Discourse sul tuo server e quindi sarai in ‘auto-ospitamento’ di Discourse. Hai il controllo completo della tua istanza di Discourse e del server su cui è in esecuzione. Di solito puoi mantenere Discourse aggiornato con gli strumenti di amministrazione integrati in Discourse stesso, ma occasionalmente dovrai utilizzare il prompt dei comandi per eseguire l’aggiornamento manualmente. Devi anche mantenere i backup dei tuoi dati e sapere come ripristinarli. Discourse esegue i backup automaticamente, ma devi scaricarli e conservarli in modo sicuro nel caso in cui ti servissero.

Con un VPS dovrai anche mantenere il sistema operativo su cui è in esecuzione la tua istanza di Discourse. Questo richiede alcune conoscenze del sistema operativo e di come mantenerlo aggiornato e funzionante correttamente. Se rovini il VPS, di solito tutto ciò che il servizio di hosting VPS può fare è cancellare il tuo sistema operativo e ricaricare una versione pulita. Devi anche fare il backup dei dati importanti necessari nel caso in cui tu debba ricaricare il sistema operativo.

Una volta configurato e in esecuzione, questa è una cosa piuttosto facile da mantenere, se sai quello che stai facendo. Dalla descrizione delle tue competenze, penso che tu possa gestirla. Il modo migliore per imparare a fare tutto questo è provare. Oggi l’affitto di un VPS è piuttosto economico. Configura un server, prova a far funzionare Discourse su di esso e vieni qui o chiedi su ask.discourse.org se hai domande.

Tieni presente che se il forum che gestisci non riceve molto traffico, il che non succederà da solo, se lo rovini puoi semplicemente ricominciare da capo. Se un gruppo di persone si unisce al tuo forum e inizia a pubblicare, allora dovrai mantenerlo e fare i backup. Se hai un forum già esistente, o un prodotto che vuoi promuovere o supportare, forse dovresti valutare un provider di hosting. Se stai solo sperimentando e imparando… vai pure.

Hosting Discourse ≠ Self-hosting

Sono un esperto di self-hosting e ho effettuato alcune configurazioni complesse; inoltre, ho lavorato per Discourse, quindi ho una certa familiarità con i due concetti, che sembra tu abbia un po’ confuso. Cercherò di chiarire alcune cose per te, ma questa non è affatto una spiegazione esaustiva, anche se un po’ lunga, lol. Non so da dove tu abbia preso quel diagramma di flusso, ma non è esattamente corretto.

L’hosting Discourse è proprio quello che sembra: Discorer ospiterà il tuo sito dietro pagamento di una tariffa e, come hai già scoperto, ci sono diverse fasce di prezzo, a partire da quella gratuita, che offrono più opzioni man mano che si sale di livello, e la fascia Enterprise è la più alta e costosa (ti offre anche il maggior numero di opzioni oltre ai loro servizi di supporto di prima linea). L’hosting gestito è la stessa cosa (l’hosting Discourse è una forma di hosting gestito), ma è offerto anche da altre società partner come Communiteq o Literate Computing. Queste società partner offrono anche vari servizi di sviluppo e supporto a pagamento oltre all’hosting (come faccio anche io). Tieni presente che il lavoro di sviluppo e supporto specializzato non è di solito gratuito, ed è per questo che esiste il Marketplace. Inoltre, sebbene la struttura dei prezzi dell’hosting Discourse possa sembrarti costosa, posso assicurarti che molte aziende ben note pagano cifre elevate per i loro forum Enterprise molto grandi, attivi e ben gestiti, molti dei quali privati. I contratti di servizio (SLA) e i livelli di supporto/servizi di sviluppo offerti da Discourse sono tali perché le loro attività commerciali lo richiedono. Se sei un’azienda tecnologica e vieni colpito da un attacco DDoS che può costare alla tua società sei cifre in termini di downtime, pagare per l’hosting Enterprise ne vale assolutamente la pena.

Self-hosting significa proprio quello che dice: ospiti il tuo sito su un server affittato (o su uno fisico di tua proprietà, cosa che non consiglio perché è un altro problema complesso). Il self-hosting non significa solo affittare un server (o un VPS - virtual private server) e connettersi via SSH e basta. Serve avere alcune conoscenze per essere un amministratore self-hosted. Un programmatore alle prime armi che ha creato alcuni siti Wix non ti aiuterà molto dal punto di vista del self-hosting di Discourse; si tratta di cose e livelli di competenza molto diversi. Il fatto che tu non sappia ancora cos’è SSH è probabilmente un indicatore che devi ancora crescere in quell’ambito. Secure Shell - Wikipedia

Se sei interessato ad imparare, ti suggerisco di iniziare leggendo la documentazione di installazione standard e imparando le basi da lì. Alcuni trovano più facile di altri, e il fatto che tu abbia un po’ di esperienza nell’amministrazione di siti web potrebbe aiutarti ad imparare più velocemente. Saper connettersi via SSH a un server è una cosa, ma devi essere a tuo agio con un’interfaccia a riga di comando e capire le basi dell’amministrazione Docker e il funzionamento dei container. Dato che dici di avere un sito piccolo, un’installazione standard probabilmente andrà bene per iniziare e ti darà accesso a tutti i plugin integrati, oltre a qualsiasi altro che tu voglia aggiungere; essenzialmente, un’istanza Discourse self-hosted è come avere il tuo forum Discourse ospitato a livello Enterprise ma senza il loro supporto esperto, gli SLA di uptime e le prestazioni (ad esempio, avrai un po’ di downtime ogni volta che ricompili o effettui aggiornamenti, mentre l’hosting Discourse lo fa per te e senza alcun downtime percepibile).

Non c’è assolutamente alcun motivo per cui tu non possa imparare a fare il self-hosting, ma ricorda che nulla è gratuito e il tipo di servizio e la scala che desideri determineranno i costi che dovrai sostenere. Alcuni servizi VPS sono più economici di altri, e c’è una lista qui messa insieme da @pfaffman che può aiutarti a decidere. Per esempio, ho 3 siti Discourse, tutti su Hetzner, ma con server di dimensioni diverse e costi associati: 2 siti sono installazioni a doppio container dietro Cloudflare CDN con archiviazione oggetti R2 (compatibile S3) per upload e backup, e l’altro è un’installazione standard usata per scopi di test. Ho usato DigitalOcean in passato ma può essere relativamente costoso; tuttavia, è il punto di partenza consigliato per chi impara le installazioni standard (anche se non trovo Hetzner così diverso, e preferisco il loro dashboard).

Se non vuoi pagare Discourse o nessuna delle loro società partner di hosting per gestire il tuo hosting, e hai bisogno di più della fascia gratuita, il mio consiglio è di fare alcune ricerche e letture, poi provare un’installazione autonoma. Impara cos’è un file app.yml e come modificarlo, come configurare il tuo nameserver e i servizi email: questo è il punto di partenza per imparare a configurare la tua istanza Discourse come self-hoster. Alcuni servizi VPS ti permettono di affittare server molto economici per brevi periodi solo per test o apprendimento.

Questa è una tabella piuttosto valida e sono d’accordo con tutto ciò che hanno già detto le persone sopra di me (anche se sconsiglierei vivamente a un principiante di usare un LLM per il supporto, poiché spesso sbagliano in modo palese). Tuttavia, “self-hosting” è un termine ombrello piuttosto ampio che potrebbe essere chiarito qui.

Se:

  • ti senti a tuo agio nell’eseguire Linux sul tuo hardware (o a patire la lettura di post su Reddit vecchi di 15 anni)
  • non hai soldi da spendere con le grandi aziende tecnologiche
  • hai una connessione internet e un’alimentazione elettrica stabili e garantite 24/7
  • non hai restrizioni imposte dal tuo provider (come porte 80/443 bloccate o IPv4 dinamico)
  • sai fare le basi di networking (inoltro delle porte)
  • hai un computer di riserva (può essere un vecchio PC da ufficio con 4GB di DDR3, realisticamente, purché tu abbia un SSD)

… allora consiglierei vivamente di ospitare il tutto sul tuo hardware. Spesso ha una cattiva reputazione qui per motivi a me sconosciuti (variabilità?) ma purché tu ne sia capace, te lo consiglierei assolutamente! Il self-hosting è sempre stato il mio modo di fare le cose ed era fantastico quando ero più giovane e non potevo permettermi il cloud. Anche ora, scelgo di fare self-hosting su server locali perché è economico, prevedibile e sei libero di fare le cose come preferisci.

C’è molto da imparare con il self-hosting e anche se riesci a installarlo con successo sul tuo hardware o su un VPS, avrai comunque molto lavoro davanti. Puoi sempre saltare tutto questo e optare per un piano ospitato, ma se stai cercando di risparmiare soldi, il self-hosting (specialmente sul tuo hardware) è fantastico.