bluesky-social / feed-generator

ATProto Feed Generator Starter Kit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Serverless architecture + multi-tenancy

eric-burel opened this issue · comments

Hi,
I've been playing around the generator and I must admit I haven't been that enthusiastic about technology in a while.

The architecture is simple to host on a traditional server, however it would be interesting to evaluate a serverless alternative:

  • for indexing posts in the database, a serverless database could scale better for storing burst of posts on a specific topic
  • for getting the feed, a serverless server to run the feed computation algorithm + a serverless database could react to spike of demands
  • it makes it easier to handle multi-tenancy, if you want to host feeds created by non tech-savvy users

I plan to investigate relying on Vercel architecture specifically, which I know as a Next.js dev and that seems to provides all the required primitives (KV database, serverless hosting, API for a multi-tenant system).

However the part that I don't fully grasp yet is the websocket that receives the hose. Is it doable to have a serverless consumer? Or maybe I need a "serverful" architecture just for this part? It's not doing intensive work so that could do as long as we move the database + the feed algorithm to serverless.

Some services seem to offer stateful serverless systems that could work with websockets: https://sunilpai.dev/posts/the-future-of-serverless/