Проясняются вопросы самовыделения хостинга

(Мой уровень: создал несколько полусложных сайтов на Wix, начинающий программист)

Одна из главных вещей, в которой я запутался (и которая теперь немного прояснилась), — это то, что самостоятельный хостинг Discourse сильно отличается от обычного «веб-хостинга».

1) Самостоятельный хостинг Discourse требует сервера, что означает совершенно другую вещь, верно? (отсюда и большая разница в цене по сравнению с обычными тарифами веб-хостинга, верно?)

2) Так является ли «VPS-хостинг» эквивалентным термином для самостоятельного хостинга Discourse? Или есть и другие варианты? Какой-то другой вид самостоятельного хостинга? (Я знаю, что можно размещать на собственном оборудовании, но речь не об этом).

3.1) Тогда «управляемый хостинг»; это услуга поверх VPS-хостинга?
3.2) Он значительно дороже?
3.3) Но что именно он делает?
3.4) Как новичку с ограниченным бюджетом, запускающему небольшой форум (~100 пользователей в месяц), можно обойтись без управляемого хостинга, верно?

После нескольких часов чтения в интернете о хостинге Discourse, пост, из которого взята следующая цитата, оказался одним из самых полезных и полных обзоров, помогших мне выбрать путь хостинга:

Что касается этой цитаты, может ли кто-нибудь прояснить следующие моменты:

4.1) Я полагаю, речь идет об обслуживании сервера? Разве это уже не включено сейчас при использовании DO/Hetzner? Или это будет включено только в отдельный вид услуги? Как это называется?
Например, если я использую однощелчковый дроплет от DO, включает ли это в себя такое обслуживание? Или это относится только к настройке?

4.2) Сколько времени и какого уровня знаний требует «обслуживание» для форума моего типа?

4.3) @tophee сказал: «По различным причинам управляемые серверы редко используются администраторами форумов Discourse». Почему?

Я также нашел эту диаграмму решений довольно полезной, возможно, она устарела, так что если некоторые из этих шагов теперь стали проще, пожалуйста, сообщите.

5.1) Я не совсем понимаю, что такое SSH, и согласно этой диаграмме, нужен ли он всем, кто занимается самостоятельным хостингом?
5.2) Что они имеют в виду под «готовностью управлять DO, MailGun и DNS»? Сколько времени и какого уровня знаний требует управление этими вещами для форума моего типа?

Попробую ответить на ваши вопросы, хотя, думаю, путаница у вас возникла из-за некоторого совпадения терминов.

Когда участники этого форума говорят о «самостоятельном размещении» (self-hosting) Discourse, они имеют в виду запуск экземпляра Discourse на вашем собственном сервере (об этом чуть подробнее ниже). Когда они говорят о «управляемом хостинге» (managed hosting), они имеют в виду сервис, который предоставляет экземпляр Discourse, работающий на оборудовании, также предоставляемом хостинг-провайдером. Под «управляемым хостингом» подразумевается, что экземпляр Discourse обслуживается сервисом: они заботятся об обновлении самого Discourse, а также операционной системы, на которой он работает, и следят за её стабильной работой.

Чтобы самостоятельно разместить Discourse, вам нужен сервер с доступом в интернет и правильно настроенной DNS-службой, указывающей на ваш сервер. Сервером может быть реальное оборудование, находящееся у вас на месте (on-premise), или же «VPS». VPS расшифровывается как Virtual Private Server (виртуальный частный сервер). VPS — это серверное оборудование, предоставляемое вам, которым вы можете полностью управлять, как если бы оно находилось у вас на месте, но доступ к которому осуществляется «удаленно». Под «удаленным доступом» я имею в виду использование таких инструментов, как SSH и FTP, для подключения к серверу, управления им и передачи файлов.

SSH расшифровывается как Secure Shell (безопасная оболочка). Безопасная оболочка — это, по сути, командная строка, работающая через безопасный (шифрованный) туннель. Вам знакомо управление сервером через командную строку?

Термины «оболочка» (shell), «терминал», «командная строка» и «командный интерпретатор» (command prompt) во многом означают одно и то же. Это управление компьютером через окно терминала путем ввода команд в командной строке. Если всё, что я только что сказал, кажется вам языком из другой вселенной, возможно, вам потребуется время на изучение основ, прежде чем приступать к делу.

Когда вы арендуете VPS, вам предоставляются учетные данные и IP-адрес вашего нового сервера. Обычно при покупке вам предлагается выбор операционных систем. Вы входите в свой сервер, используя терминальную программу, такую как PuTTY, или просто встроенный терминал на вашем компьютере. Для передачи файлов с вашего компьютера на VPS можно использовать FTP-клиент, например FileZilla.

Итак, после аренды VPS и входа в него через SSH вы можете установить экземпляр Discourse на свой сервер, и тогда вы будете «самостоятельно размещать» Discourse. Вы получаете полный контроль над экземпляром Discourse и сервером, на котором он работает. Обычно вы можете поддерживать актуальность Discourse с помощью встроенных инструментов администрирования самого Discourse, но иногда придется использовать командную строку для ручного обновления. Также вам необходимо делать резервные копии своих данных и знать, как их восстанавливать. Discourse автоматически создает резервные копии, но вы должны скачивать их и хранить в безопасном месте на случай необходимости восстановления.

При использовании VPS вам также придется самостоятельно обслуживать операционную систему, на которой работает ваш экземпляр Discourse. Это требует некоторых знаний об операционной системе, о том, как поддерживать её в актуальном состоянии и обеспечивать стабильную работу. Если вы что-то сломаете на VPS, обычно хостинг-провайдер сможет только удалить вашу операционную систему и установить чистую версию. Вам также нужно будет сделать резервные копии важных данных, которые потребуются при переустановке операционной системы.

После настройки и запуска это довольно несложное дело в плане обслуживания, если вы знаете, что делаете. Судя по вашему описанию навыков, я думаю, вы с этим справитесь. Лучший способ научиться всему этому — попробовать. В наши дни аренда VPS стоит недорого. Настройте сервер, попробуйте запустить на нем Discourse, а если возникнут вопросы, обращайтесь сюда или на ask.discourse.org.

Просто имейте в виду: если на вашем форуме не будет большого трафика (а сам по себе он не появится), и вы что-то сломаете, вы всегда сможете начать заново. Если же к вашему форуму присоединится много людей и начнут создавать сообщения, вам придется поддерживать его в рабочем состоянии и делать резервные копии. Если у вас уже есть существующий форум или продукт, который вы хотите продвигать или поддерживать, возможно, стоит рассмотреть вариант с хостинг-провайдером. А если вы просто хотите поэкспериментировать и поучиться… дерзайте!

Хостинг Discourse ≠ самохостинг

Я опытный самохостер и выполнял некоторые сложные конфигурации; также я работал в Discourse, поэтому у меня есть некоторое понимание этих двух концепций, которые, кажется, вы немного перепутали. Я постараюсь прояснить некоторые вещи для вас, но это ни в коем случае не исчерпывающее объяснение, даже если оно довольно длинное, ха-ха. Не знаю, откуда вы взяли эту блок-схему, но она не совсем верна.

Хостинг Discourse — это то, что следует из названия: Discourse будет размещать ваш сайт за плату, и, как вы уже обнаружили, есть разные ценовые уровни, начиная с бесплатного, которые предлагают больше возможностей по мере продвижения вверх, а корпоративный уровень — самый высокий и дорогой (он дает вам больше всего возможностей, а также их первоклассные услуги поддержки). Управляемый хостинг — это то же самое (хостинг Discourse является формой управляемого хостинга), но также предоставляется другими партнерскими компаниями, такими как Communiteq или Literate Computing. Эти партнерские компании также предлагают различные услуги по разработке и поддержке за плату, помимо хостинга (как и я). Имейте в виду, что работа по разработке и специализированной поддержке обычно не бесплатна, и для этого существует раздел Marketplace. Кроме того, хотя структура цен на хостинг Discourse может показаться вам дорогой, я могу заверить вас, что многие известные компании платят им большие деньги за свои очень крупные, загруженные и хорошо управляемые корпоративные форумы, многие из которых являются частными. SLA и уровни услуг поддержки/разработки, которые предлагает им Discourse, таковы, потому что их бизнес-деятельность этого требует. Если вы технологическая компания и подверглись DDoS-атаке, которая может стоить вашей компании 6 цифр в простое, то оплата корпоративного хостинга того стоит.

Самохостинг означает то, что говорит название — вы размещаете свой собственный сайт на арендованном сервере (или на физическом, которым владеете, что я не рекомендую, потому что это еще одна сложная тема). Самохостинг — это не просто аренда сервера (или VPS — виртуального частного сервера) и вход по SSH, и всё. Для того чтобы быть администратором самохостинга, необходимо обладать определенными знаниями. Начинающий программист, построивший несколько сайтов на Wix, не сможет сделать для вас многого с точки зрения самохостинга Discourse; это совершенно разные вещи и уровень навыков. Тот факт, что вы еще не знаете, что такое SSH, вероятно, указывает на то, что вам нужно подрасти в этой области. SSH — Википедия

Если вам интересно учиться, я бы посоветовал начать с чтения стандартной документации по установке и освоить основы оттуда. Некоторым это дается легче, чем другим, и тот факт, что у вас есть некоторый опыт администрирования сайтов, может помочь вам учиться быстрее. Просто умение заходить на сервер по SSH — это одно, но вы должны чувствовать себя комфортно в командной строке и понимать основы администрирования Docker и как работают контейнеры. Поскольку вы говорите, что у вас небольшой сайт, то стандартная установка, вероятно, подойдет для начала, и она даст вам доступ ко всем встроенным плагинам, а также к любым другим, которые вы захотите добавить; по сути, самохостинг Discourse — это как иметь собственный корпоративный хостинг Discourse, но без их экспертной поддержки, SLA по времени безотказной работы и производительности (например, у вас будет некоторый простой каждый раз при пересборке или обновлении, но хостинг Discourse делает это за вас и без заметного простоя).

Нет никакой причины, по которой вы не можете научиться самохостингу, но помните, что ничего не бывает бесплатно, и то, какие услуги и масштаб вы хотите, будут определять стоимость, которую вам нужно будет заплатить. Некоторые услуги VPS дешевле других, и есть список здесь, который собрал @pfaffman, который может помочь вам принять решение. Например, у меня есть 3 сайта Discourse, все на Hetzner, но с серверами разного размера и соответствующими затратами: 2 сайта — это установки с двумя контейнерами за CDN Cloudflare с объектным хранилищем R2 (совместимым с S3) для загрузок и резервных копий, а другой — стандартная установка, используемая для тестирования. Я использовал DigitalOcean раньше, но он может быть относительно дорогим; однако это рекомендуемая отправная точка для тех, кто изучает стандартные установки (хотя я нахожу Hetzner не таким уж разным, и мне нравится их панель управления).

Если вы не хотите платить Discourse или любой из их партнерских хостинговых компаний за управление вашим хостингом, и вам нужно больше, чем бесплатный уровень, то моя рекомендация — провести некоторые исследования и чтение, а затем попробовать самостоятельную установку. Узнайте, что такое файл app.yml и как его редактировать, как настроить ваш nameserver и почтовые сервисы — это отправная точка для изучения того, как настроить свой собственный экземпляр Discourse как самохостер. Некоторые услуги VPS позволяют арендовать серверы довольно дешево на короткий период просто для тестирования или обучения.

Это довольно неплохая схема, и я согласен со всем, что уже сказали люди выше (хотя я бы настоятельно не рекомендовал новичкам использовать LLM для поддержки, поскольку они очень часто бывают явно неправы). Однако термин «self-hosting» (самостоятельное размещение) является довольно широким, и здесь стоит его уточнить.

Если вы:

  • чувствуете себя уверенно при работе с Linux на собственном оборудовании (или готовы терпеть чтение 15-летних постов на Reddit)
  • не хотите тратить деньги на крупные технологические компании
  • имеете стабильный, гарантированный интернет и электроснабжение 24/7
  • не сталкиваетесь с ограничениями со стороны провайдера (например, закрытые порты 80/443 или динамический IPv4)
  • умеете выполнять базовые сетевые настройки (перенаправление портов)
  • имеете запасной компьютер (это может быть старый офисный ПК с 4 ГБ DDR3, главное, чтобы у вас был SSD)

… то я определенно рекомендую размещать сервисы на собственном оборудовании. Иногда здесь ему приписывают дурную репутацию по причинам, непонятным мне (возможно, из-за вариативности?), но если вы способны с этим справиться, я определенно советую попробовать! Самостоятельное размещение всегда было моим способом организации вещей, и оно было просто отличным, когда я был моложе и не мог позволить себе облачные сервисы. Даже сейчас я выбираю самостоятельное размещение на локальных серверах, потому что это дешево, предсказуемо, и вы свободны делать всё так, как вам хочется.

В самостоятельном размещении есть чему поучиться, и даже если вам удастся успешно установить всё на собственном оборудовании или VPS, перед вами все равно встанет много задач. Вы всегда можете пропустить все эти шаги и выбрать готовый хостинг, но если вы хотите сэкономить, самостоятельное размещение (особенно на собственном оборудовании) — отличный вариант.