0

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:

  1. Better and more reliable authentication, including other sources of authentication.
  2. Reduce the chances of errors on the backend and no more backend maintainance
  3. Real-time capabilities with no extra code
  4. Easy integration in the future when developing a mobile app
  5. Potentially, bindings to analytics and push services in the near future.

And the reasons I can think for not using a BaaS are basically:

  1. I would be tied to their service and migrating from them will be painful
  2. Lack of control over the backend, with potential security risks, downtime, and flexibility issues.
  3. The app would rely heavily on the frontend code to parse the data and would be more vulnerable to XSS.
  4. 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)?

  • 1
    It's unclear from your question why your existing application is difficult to maintain. – Robert Harvey Jun 8 '16 at 17:26
  • Bug fixes, adding new endpoints/queries, ensuring that it's secure, etc. It's just easier get someone to handle the backend for you – JayC Jun 8 '16 at 19:26
2

You could also go for the middle ground here: use Parse Server + Parse Dashboard. You'll need to get familiar with it to set it up, but it's battle proven, and has many of the features you want:

  • Maintained by Facebook for a very long time, and they're pretty good at authentication
  • It's open source, has a large community, and follows semver, so should be reliable and once set up relatively low maintenance
  • Not sure about real-time, but as you can hook it in as an Express module, and uses MongoDB as a back-end, there are surely plenty of options.
  • Parse was built for mobile apps, and has support for push-messages etc.

Take a look at the server, turn-key dashboard and some background info on how the product got here: Introducing Parse Server and the Database Migration Tool

  • Sounds like a good option, hosting your own "BaaS". I guess it stops being a BaaS but you get some of the good stuff. I'll do some research into it, thanks for the links! – JayC Jun 9 '16 at 20:07
  • Maybe recommending Parse is a bad idea since Parse hosted service is being shut down? parse.com/migration – wasatz Jun 10 '16 at 12:39
  • In the end I'll be sticking with my own backend. I was looking at Parse Server and it works really well, so it's the best option to follow if I had no backend or my backend was a complete disaster. But preparing Parse Server to have all the same features as my backend and migrating the data would cost me more than just sticking with what I already have. – JayC Jun 29 '16 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.