Welcome to another edition of “Station Wagon Full of Tapes”. In this article I’ve listed things I love about Firestore & things I wish it had. Also, no, this is not an ad.
I stumbled upon Google Cloud’s offering of Firestore several months back when I was in the market for a quick storage solution for a web application. It has been around (GA’d early 2019) — however, the integration with Google Cloud dashboards seems to be maturing fairly recently.
The reasons for using Firestore are more obvious if you are a mobile application developer. Most of the targeted content is built with examples for that. However, there is, as far as I can tell, no reason why not to use Firestore as a good starting point for a web application that needs document based storage.
What I love about Firestore;
Fair pricing + free quota; this is of course limited to my experience so far in which the number of reads and writes are not anywhere close to what the pricing targets are. 50,000 documents per day for reads, 20,000 documents per day for writes.
Intuitive Go client library; as expected from Google they did a great job on this one. The APIs are very intuitive; and match the Go language’s principles. Sometimes client libraries are just wrappers around the core common API of the tool — this is not the case for the Go client library.
Secrets managed if you are also using App Engine; this is more about Google Cloud integrating well with their other offerings, however it is still nice to not worry about this when you are trying to move fast and build a quick prototype.
What is missing;
Automatic backups; you can in fact export the documents, manually. If you are in the mood you can also investigate a way to create cron jobs to trigger these exports, which makes it more odd that it is not available as a feature, by default.
Testing targets; just use the production DB version on your development, or you know, actually have a testing target to use instead. This is another feature that should be a click of a button. One could go in, create another instance and only use it for testing, however why make customers go through those steps instead of just offering a mirrored testing target.
It is the season of giving thanks, and what better way than actually writing it down to show your appreciation for a utility that helps you do things faster and better.
Thank you for reading “Station Wagon Full of Tapes”.