So here's what I have for Firebase pros and cons so far:
- Autoscaling built-in
- Can start for free (only need to start paying once we hit 50 connections)
- Robust APIs for Javascript (including several frameworks like Angular), iOS, and Android
- Built-in support for authentication services like Facebook, Google, and Twitter
- Declarative Security Rules model allows us to enforce read/write privileges and data validation throughout the tree
- Need to build indexes manually
- May need to build "event log" manually as well (in separate sub-tree?)
- Implementation of REST API could be difficult on embedded platforms
- Data validation rules do not support complex objects directly (you'd need to validate individual child nodes separately)
- Vendor lock-in - if we need to get all our data into a different platform, how difficult? (just getting an export may not be good enough)
- Cost-comparison to self-hosting in AWS
Nice list. As well as vendor lock in (in terms of data) your client apps would have to be re-written if moving platform.