Based on my experience with Firebase, it doesn't reduce complexity; it just shifts it around and adds extra costs (both financial and performance costs) to your system. For any serious app, you still need to have a backend server on the side and your Firebase service often becomes bloated and inefficient. Sometimes you want to store the Firebase data inside your main DB as well and so you end up with two sources of t…
The approach Firebase takes can be summarized as, "make the 90% use cases simple, and make the complicated 10% possible." Tradeoffs are a core engineering concept, so I think this comes as no surprise to seasoned engineers (the more cynical ones often phrase the question as "what's the catch"). By partnering with Google Cloud Platform, we're working to make the complicated 10% much easier (tradeoff here is lower cost…
That's not what we have experienced while using Firebase for the last year.
I have no complaints about storage, but the database is so limited that most projects will become impractical or simply impossible for a number of reasons:
1) No remotely decent querying capabilities
2) No search capabilities other than building your own or relying on third party like Elastic
3) No way to reference data, make joins, etc, like Rethink, Mongo, Arango, or others have.
I'd say the vast majority of projects will need one or more of those points which really doesn't fit into your statement.