サーバーレスディスコース

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 は最近登場し、「Functions as a Service」ではなく、「Serverless Docker」に近いものです。

解決すべき大きな課題は以下の通りだと思います:

  • アップロード可能なファイルは S3 に保存する必要があります。
  • MessageBus は、専用のプッシャー(mercure、pusher.io、ably)を必要とするか、無効化する必要があります。

現在の通知用のロングポーリング設定では、Lambda や Cloud Run がタイムアウトを超えて実行され続け、コスト削減のメリットがすべて失われると想定しています。