| Totally hear you on the death by a thousand tiny cuts :( GCS provides multi-part and resumable uploads (https://cloud.google.com/storage/docs/json_api/v1/how-tos/up...), though I agree that the docs make it hard to find given how deeply they are nested. We use resumable uploads in Firebase Storage (mobile GCS: firebase.google.com/docs/storage) to great effect, and routinely upload some pretty huge files with no problems. Definitely hear you on autogenerated libs sucking: the gcloud-* libs are designed to address some of those issues. gcloud-golang is still under development (https://github.com/googlecloudplatform/gcloud-golang), but might be a good place to start. GCP is working to address a number of permissions issues with Cloud IAM (https://cloud.google.com/iam), which will provide more fine grained control over resources. I believe Cloud PubSub already uses this model. Firebase (which shares certain services with GCP) has free developer support (firebase.google.com/support), and as you can imagine, we're inundated with questions and have two teams working 24/7 to address them. Free developer support is a great thing for developers, but providing high quality support at Google scale is probably the hardest thing to do--people just don't scale the same way machines do. That's why so many of us are active on social media/HN/etc., we want to talk directly to developers and get feedback so we can improve our products, but we typically aim for high quality feedback (like this, thank you :), where we can engage with savvy developers to solve their problems, or at least get actionable feedback to guide our roadmap (x is a bad experience, have you considered y and z which would save me n hours). Ideally, this feedback trickles down into all areas of the product, and even across products (when it comes to permissions, console changes, docs, etc.), though it can take some time to implement those changes. (Disclosure: PM on Firebase, and work closely with Cloud) |