Confusões sobre auto-hospedagem começam a se esclarecer

(Meu nível: construí alguns sites semicomplicados no Wix, programador iniciante)

Uma grande confusão que eu tinha, e que agora está um pouco mais esclarecida, é que hospedar o Discourse por conta própria é muito diferente de “hospedagem web”.

1) Hospedar o Discourse por conta própria exige um servidor, o que significa algo completamente diferente, certo? (por isso a grande diferença de preço em relação aos preços de hospedagem web normalmente anunciados, certo?)

2) Então, “hospedagem VPS” é o termo equivalente relacionado à hospedagem do Discourse por conta própria? Ou há outras opções para isso também? Outro tipo de hospedagem por conta própria? (Estou ciente da opção de hospedar em meu próprio hardware, no entanto.)

3.1) Então, “hospedagem gerenciada”; isso é um serviço em cima desse tipo de hospedagem VPS?
3.2) Isso é muito mais caro?
3.3) Fazendo exatamente o quê, no entanto?
3.4) Como um iniciante sem grana começando um pequeno fórum (~100 usuários/mês), a hospedagem gerenciada pode ser feita sem isso, certo?

Após horas lendo online sobre hospedagem do Discourse, a postagem da qual a citação a seguir é extraída foi uma das mais úteis e completas para ajudar a escolher meu caminho de hospedagem.

Sobre esse ponto citado, alguém pode esclarecer isso, por favor:

4.1) Entendo que isso se refere à manutenção do servidor? Isso já não está incluído agora ao usar DO/Hetzner? Ou isso só estará incluído em um tipo separado de serviço? Como se chama?
Como se eu fizer o “1 clique droplet” da DO, é esse tipo de coisa que inclui essa manutenção? Ou isso está relacionado apenas à configuração?

4.2) Que tipo de tempo e nível de conhecimento a “manutenção” exige para o meu tipo de fórum?

4.3) @tophee disse: “Por várias razões, servidores gerenciados raramente são usados por administradores de fóruns Discourse”. Por que isso?

Achei essa árvore de decisão também bastante útil, talvez esteja desatualizada, então se algumas delas forem mais fáceis agora, por favor me avise.

5.1) Não entendo muito bem o que é SSH, e, de acordo com este gráfico, todos os que hospedam por conta própria precisam disso?

5.2) O que querem dizer com estar confortável em gerenciar DO, MailGun e DNS? Que tipo de tempo e nível de conhecimento gerenciar esses itens exige para o meu tipo de fórum?

Vou tentar responder às suas perguntas, embora ache que você possa estar usando alguns termos sobrepostos, o que está causando parte da sua confusão.

Quando as pessoas neste fórum mencionam ‘auto-hospedagem’ (self-hosting) do Discourse, elas se referem a executar uma instância do Discourse no seu próprio servidor. (mais sobre isso em um minuto) Quando elas mencionam ‘hospedagem gerenciada’ (managed hosting), elas se referem a um serviço que fornece uma instância do Discourse executando em hardware também fornecido pelo provedor. Por ‘hospedagem gerenciada’, entendem-se que a instância do Discourse é gerenciada pelo serviço; eles cuidam de manter a instância do Discourse atualizada, bem como o sistema operacional em que o Discourse está rodando, garantindo que tudo funcione corretamente.

Para ‘auto-hospedar’ o Discourse, você precisa de um servidor com acesso à internet e um serviço de DNS configurado corretamente, apontando para o seu servidor. O servidor pode ser um hardware físico localizado nas suas instalações ou pode ser um ‘VPS’. VPS significa Servidor Privado Virtual. Um VPS é um hardware de servidor fornecido a você, sobre o qual você tem controle total, como se estivesse nas suas instalações, mas você acessa-o ‘remotamente’. Por ‘acesso remoto’, quero dizer que você usa ferramentas como SSH e FTP para acessar o servidor, controlá-lo e transferir arquivos para ele.

SSH significa ‘Secure Shell’ (Shell Segura). Uma shell segura é basicamente um prompt de comando que roda através de um túnel seguro (criptografado). Você está familiarizado com a execução de um servidor via prompt de comando?

Shell, terminal, linha de comando e prompt de comando significam essencialmente a mesma coisa. Operar um computador usando uma janela de terminal e digitando comandos no prompt. Se tudo o que acabei de dizer parecer uma língua estrangeira, isso pode exigir algum estudo antes de tentar.

Ao alugar um VPS, você recebe as credenciais de acesso e o endereço IP do seu novo servidor. Geralmente, ao comprar, você tem a escolha do sistema operacional. Você faz login no seu servidor usando um programa de terminal, como o PuTTY, ou simplesmente a janela de terminal do seu computador. Você pode usar um programa de FTP (File Transfer Protocol), como o Filezilla, para transferir arquivos do seu computador para o VPS.

Portanto, uma vez que você alugou um VPS e fez login nele usando SSH, você pode instalar uma instância do Discourse no seu servidor e, assim, estará ‘auto-hospedando’ o Discourse. Você tem controle total sobre a sua instância do Discourse e o servidor em que ela está rodando. Geralmente, você pode manter o Discourse atualizado usando as ferramentas de administração integradas ao próprio Discourse, mas ocasionalmente precisará usar o prompt de comando para atualizar manualmente. Você também precisa manter backups dos seus dados e saber como restaurá-los. O Discourse faz backups automaticamente, mas você deve baixá-los e armazená-los com segurança, caso precise deles.

Com um VPS, você também terá que manter o sistema operacional em que a sua instância do Discourse está rodando. Isso requer algum conhecimento do sistema operacional e de como mantê-lo atualizado e funcionando corretamente. Se você estragar o VPS, geralmente tudo que o serviço de hospedagem do VPS pode fazer é formatar o seu sistema operacional e reinstalar uma versão limpa. Você também precisa fazer backup dos dados importantes, caso precise reinstalar o sistema operacional.

Uma vez configurado e em funcionamento, isso é algo relativamente fácil de manter, se você souber o que está fazendo. Pela sua descrição das suas habilidades, acho que você conseguirá lidar com isso. A melhor maneira de aprender a fazer tudo isso é tentar. Alugar um VPS é bastante barato nos dias de hoje. Configure um servidor, tente colocar o Discourse no ar e, se tiver dúvidas, venha aqui ou pergunte no ask.discourse.org.

Lembre-se apenas de que, se o fórum que você administrar não receber muito tráfego — o que não acontecerá sozinho —, se você estragar algo, pode simplesmente recomeçar. Se muitas pessoas se juntarem ao seu fórum e começarem a postar, você precisará mantê-lo atualizado e com backups. Se você já tem um fórum existente ou um produto que deseja promover ou dar suporte, talvez valha a pena verificar um provedor de hospedagem. Se você está apenas brincando e aprendendo… vá em frente.

Hospedagem Discourse ≠ auto-hospedagem

Sou um auto-hospedeiro experiente e já fiz algumas configurações complexas; além disso, já trabalhei para a Discourse, então tenho algum conhecimento sobre os dois conceitos, que parece que você está um pouco confundindo. Vou tentar esclarecer algumas coisas para você, mas isso de forma alguma é uma explicação exaustiva, mesmo sendo um pouco longa, rs. Não sei de onde você tirou aquele fluxograma, mas ele não está muito correto.

Hospedagem Discourse é exatamente o que o nome sugere — a Discourse hospeda seu site por uma taxa, e como você já descobriu, existem diferentes faixas de preço, começando pela gratuita, que oferecem mais opções conforme você sobe de nível, e o plano Enterprise é o topo e o mais caro (ele oferece mais opções, além dos serviços de suporte de primeira linha). Hospedagem gerenciada é a mesma coisa (a hospedagem Discourse é uma forma de hospedagem gerenciada), mas também é oferecida por outras empresas parceiras, como a Communiteq ou a Literate Computing. Essas empresas parceiras também oferecem vários serviços de desenvolvimento e suporte por uma taxa, além da hospedagem (como eu também faço). Tenha em mente que trabalho de desenvolvimento e suporte especializado geralmente não é gratuito, e é para isso que existe o Marketplace. Além disso, embora a estrutura de preços da hospedagem Discourse possa parecer cara para você, posso garantir que muitas empresas bem conhecidas pagam valores altíssimos por seus fóruns Enterprise muito grandes, movimentados e bem administrados, muitos deles privados. Os SLAs e os níveis de suporte/serviços de desenvolvimento que a Discourse oferece a elas são assim porque a atividade comercial delas exige isso. Se você é uma empresa de tecnologia e sofre um ataque DDoS que pode custar à sua empresa seis dígitos em tempo de inatividade, pagar pela hospedagem Enterprise vale muito a pena.

Auto-hospedagem significa exatamente o que diz — você hospeda seu próprio site em um servidor alugado (ou em um físico que você possui, o que não recomendo, porque isso é outra lata de vermes avançada). Auto-hospedagem não é apenas alugar um servidor (ou VPS — servidor privado virtual) e entrar via SSH e pronto. É preciso ter algum conhecimento para ser um administrador auto-hospedado. Um programador iniciante que construiu alguns sites no Wix não vai te ajudar muito do ponto de vista de auto-hospedagem Discourse; são coisas e níveis de habilidade muito diferentes. O fato de você ainda não saber o que é SSH provavelmente é um indicador de que você tem muito a aprender nessa área. Secure Shell – Wikipédia, a enciclopédia livre

Se você tiver interesse em aprender, sugiro que comece lendo a documentação de instalação padrão e aprenda as cordas a partir daí. Alguns acham mais fácil do que outros, e o fato de você ter alguma experiência com administração de sites pode te ajudar a aprender mais rápido. Saber apenas entrar em um servidor via SSH é uma coisa, mas você precisa se sentir confortável em uma interface de linha de comando e entender os básicos de administração do Docker e como os contêineres funcionam. Como você diz que tem um site pequeno, uma instalação padrão provavelmente funcionará bem para começar, e te dará acesso a todos os plugins embutidos, além de quaisquer outros que você queira adicionar; essencialmente, uma instância Discourse auto-hospedada é como ter seu próprio fórum Discourse hospedado em nível Enterprise, mas sem o suporte especializado, os SLAs de tempo de atividade e o desempenho deles (por exemplo, você terá alguma inatividade toda vez que reconstruir ou fizer atualizações, mas a hospedagem Discourse faz isso para você e sem nenhuma inatividade perceptível).

Não há absolutamente nenhuma razão pela qual você não possa aprender a auto-hospedar, mas lembre-se de que nada é gratuito e o serviço e a escala que você deseja determinarão quanto você precisará pagar. Alguns serviços de VPS são mais baratos que outros, e há uma lista aqui que o @pfaffman compilou e pode te ajudar a decidir. Por exemplo, tenho 3 sites Discourse, todos na Hetzner, mas com servidores de tamanhos diferentes e custos associados: 2 sites são instalações de contêiner duplo atrás de Cloudflare CDN com armazenamento de objetos R2 (compatível com S3) para uploads e backups, e o outro é uma instalação padrão usada para fins de teste. Já usei a DigitalOcean antes, mas pode ser relativamente cara; no entanto, é o ponto de partida recomendado para quem está aprendendo instalações padrão (embora eu não ache a Hetzner tão diferente assim, e prefiro o painel deles).

Se você não quiser pagar à Discourse ou a qualquer uma das empresas parceiras de hospedagem para gerenciar sua hospedagem, e precisar de mais do que o nível gratuito, minha recomendação é fazer algumas pesquisas e leituras, e então tentar uma instalação manual. Aprenda o que é um arquivo app.yml e como editá-lo, como configurar seu nameserver e serviços de e-mail — esse é o ponto de partida para aprender a configurar sua própria instância Discourse como auto-hospedeiro. Alguns serviços de VPS permitem alugar servidores muito baratos por períodos curtos apenas para testes ou aprendizado.

Este é um gráfico decente e concordo com tudo que as pessoas acima de mim já disseram (embora eu desaconselhasse fortemente que um iniciante usasse um LLM para suporte, pois eles estão frequentemente e de forma óbvia errados). No entanto, auto-hospedagem é um termo guarda-chuva amplo que poderia ser desambiguado aqui.

Se você:

  • estiver confortável executando Linux em seu próprio hardware (ou sofrendo ao ler posts do Reddit com 15 anos de idade)
  • não tiver dinheiro para gastar com grandes empresas de tecnologia
  • tiver internet e energia elétrica consistentes e garantidas 24/7
  • não tiver restrições impostas pelo provedor de internet (como portas 80/443 fechadas ou IPv4 dinâmico)
  • puder fazer configurações básicas de rede (encaminhamento de portas)
  • tiver um computador sobrando (pode ser uma máquina de escritório antiga com 4 GB de DDR3, desde que tenha um SSD)

… então eu definitivamente recomendaria hospedar em seu próprio hardware. Ele tem uma reputação ruim muitas vezes por aqui por razões desconhecidas para mim (variabilidade?), mas desde que você seja capaz de fazê-lo, eu definitivamente recomendaria tentar! Auto-hospedagem sempre foi minha maneira de fazer as coisas e foi ótimo quando eu era mais jovem e não podia pagar pela nuvem. Mesmo agora, escolho auto-hospedar em servidores locais porque é barato, previsível e você tem liberdade para fazer as coisas como quiser.

Há muito o que aprender com auto-hospedagem e, mesmo que você consiga instalá-lo com sucesso em seu próprio hardware ou em um VPS, ainda terá muito trabalho pela frente. Você sempre pode pular tudo isso e optar por um plano hospedado, mas se você está procurando economizar dinheiro, a auto-hospedagem (especialmente em seu próprio hardware) é excelente.