I currently have a web application running with my own backend, but maintaining it is becoming a bit painful so I was considering the option of using an existing BaaS (Firebase).
The main problems I want to resolve by using Firebase are:
- Better and more reliable authentication, including other sources of authentication.
- Reduce the chances of errors on the backend and no more backend maintainance
- Real-time capabilities with no extra code
- Easy integration in the future when developing a mobile app
- Potentially, bindings to analytics and push services in the near future.
And the reasons I can think for not using a BaaS are basically:
- I would be tied to their service and migrating from them will be painful
- Lack of control over the backend, with potential security risks, downtime, and flexibility issues.
- The app would rely heavily on the frontend code to parse the data and would be more vulnerable to XSS.
- It's not clear how to implement CORS rules, they rely heavily on the DB rules which doesn't stop people from creating apps/scripts they can hook up on my backend.
That said, I will still need a backend for server rendering, managing transactional email and payment/subscriptions, and other things like that.
What would you recommend, improving the current backend or moving to Firebase (or any other BaaS)?