3 ms·
(I work at Google on Cloud Storage.) Developers working with cloud storage APIs generally need to get used to the idea that not everything is going to work all
by rossjudson 6y ago
(I work at Google on Cloud Storage.)
Developers working with cloud storage APIs generally need to get used to the idea that not everything is going to work all of the time. Retries and proper status code/error handling are critical to making your application work properly in real-world conditions, and as "events" occur. Every major cloud storage provider has circumstances under which developers must retry to create reliable applications; Backblaze is no different. For GCS, we document truncated exponential backoff as the preferred strategy [1].
Google has its Global Service Load Balancer (GSLB) [2], which handles...let's just say an enormous amount of traffic. GSLB is just part of the ecosystem at Google.
It's hard to design a storage system that's "all things to all people"! There are a series of tradeoffs that need to be made. Backblaze optimizes for keeping storage costs as low as possible for large objects. There are other dimensions that customers are willing to pay for.
[1] https://cloud.google.com/storage/docs/exponential-backoff https://cloud.google.com/storage/docs/exponential-backoff
[2] https://landing.google.com/sre/sre-book/chapters/production-environment/ https://landing.google.com/sre/sre-book/chapters/production-...