4 ms·
I've been using Firebase since 2016 in production and after all these years I find the service quite lacking. Both databases are super limited and put all the
by pier25 6y ago
I've been using Firebase since 2016 in production and after all these years I find the service quite lacking.
Both databases are super limited and put all the burden of work to the client(s) for anything beyond very simple queries.
The functions have some of the worst cold starts I've experienced. Until very recently the dev experience was terrible but Firebase local dev was released a couple of days ago so this should be solved.
As for alternatives, AFAIK there is nothing that replicates the whole platform but there are better options for the individual parts.
- FaunaDB instead of Firestore.
- Vercel for edge static hosting + cloud functions.
- Netlify for everything except the databases
Etc.
- davidb_ 6y agoFWIW, the cold start issue (which was hitting me with regular 10-30+ second delays for even the simplest of functions) has recently been "fixed" (at least, I'm down to <1-2 second cold starts). The specific issue I was running into: https://github.com/googleapis/google-cloud-node/issues/2942 https://github.com/googleapis/google-cloud-node/issues/2942
- pier25 6y agoCheck this benchmark: https://serverless-benchmark.com/ https://serverless-benchmark.com/ It displays data from the last 3 days of tests. Google Cloud has a max peak of 60 seconds for cold starts. It's the second worst after Azure.
- Havoc 6y agoWow that is pretty bleak actually. 500ms+ in a world where edge cached serves at 5ms def means one needs to deploy these strategically only
- tlarkworthy 6y agoThats an amazing benchmark. Though you have to fiddle with the concurrency parameter to see that some of the slowness is caused by scaling.
- pier25 6y agoOTOH cold starts are calculated with a concurrency of only 10. The point of using serverless is handling massive traffic spikes efficiently and cheaply but 10 concurrent connections doesn't seem very massive. Cloudflare Workers are doing much better than the rest in this respect (see the max value, the graph is misleading) but these have serious limitations (eg: max 50ms of CPU time). This makes them a bad fit for most situations. In my current project which requires lowest possible latency I'm having more success with Fly.io. Instead of having cloud functions you create docker images which are distributed on their regions and scale up/down based on demand on that region. https://fly.io/ https://fly.io/
- tlarkworthy 6y agoThat's like cloud run which I also prefer. I'll try fly it looks like an even better fit
- xenospn 6y agoI'm still getting regular 15-20 second cold starts.
- ElFitz 6y agoHave you checked Amplify? Haven't had the chance to really do anything with it yet, but I've heard quite a lot of good from a few people.