You trade these things to get scale out:
- SQL joins and queries regardless of your schema.
- Enforcing public interfaces for reads/writes.
- Zero latency for admin operations.
- Global transactions.
- Auth logic written directly in your language, running where your data is.
The trade is not worth it if you do not use the scale out feature of Firestore.
I would just go with HTTP/websockets, typed language, SQLite and a single VM until you prove you need to scale out.
You trade these things to get scale out:
- SQL joins and queries regardless of your schema.
- Enforcing public interfaces for reads/writes.
- Zero latency for admin operations.
- Global transactions.
- Auth logic written directly in your language, running where your data is.
The trade is not worth it if you do not use the scale out feature of Firestore.
I would just go with HTTP/websockets, typed language, SQLite and a single VM until you prove you need to scale out.