Serverless Discourse

I am quite new to this buzzword “serverless”.

All that I understand is that at minimum you need one server for any deployment. In serverless you just don’t have to manage the server side of things and only focus on code development.

Since Discourse is a SaaS, I wanted to know if it’s possible for Discourse to be run as serverless application?

Like on AWS Lambda? If yes what are the benefits over running on normal instances.
performance? bandwidth? cost?

Serverless just means “running on someone else’s server”. Kind of like calling takeout kitchenless.

In this case what serverless means is that you as the application owner don’t need to think about the server - the first example that comes to mind is probably Google App Engine.

While it may be possible with a lot of effort, Discourse isn’t expected to run this way and we don’t support it.

Мне это интересно, но, возможно, потребуется много работы.

Недавно вышел Google Cloud Run: это не столько «Функции как услуга», сколько «Бессерверный Docker».

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

  • Загрузки нужно перенести в S3.
  • MessageBus требует выделенного пуш-сервиса (Mercure, Pusher.io, Ably) или его нужно отключить.

Я предполагаю, что текущая настройка long polling для уведомлений будет удерживать ваши Lambda-функции или Cloud Run-контейнеры запущенными сверх лимитов времени выполнения, сводя на нет всю экономию на счетах.