HNHacker News
TopNewBestAskShowJobs

sagadotworld

130 karma · joined July 28, 2016

submissionscomments
sagadotworld··on Cloud Firestore: A New Document Database for Apps
The cost is actually less than what we would be paying if we rented dedicated servers. I think the reputation for clouds being expensive comes from people running compute instances 24/7. However, you don't run any compute instances on Firebase. You only pay for operations (read, write, function executions, etc.), and if you structure your app to avoid operations (i.e. through caching), you end up paying very little.
sagadotworld··on Cloud Firestore: A New Document Database for Apps
React is used on the frontend. It maps very well to Firestore - each component listens to one document.
sagadotworld··on Cloud Firestore: A New Document Database for Apps
Yes, as a data point, the other tracker apps are only now beginning to add exchange API integration, while we were able to develop and launch this feature over a month ago.

While I like self hosting (was previously a RethinkDB user), from a business perspective, it doesn’t make sense to spend time on operations if it doesn’t give you a competitive advantage. It’s going to be very difficult to outpace a business that only has to focus on development versus one that has to do development and operations.

sagadotworld··on Cloud Firestore: A New Document Database for Apps
We run entirely on Firebase with Auth, Storage, Hosting, Firestore, and Cloud Functions. As a result, we actually don't have any backend to manage.
sagadotworld··on Cloud Firestore: A New Document Database for Apps
We're one of the startups shown in the announcement (Crypto Portfolio Tracker [1] - bottom right logo). Firestore enabled us to build the first version of our app in under a week. We've been using the product for over two months now, and it's given us a competitive edge in being able to develop features rapidly and not having to spend time on operations.

One of the things we liked about Firestore is that it takes the best practices of Realtime Database and makes them more explicit. Before, your RD database structure would look like `collection/{id}` and `collection_sub_collection/{id}/{sub_id}` in order to avoid loading sub-collections in top-level queries. With Firestore, this collections pattern is now part of the API itself, and sub-collections aren't fetched when the parent is fetched.

Another feature we liked is that transactions are no longer limited to a subtree of your database. Before, you would have to structure all of your transactional data under a single path. This would sometimes lead to having to pile-in unrelated data into a single object, such as adding payment data under a users object instead of a separate collection, so that you could atomically modify both user and payment data. With Firestore, transactions are global, so this isn't a concern anymore - we are free to structure our data in any way that makes sense for our app.

Overall, we had a great experience with Firestore during the alpha, and we'll definitely be keeping it as part of our technology stack. Congrats on the launch!

(disclaimer: this post isn't sponsored by Firebase)

[1] https://cryptoportfoliotracker.com

sagadotworld··on Extending per-second billing in Google Cloud
He said it used to be 10 minutes.

(disclosure: The cake is a lie)