I am considering Firebase and Google Cloud Platform as the backbone infrastructure for my startup. My goal is to build the infrastructure for a web/mobile app on the Firebase platform to get to market as fast as possible.
I am trying to evaluation smart usage of Firebase in my stack in the following context:
Organizations, companies, and or individuals will sign-up to use my app. They will have custom content and product listing managed through a Dashboard area in my app. Their customers will also have accounts dashboards to track the status of their orders, etc.
Consideration:
- I need real-time content and per-user activity feeds/notifications. It would appear I can use Firebase to deliver presence functionality and basically skip playing with web sockets entirely (?).
- Example: Users can have notification and action feed synchronized and brokered through Firebase (?). I like the integration with Google Cloud Messaging (for offline users and device notifications). Does Firebase have solutions to handle offline vs. online presence solutions to handle the per-user notification differently?
- Example: Users viewing a current listing of feed/posts on screen can review real-time updates as those change and comments are added. I could potential subscribe/unsubscribe to a listing of posts as the user scrolls (?). How efficient is that in Firebase?
- Users pools and groups will need to be established with varying permissions. Can Firebase Auth handle this efficiently? What's the best way to handle RBAC on Firebase?
- Is it advisable to create a separate database per customer? Is there anyway to provision Firebase projects and database from my code pipeline or using an API? Say like XYZ signs up and I create them a database and charge them for the resources they use independently.
- Considering scenarios to have our service as a Google Cloud Platform ad on for more advanced customer. Anyone have war stories with this?
Any suggestion and or advice would be appreciated.
Regards,