* When it works, it works. We're processing ~100 msg/s in prod right now, for pennies
Cons:
* Only US-Central region support (no cross region)
* Your function runs as Admin (root) in it's project
* Your function must be deployed to the same project as other assets (e.g. can't listen to GCS or PubSub events cross project)
* No way to pass configs/params to a function (it's all gotta be in the code, including secrets)
* Very limited retry semantics (brute force, retry forever)
* No integration with Cloud Endpoints or APIgee, so every HTTP event driven function gets new unique URL
* Building on above, all HTTP endpoints will be public, no auth
* Slow deployments - e.g. took me 45min today to deploy 8 functions
There are other pitfalls as it can connect to your Google Cloud SQL without opening it up to the public as it is not in the same network and there is a limit of a 1000 functions deployed.
But the developer experience is in top compared to how it is to deploy a http reachable endpoint on Amazon Lambda!
Here is a Codelab to get you started and I believe you'll see how it can reduce your development time dramatically...
CodeLab: Cloud Functions for Firebase
https://codelabs.developers.google.com/codelabs/firebase-clo...